Update workaround

This commit is contained in:
GG Bond authored and Vladimir Dostoyevskiy committed 2024-02-27 13:58:33 +08:00
1 parent 27e02ad642
commit d39c2fdfa2
1 file changed
+3 -6
@@ -74,7 +74,6 @@ import com.jamal.composeprefs3.ui.ifNotNullThen
import com.jamal.composeprefs3.ui.ifTrueThen
import kotlin.coroutines.resume
import kotlinx.coroutines.CancellableContinuation
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.coroutines.suspendCancellableCoroutine
@@ -100,7 +99,9 @@ class DialogState {
content = null
}
suspend inline fun <R> dialog(crossinline block: @Composable (CancellableContinuation<R>) -> Unit) = suspendCancellableCoroutine { cont ->
// Move to crossinline on next compose compiler update
// https://issuetracker.google.com/issues/325502738
suspend inline fun <R> dialog(noinline block: @Composable (CancellableContinuation<R>) -> Unit) = suspendCancellableCoroutine { cont ->
cont.invokeOnCancellation { dismiss() }
val realContinuation = object : CancellableContinuation<R> by cont {
override fun resumeWith(result: Result<R>) {
@@ -109,10 +110,6 @@ class DialogState {
}
}
content = { block(realContinuation) }
}.also {
// Workaround SlotTable modification race
// IssueTracker: https://issuetracker.google.com/issues/325502738
delay(100)
}
suspend fun <R> awaitResult(