LiveDataScope

interface LiveDataScope<T>
androidx.lifecycle.LiveDataScope

Interface that allows controlling a LiveData from a coroutine block.

Summary

Public methods

abstract suspend Unit
emit(value: T)

Set's the LiveData's value to the given value.

abstract suspend DisposableHandle
emitSource(source: LiveData<T>)

Add the given LiveData as a source, similar to MediatorLiveData.addSource.

Properties

abstract T?

References the current value of the LiveData.

Public methods

emit

abstract suspend fun emit(value: T): Unit

Set's the LiveData's value to the given value. If you've called emitSource previously, calling emit will remove that source.

Note that this function suspends until the value is set on the LiveData.

Parameters
value The new value for the LiveData

See Also

emitSource

abstract suspend fun emitSource(source: LiveData<T>): DisposableHandle

Add the given LiveData as a source, similar to MediatorLiveData.addSource. Calling this method will remove any source that was yielded before via emitSource.

Parameters
source The LiveData instance whose values will be dispatched from the current LiveData.

Properties

latestValue

abstract val latestValue: T?

References the current value of the LiveData.

If the block never emited a value, latestValue will be null. You can use this value to check what was then latest value emited by your block before it got cancelled.

Note that if the block called emitSource, then latestValue will be last value dispatched by the source LiveData.