From 59a0cec2b1dcd17fde207f404e8a8845993bf55b Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Mon, 5 Jan 2026 10:44:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/legado/app/help/coroutine/Coroutine.kt | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/io/legado/app/help/coroutine/Coroutine.kt b/app/src/main/java/io/legado/app/help/coroutine/Coroutine.kt index f2bb9ed08..130910166 100644 --- a/app/src/main/java/io/legado/app/help/coroutine/Coroutine.kt +++ b/app/src/main/java/io/legado/app/help/coroutine/Coroutine.kt @@ -200,11 +200,9 @@ class Coroutine( private suspend inline fun dispatchVoidCallback(scope: CoroutineScope, callback: VoidCallback) { if (null == callback.context) { - withContext(scope.coroutineContext) { - callback.block.invoke(scope) - } + callback.block.invoke(scope) } else { - withContext(scope.coroutineContext + callback.context) { + withContext(callback.context) { callback.block.invoke(this) } } @@ -219,7 +217,7 @@ class Coroutine( if (null == callback.context) { callback.block.invoke(scope, value) } else { - withContext(scope.coroutineContext + callback.context) { + withContext(callback.context) { callback.block.invoke(this, value) } } @@ -231,7 +229,7 @@ class Coroutine( timeMillis: Long, noinline block: suspend CoroutineScope.() -> T ): T { - return withContext(scope.coroutineContext + context) { + return withContext(context) { if (timeMillis > 0L) withTimeout(timeMillis) { block() } else { @@ -242,12 +240,12 @@ class Coroutine( private data class Result(val value: T?) - private inner class VoidCallback( + private class VoidCallback( val context: CoroutineContext?, val block: suspend CoroutineScope.() -> Unit ) - private inner class Callback( + private class Callback( val context: CoroutineContext?, val block: suspend CoroutineScope.(VALUE) -> Unit )