public final class LibraryResult<V> implements Bundleable


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

Summary

Nested types

@Documented
@Retention(value = RetentionPolicy.SOURCE)
@Target(value = TYPE_USE)
@IntDef(value = )
public annotation LibraryResult.Code

Result codes.

Constants

static final Bundleable.Creator<LibraryResult<MediaItem>>

This field is deprecated.

Use fromItemBundle instead.

static final Bundleable.Creator<LibraryResult<ImmutableList<MediaItem>>>

This field is deprecated.

Use fromItemListBundle instead.

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.

static final Bundleable.Creator<LibraryResult<Object>>

This field is deprecated.

Use fromUnknownBundle instead.

static final Bundleable.Creator<LibraryResult<Void>>

This field is deprecated.

Use fromVoidBundle instead.

Public fields

final long

The completion time of the command in milliseconds.

final @Nullable MediaLibraryService.LibraryParams

The optional parameters.

final int

The Code of this result.

final @Nullable V

The value of this result.

Public methods

static LibraryResult<MediaItem>

Restores a LibraryResult<MediaItem> from a Bundle.

static LibraryResult<ImmutableList<MediaItem>>

Restores a LibraryResult<ImmutableList<MediaItem> from a Bundle.

static LibraryResult<Object>

Restores a LibraryResult with unknown value type from a Bundle.

static LibraryResult<Void>

Restores a LibraryResult<Void> from a Bundle.

static LibraryResult<V>
<V> ofError(@LibraryResult.Code int errorCode)

Creates an instance with an unsuccessful result code.

static LibraryResult<V>
<V> ofError(
    @LibraryResult.Code int errorCode,
    @Nullable MediaLibraryService.LibraryParams params
)

Creates an instance with an unsuccessful result code and LibraryParams to describe the error.

static LibraryResult<MediaItem>

Creates an instance with a media item and resultCode==RESULT_SUCCESS.

static LibraryResult<ImmutableList<MediaItem>>

Creates an instance with a list of media items and resultCode==RESULT_SUCCESS.

static LibraryResult<Void>

Creates an instance with resultCode==RESULT_SUCCESS.

static LibraryResult<Void>

Creates an instance with resultCode==RESULT_SUCCESS and optional params.

Bundle

Returns a Bundle representing the information stored in this object.

Constants

ITEM_CREATOR

@UnstableApi
public static final Bundleable.Creator<LibraryResult<MediaItem>> ITEM_CREATOR

Object that can restore a LibraryResult<MediaItem> from a Bundle.

ITEM_LIST_CREATOR

@UnstableApi
public static final Bundleable.Creator<LibraryResult<ImmutableList<MediaItem>>> ITEM_LIST_CREATOR

Object that can restore a LibraryResult<ImmutableList<MediaItem> from a Bundle.

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 MediaSessionCompat or .

UNKNOWN_TYPE_CREATOR

@UnstableApi
public static final Bundleable.Creator<LibraryResult<Object>> UNKNOWN_TYPE_CREATOR

Object that can restore a LibraryResult with unknown value type from a Bundle.

VOID_CREATOR

@UnstableApi
public static final Bundleable.Creator<LibraryResult<Void>> VOID_CREATOR

Object that can restore a LibraryResult<Void> from a Bundle.

Public fields

completionTimeMs

public final long completionTimeMs

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

params

public final @Nullable MediaLibraryService.LibraryParams params

The optional parameters.

resultCode

@LibraryResult.Code
public final int resultCode

The Code of this result.

value

public final @Nullablevalue

The value of this result. Will be null if resultCode is not RESULT_SUCCESS.

Public methods

fromItemBundle

@UnstableApi
public static LibraryResult<MediaItemfromItemBundle(Bundle bundle)

Restores a LibraryResult<MediaItem> from a Bundle.

fromItemListBundle

@UnstableApi
public static LibraryResult<ImmutableList<MediaItem>> fromItemListBundle(Bundle bundle)

Restores a LibraryResult<ImmutableList<MediaItem> from a Bundle.

fromUnknownBundle

@UnstableApi
public static LibraryResult<ObjectfromUnknownBundle(Bundle bundle)

Restores a LibraryResult with unknown value type from a Bundle.

fromVoidBundle

@UnstableApi
public static LibraryResult<VoidfromVoidBundle(Bundle bundle)

Restores a LibraryResult<Void> from a Bundle.

ofError

public static LibraryResult<V> <V> ofError(@LibraryResult.Code int errorCode)

Creates an instance with an unsuccessful result code.

errorCode must not be RESULT_SUCCESS.

Parameters
@LibraryResult.Code int errorCode

The error code.

ofError

public static LibraryResult<V> <V> ofError(
    @LibraryResult.Code int errorCode,
    @Nullable MediaLibraryService.LibraryParams params
)

Creates an instance with an unsuccessful result code and LibraryParams to describe the error.

errorCode must not be RESULT_SUCCESS.

Parameters
@LibraryResult.Code int errorCode

The error code.

@Nullable MediaLibraryService.LibraryParams params

The optional parameters to describe the error.

ofItem

public static LibraryResult<MediaItemofItem(
    MediaItem item,
    @Nullable MediaLibraryService.LibraryParams params
)

Creates an instance with a media item and resultCode==RESULT_SUCCESS.

The mediaMetadata must specify isBrowsable and isPlayable fields.

Parameters
MediaItem item

The media item.

@Nullable MediaLibraryService.LibraryParams params

The optional parameters to describe the media item.

ofItemList

public static LibraryResult<ImmutableList<MediaItem>> ofItemList(
    List<MediaItem> items,
    @Nullable MediaLibraryService.LibraryParams params
)

Creates an instance with a list of media items and resultCode==RESULT_SUCCESS.

The mediaMetadata of each item in the list must specify isBrowsable and isPlayable fields.

Parameters
List<MediaItem> items

The list of media items.

@Nullable MediaLibraryService.LibraryParams params

The optional parameters to describe the list of media items.

ofVoid

public static LibraryResult<VoidofVoid()

Creates an instance with resultCode==RESULT_SUCCESS.

ofVoid

public static LibraryResult<VoidofVoid(@Nullable MediaLibraryService.LibraryParams params)

Creates an instance with resultCode==RESULT_SUCCESS and optional params.

toBundle

@UnstableApi
public Bundle toBundle()

Returns a Bundle representing the information stored in this object.