INNER CODE UNIT · Kotlin
disposeNow
M66B/FairEmail · app/src/main/java/androidx/lifecycle/CoroutineLiveData.kt:129
suspend fun disposeNow() = withContext(Dispatchers.Main.immediate) { removeSource() }
override fun dispose() {
CoroutineScope(Dispatchers.Main.immediate).launch { removeSource() }
}
@MainThread
private fun removeSource() {
if (!disposed) {
mediator.removeSource(source)
disposed = true
}
}
}
internal typealias Block<T> = suspend LiveDataScope<T>.() -> Unit
/** Handles running a block at most once to completion. */