LiveDataScope



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.

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

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

android

Public properties

T?

References the current value of the LiveData.

android

Public functions

emit

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

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.