ItemSourceClient

class ItemSourceClient(    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

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
fun ItemSourceClient(    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
val mediaItem: IviMediaItem
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 override fun setContext(context: Context?)

Attaches the client to an Android Context.

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.