From be1eecf3b5f2ef5b5e0ac7a0b06dd2b37aa0bc1b Mon Sep 17 00:00:00 2001 From: FooIbar <118464521+FooIbar@users.noreply.github.com> Date: Sun, 2 Jun 2024 18:57:00 +0800 Subject: [PATCH] Use official coroutines API instead of manual cast --- app/src/main/kotlin/com/hippo/ehviewer/util/Progress.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/com/hippo/ehviewer/util/Progress.kt b/app/src/main/kotlin/com/hippo/ehviewer/util/Progress.kt index f0e0c31e2..120a649bc 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/util/Progress.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/util/Progress.kt @@ -18,8 +18,8 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.window.DialogProperties import com.hippo.ehviewer.R.string import com.hippo.ehviewer.ui.tools.DialogState -import kotlin.coroutines.Continuation import kotlin.coroutines.intrinsics.COROUTINE_SUSPENDED +import kotlin.coroutines.intrinsics.startCoroutineUninterceptedOrReturn import kotlin.coroutines.intrinsics.suspendCoroutineUninterceptedOrReturn @Composable @@ -48,8 +48,7 @@ fun ProgressDialog() { suspend fun DialogState.bgWork(work: suspend () -> R) = try { suspendCoroutineUninterceptedOrReturn { cont -> - @Suppress("UNCHECKED_CAST") - (work as (Continuation) -> Any?)(cont).also { r -> + work.startCoroutineUninterceptedOrReturn(cont).also { r -> if (r == COROUTINE_SUSPENDED) content = { ProgressDialog() } } }