Icaro Temponi
11/19/2018, 7:43 PMsuspend fun suspendCoroutineWithoutReturn(fn: (Continuation<Unit>) -> Unit) = suspendCoroutine(fn)
I was able to get exactly what i wanted:
suspend fun <T : AppCompatActivity> T.awaitRunOnUi(fn: T.() -> Unit) {
suspendCoroutineWithoutReturn { continuation ->
runOnUiThread {
fn()
continuation.resume()
}
}
}
louiscad
11/19/2018, 7:50 PMwithContext(Dispatchers.Main) { ... }
?Icaro Temponi
11/19/2018, 7:53 PMIcaro Temponi
11/20/2018, 10:53 AMsuspend fun <T> onUi(fn: suspend CoroutineScope.() -> T): T =
withContext(Dispatchers.Main, fn)
louiscad
11/20/2018, 10:54 AMIcaro Temponi
11/20/2018, 10:55 AMIcaro Temponi
11/20/2018, 10:57 AMsuspend inline fun <T> onUi(noinline fn: suspend CoroutineScope.() -> T): T =
withContext(Dispatchers.Main, fn)
Something like this?louiscad
11/20/2018, 6:48 PMfn
to block
for more consistency regarding kotlinx.coroutinesIcaro Temponi
11/20/2018, 8:56 PM