diff --git a/app/src/main/java/io/legado/app/utils/RegexExtensions.kt b/app/src/main/java/io/legado/app/utils/RegexExtensions.kt index 5f0fe41a6..79357fbcc 100644 --- a/app/src/main/java/io/legado/app/utils/RegexExtensions.kt +++ b/app/src/main/java/io/legado/app/utils/RegexExtensions.kt @@ -2,9 +2,8 @@ package io.legado.app.utils import io.legado.app.exception.RegexTimeoutException import io.legado.app.help.CrashHandler -import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.Dispatchers.IO -import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.MainScope import kotlinx.coroutines.launch import kotlinx.coroutines.suspendCancellableCoroutine import splitties.init.appCtx @@ -14,11 +13,10 @@ import kotlin.coroutines.resume * 带有超时检测的正则替换 * 超时重启apk,线程不能强制结束,只能重启apk */ -@DelicateCoroutinesApi suspend fun CharSequence.replace(regex: Regex, replacement: String, timeout: Long): String { val charSequence = this return suspendCancellableCoroutine { block -> - val scope = GlobalScope.launch(IO) { + val scope = MainScope().launch(IO) { try { val result = regex.replace(charSequence, replacement) block.resume(result)