public final class SessionResult


A result to be used with ListenableFuture for asynchronous calls between and MediaController.

Summary

Nested types

@Documented
@Retention(value = RetentionPolicy.SOURCE)
@Target(value = TYPE_USE)
@IntDef(value = [SessionError.INFO_CANCELLED, SessionError.ERROR_UNKNOWN, SessionError.ERROR_INVALID_STATE, SessionError.ERROR_BAD_VALUE, SessionError.ERROR_PERMISSION_DENIED, SessionError.ERROR_IO, SessionError.ERROR_SESSION_DISCONNECTED, SessionError.ERROR_NOT_SUPPORTED, SessionError.ERROR_SESSION_AUTHENTICATION_EXPIRED, SessionError.ERROR_SESSION_PREMIUM_ACCOUNT_REQUIRED, SessionError.ERROR_SESSION_CONCURRENT_STREAM_LIMIT, SessionError.ERROR_SESSION_PARENTAL_CONTROL_RESTRICTED, SessionError.ERROR_SESSION_NOT_AVAILABLE_IN_REGION, SessionError.ERROR_SESSION_SKIP_LIMIT_REACHED, SessionError.ERROR_SESSION_SETUP_REQUIRED])
public annotation SessionResult.Code

Result codes.

Constants

static final int

Result code representing that an argument is illegal.

static final int

Result code representing that the command cannot be completed because the current state is not valid for the command.

static final int

Result code representing that a file or network related error happened.

static final int

Result code representing that the command is not supported.

static final int

Result code representing that the command is not allowed.

static final int

Result code representing that the authentication has expired.

static final int

Result code representing that too many concurrent streams are detected.

static final int

Result code representing that the session and controller were disconnected.

static final int

Result code representing that the content is blocked due to being regionally unavailable.

static final int

Result code representing that the content is blocked due to parental controls.

static final int

Result code representing that a premium account is required.

static final int

Result code representing that the session needs user's manual intervention.

static final int

Result code representing that the application cannot skip any more because the skip limit is reached.

static final int

Result code representing that the command is ended with an unknown error.

static final int

Result code representing that the command is skipped.

static final int

Result code representing that the command is successfully completed.

Public fields

final long

The completion time of the command.

final Bundle

The extra Bundle for the result.

final int

The Code of this result.

final @Nullable SessionError

The optional session error.

Public constructors

Creates an instance with a result code.

Creates an instance from a SessionError.

SessionResult(@SessionResult.Code int resultCode, Bundle extras)

Creates an instance with a result code and an extra Bundle.

@UnstableApi
SessionResult(SessionError sessionError, Bundle extras)

Creates an instance from a SessionError and an extras Bundle.

Public methods

static SessionResult

Restores a SessionResult from a Bundle.

Bundle

Constants

RESULT_ERROR_BAD_VALUE

public static final int RESULT_ERROR_BAD_VALUE = -3

Result code representing that an argument is illegal.

RESULT_ERROR_INVALID_STATE

public static final int RESULT_ERROR_INVALID_STATE = -2

Result code representing that the command cannot be completed because the current state is not valid for the command.

RESULT_ERROR_IO

public static final int RESULT_ERROR_IO = -5

Result code representing that a file or network related error happened.

RESULT_ERROR_NOT_SUPPORTED

public static final int RESULT_ERROR_NOT_SUPPORTED = -6

Result code representing that the command is not supported.

RESULT_ERROR_PERMISSION_DENIED

public static final int RESULT_ERROR_PERMISSION_DENIED = -4

Result code representing that the command is not allowed.

RESULT_ERROR_SESSION_AUTHENTICATION_EXPIRED

public static final int RESULT_ERROR_SESSION_AUTHENTICATION_EXPIRED = -102

Result code representing that the authentication has expired.

RESULT_ERROR_SESSION_CONCURRENT_STREAM_LIMIT

public static final int RESULT_ERROR_SESSION_CONCURRENT_STREAM_LIMIT = -104

Result code representing that too many concurrent streams are detected.

RESULT_ERROR_SESSION_DISCONNECTED

public static final int RESULT_ERROR_SESSION_DISCONNECTED = -100

Result code representing that the session and controller were disconnected.

RESULT_ERROR_SESSION_NOT_AVAILABLE_IN_REGION

public static final int RESULT_ERROR_SESSION_NOT_AVAILABLE_IN_REGION = -106

Result code representing that the content is blocked due to being regionally unavailable.

RESULT_ERROR_SESSION_PARENTAL_CONTROL_RESTRICTED

public static final int RESULT_ERROR_SESSION_PARENTAL_CONTROL_RESTRICTED = -105

Result code representing that the content is blocked due to parental controls.

RESULT_ERROR_SESSION_PREMIUM_ACCOUNT_REQUIRED

public static final int RESULT_ERROR_SESSION_PREMIUM_ACCOUNT_REQUIRED = -103

Result code representing that a premium account is required.

RESULT_ERROR_SESSION_SETUP_REQUIRED

public static final int RESULT_ERROR_SESSION_SETUP_REQUIRED = -108

Result code representing that the session needs user's manual intervention.

RESULT_ERROR_SESSION_SKIP_LIMIT_REACHED

public static final int RESULT_ERROR_SESSION_SKIP_LIMIT_REACHED = -107

Result code representing that the application cannot skip any more because the skip limit is reached.

RESULT_ERROR_UNKNOWN

public static final int RESULT_ERROR_UNKNOWN = -1

Result code representing that the command is ended with an unknown error.

RESULT_INFO_SKIPPED

public static final int RESULT_INFO_SKIPPED = 1

Result code representing that the command is skipped.

RESULT_SUCCESS

public static final int RESULT_SUCCESS = 0

Result code representing that the command is successfully completed.

Interoperability: This code is also used to tell that the command was successfully sent, but the result is unknown when connected with android.support.v4.media.session.MediaSessionCompat or android.support.v4.media.session.MediaControllerCompat.

Public fields

completionTimeMs

public final long completionTimeMs

The completion time of the command. It's the same as elapsedRealtime when the command is completed.

extras

public final Bundle extras

The extra Bundle for the result.

resultCode

@SessionResult.Code
public final int resultCode

The Code of this result.

sessionError

@UnstableApi
public final @Nullable SessionError sessionError

The optional session error.

Public constructors

SessionResult

public SessionResult(@SessionResult.Code int resultCode)

Creates an instance with a result code.

Note: Use SessionResult for errors to provide a localized error message for your users.

Parameters
@SessionResult.Code int resultCode

The result code.

SessionResult

@UnstableApi
public SessionResult(SessionError sessionError)

Creates an instance from a SessionError. The resultCode is taken from code and the session result extras Bundle is empty.

Parameters
SessionError sessionError

The session error.

SessionResult

public SessionResult(@SessionResult.Code int resultCode, Bundle extras)

Creates an instance with a result code and an extra Bundle.

Note: Use SessionResult for errors to provide a localized error message for your users.

Parameters
@SessionResult.Code int resultCode

The result code.

Bundle extras

The extra Bundle.

SessionResult

@UnstableApi
public SessionResult(SessionError sessionError, Bundle extras)

Creates an instance from a SessionError and an extras Bundle. The resultCode is taken from the SessionError.

Parameters
SessionError sessionError

The SessionError.

Bundle extras

The extra Bundle.

Public methods

fromBundle

@UnstableApi
public static SessionResult fromBundle(Bundle bundle)

Restores a SessionResult from a Bundle.

toBundle

@UnstableApi
public Bundle toBundle()