From cacffd18c4d0dec96223dc28b324a0ee6ff9e699 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Sun, 13 Apr 2025 16:03:23 +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 --- app/src/main/java/io/legado/app/help/JsExtensions.kt | 3 +++ .../main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt | 2 ++ 2 files changed, 5 insertions(+) diff --git a/app/src/main/java/io/legado/app/help/JsExtensions.kt b/app/src/main/java/io/legado/app/help/JsExtensions.kt index 313b1a7c8..5d28954ce 100644 --- a/app/src/main/java/io/legado/app/help/JsExtensions.kt +++ b/app/src/main/java/io/legado/app/help/JsExtensions.kt @@ -102,6 +102,7 @@ interface JsExtensions : JsEncodeUtils { return kotlin.runCatching { analyzeUrl.getStrResponse().body }.onFailure { + rhinoContext.ensureActive() AppLog.put("ajax(${urlStr}) error\n${it.localizedMessage}", it) }.getOrElse { it.stackTraceStr @@ -136,6 +137,7 @@ interface JsExtensions : JsEncodeUtils { return kotlin.runCatching { analyzeUrl.getStrResponse() }.onFailure { + rhinoContext.ensureActive() AppLog.put("connect(${urlStr}) error\n${it.localizedMessage}", it) }.getOrElse { StrResponse(analyzeUrl.url, it.stackTraceStr) @@ -153,6 +155,7 @@ interface JsExtensions : JsEncodeUtils { return kotlin.runCatching { analyzeUrl.getStrResponse() }.onFailure { + rhinoContext.ensureActive() AppLog.put("ajax($urlStr,$header) error\n${it.localizedMessage}", it) }.getOrElse { StrResponse(analyzeUrl.url, it.stackTraceStr) diff --git a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt index 42defd7e7..cdbacd26c 100644 --- a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt +++ b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt @@ -25,6 +25,7 @@ import io.legado.app.utils.isJson import io.legado.app.utils.printOnDebug import io.legado.app.utils.splitNotBlank import io.legado.app.utils.stackTraceStr +import kotlinx.coroutines.ensureActive import kotlinx.coroutines.runBlocking import kotlinx.coroutines.withTimeout import org.apache.commons.text.StringEscapeUtils @@ -794,6 +795,7 @@ class AnalyzeRule( return kotlin.runCatching { analyzeUrl.getStrResponse().body }.onFailure { + coroutineContext.ensureActive() log("ajax(${urlStr}) error\n${it.stackTraceToString()}") it.printOnDebug() }.getOrElse {