LiveDataScope


public interface LiveDataScope<T extends Object>


Interface that allows controlling a LiveData from a coroutine block.

See also
liveData

Summary

Public methods

abstract void
emit(@NonNull T value)

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

abstract @NonNull DisposableHandle

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

abstract T

References the current value of the LiveData.

Public methods

emit

Added in 2.2.0
abstract void emit(@NonNull T value)

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
@NonNull T value

The new value for the LiveData

See also
emitSource

emitSource

abstract @NonNull DisposableHandle emitSource(@NonNull LiveData<@NonNull T> source)

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
@NonNull LiveData<@NonNull T> source

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

getLatestValue

Added in 2.2.0
abstract T getLatestValue()

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.