|
|
@@ -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)
|