Update workaround
This commit is contained in:
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(
|
||||
|
||||
Reference in new issue
Block a user