Save the date! Android Dev Summit is coming to Mountain View, CA on November 7-8, 2018.

belongs to Maven artifact androidx.mediarouter:mediarouter:1.0.0-alpha5

MediaSessionStatus

public final class MediaSessionStatus
extends Object

java.lang.Object
   ↳ androidx.mediarouter.media.MediaSessionStatus


Describes the playback status of a media session.

This class is part of the remote playback protocol described by the MediaControlIntent class.

When a media session is created, it is initially in the active state. When the media session ends normally, it transitions to the ended state. If the media session is invalidated due to another session forcibly taking control of the route, then it transitions to the invalidated state. Refer to the documentation of each state for an explanation of its meaning.

To monitor session status, the application should supply a PendingIntent to use as the session status update receiver for a given session start request.

This object is immutable once created using a MediaSessionStatus.Builder instance.

Summary

Nested classes

class MediaSessionStatus.Builder

Builder for media session status objects

Constants

int SESSION_STATE_ACTIVE

Session state: Active.

int SESSION_STATE_ENDED

Session state: Ended.

int SESSION_STATE_INVALIDATED

Session state: Invalidated.

Public methods

Bundle asBundle()

Converts this object to a bundle for serialization.

static MediaSessionStatus fromBundle(Bundle bundle)

Creates an instance from a bundle.

Bundle getExtras()

Gets a bundle of extras for this status object.

int getSessionState()

Gets the session state.

long getTimestamp()

Gets the timestamp associated with the status information in milliseconds since boot in the SystemClock.elapsedRealtime() time base.

boolean isQueuePaused()

Returns true if the session's queue is paused.

String toString()

Inherited methods

Constants

SESSION_STATE_ACTIVE

public static final int SESSION_STATE_ACTIVE

Session state: Active.

Indicates that the media session is active and in control of the route.

Constant Value: 0 (0x00000000)

SESSION_STATE_ENDED

public static final int SESSION_STATE_ENDED

Session state: Ended.

Indicates that the media session was ended normally using the end session action.

A terminated media session cannot be used anymore. To play more media, the application must start a new session.

Constant Value: 1 (0x00000001)

SESSION_STATE_INVALIDATED

public static final int SESSION_STATE_INVALIDATED

Session state: Invalidated.

Indicates that the media session was invalidated involuntarily due to another session taking control of the route.

An invalidated media session cannot be used anymore. To play more media, the application must start a new session.

Constant Value: 2 (0x00000002)

Public methods

asBundle

public Bundle asBundle ()

Converts this object to a bundle for serialization.

Returns
Bundle The contents of the object represented as a bundle.

fromBundle

public static MediaSessionStatus fromBundle (Bundle bundle)

Creates an instance from a bundle.

Parameters
bundle Bundle: The bundle, or null if none.

Returns
MediaSessionStatus The new instance, or null if the bundle was null.

getExtras

public Bundle getExtras ()

Gets a bundle of extras for this status object. The extras will be ignored by the media router but they may be used by applications.

Returns
Bundle

getSessionState

public int getSessionState ()

Gets the session state.

Returns
int The session state. One of SESSION_STATE_ACTIVE, SESSION_STATE_ENDED, or SESSION_STATE_INVALIDATED.

getTimestamp

public long getTimestamp ()

Gets the timestamp associated with the status information in milliseconds since boot in the SystemClock.elapsedRealtime() time base.

Returns
long The status timestamp in the SystemClock.elapsedRealtime() time base.

isQueuePaused

public boolean isQueuePaused ()

Returns true if the session's queue is paused.

Returns
boolean True if the session's queue is paused.

toString

public String toString ()

Returns
String