ItemSourceClient

@IviExperimental(reasons = [])
class ItemSourceClient(context: Context, sourceId: SourceId, val mediaItem: IviMediaItem, coroutineDispatcher: CoroutineDispatcher = Options.mediaCoroutineDispatcher) : SourceClient

A SourceClient specialization oriented towards showing the contents of a single media item.

Targets a single media item by getting its contents, and keeps them up to date.

Parameters

context

Android context.

sourceId

ID of the source to connect to.

mediaItem

The media item to target.

coroutineDispatcher

The coroutine dispatcher to use to launch background operations. The most common are IPC requests via Binder. Defaults to the IO dispatcher.

Constructors

Link copied to clipboard
constructor(context: Context, sourceId: SourceId, mediaItem: IviMediaItem, coroutineDispatcher: CoroutineDispatcher = Options.mediaCoroutineDispatcher)

Properties

Link copied to clipboard
open override val contents: LiveData<List<IviMediaItem>>

The list of IviMediaItems contained in the subscribed mediaItem. Initially empty. The contents will be updated over time, when the source decides to do so.

Link copied to clipboard
open override val isAvailable: LiveData<Boolean>

Whether the source can be queried and provide content.

Link copied to clipboard
open override val isLoading: LiveData<Boolean>

Whether the source is loading content.

Link copied to clipboard
Link copied to clipboard
open override val rootMetadata: LiveData<Bundle?>

The client root extras. Can be used to store various values to determine source behavior.

Functions

Link copied to clipboard
open suspend override fun <T> coLaunchBrowserAction(browserAction: BrowserAction<T>): BrowserActionResult<T>

Launch a browser action.

Link copied to clipboard
open override fun connect()

Connects client to a media source to display the content. The connection is kept until disconnect is called.

Link copied to clipboard
open override fun disconnect()

Disconnects client from a media source and clears the content.

Link copied to clipboard
open override fun setErrorCallback(callback: ErrorCallback)

Set the callback where to receive notifications about error conditions.

Link copied to clipboard
open override fun setTag(tag: String)

Set a tag to identify this client in debugging logs.