From c6bb8536241b5a25de5969bf209d0e3327cc0a96 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Sun, 7 Jul 2024 07:32:26 +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/data/entities/BaseSource.kt | 2 +- .../io/legado/app/utils/RhinoContextExtensions.kt | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/io/legado/app/data/entities/BaseSource.kt b/app/src/main/java/io/legado/app/data/entities/BaseSource.kt index 1babc5c0d..d74c8dd50 100644 --- a/app/src/main/java/io/legado/app/data/entities/BaseSource.kt +++ b/app/src/main/java/io/legado/app/data/entities/BaseSource.kt @@ -97,7 +97,7 @@ interface BaseSource : JsExtensions { * 解析header规则 */ fun getHeaderMap(hasLoginHeader: Boolean = false) = HashMap().apply { - if (checkRhinoRecursiveCall()) return@apply + checkRhinoRecursiveCall() header?.let { GSON.fromJsonObject>( when { diff --git a/app/src/main/java/io/legado/app/utils/RhinoContextExtensions.kt b/app/src/main/java/io/legado/app/utils/RhinoContextExtensions.kt index fcf962e62..a09d8f502 100644 --- a/app/src/main/java/io/legado/app/utils/RhinoContextExtensions.kt +++ b/app/src/main/java/io/legado/app/utils/RhinoContextExtensions.kt @@ -13,10 +13,14 @@ fun Context?.getEnterCount(): Int { return enterCountField.get(this) as Int } -fun checkRhinoRecursiveCall(): Boolean { - return Context.getCurrentContext().getEnterCount() > 1 +fun checkRhinoRecursiveCall() { + check(Context.getCurrentContext().getEnterCount() <= 1) { + "Rhino recursive call detected." + } } -fun checkRhinoCall(): Boolean { - return Context.getCurrentContext() != null +fun checkRhinoCall() { + check(Context.getCurrentContext() == null) { + "Rhino call detected." + } }