LiveDataScope

interface LiveDataScope<T : Any?>


Interface that allows controlling a LiveData from a coroutine block.

See also
liveData

Summary

Public functions

suspend Unit
emit(value: T)

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

suspend DisposableHandle
emitSource(source: LiveData<T>)

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

Public properties

T?

References the current value of the LiveData.

Public functions

emit

Added in 2.2.0
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: T

The new value for the LiveData

See also
emitSource

emitSource

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: LiveData<T>

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

Public properties

latestValue

Added in 2.2.0
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.