MediaSessionStatus
public final class 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 Builder instance.
Summary
Nested types |
|---|
public final class MediaSessionStatus.BuilderBuilder for |
Constants |
|
|---|---|
static final int |
Session state: Active. |
static final int |
Session state: Ended. |
static final int |
Session state: Invalidated. |
Public methods |
|
|---|---|
@NonNull Bundle |
asBundle()Converts this object to a bundle for serialization. |
static @Nullable MediaSessionStatus |
fromBundle(@Nullable Bundle bundle)Creates an instance from a bundle. |
@Nullable Bundle |
Gets a bundle of extras for this status object. |
int |
Gets the session state. |
long |
Gets the timestamp associated with the status information in milliseconds since boot in the |
boolean |
Returns true if the session's queue is paused. |
@NonNull String |
toString() |
Constants
SESSION_STATE_ACTIVE
public static final int SESSION_STATE_ACTIVE = 0
Session state: Active.
Indicates that the media session is active and in control of the route.
SESSION_STATE_ENDED
public static final int SESSION_STATE_ENDED = 1
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.
SESSION_STATE_INVALIDATED
public static final int SESSION_STATE_INVALIDATED = 2
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.
Public methods
asBundle
public @NonNull Bundle asBundle()
Converts this object to a bundle for serialization.
fromBundle
public static @Nullable MediaSessionStatus fromBundle(@Nullable Bundle bundle)
Creates an instance from a bundle.
| Returns | |
|---|---|
@Nullable MediaSessionStatus |
The new instance, or null if the bundle was null. |
getExtras
public @Nullable 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.
getSessionState
public int getSessionState()
Gets the session state.
| Returns | |
|---|---|
int |
The session state. One of |
getTimestamp
public long getTimestamp()
Gets the timestamp associated with the status information in milliseconds since boot in the elapsedRealtime time base.
| Returns | |
|---|---|
long |
The status timestamp in the |
isQueuePaused
public boolean isQueuePaused()
Returns true if the session's queue is paused.
| Returns | |
|---|---|
boolean |
True if the session's queue is paused. |