From 46aa0de7a0625b6ec5b6cf637e2352e02f0a21f6 Mon Sep 17 00:00:00 2001 From: bushixuanqi <57338301+bushixuanqi@users.noreply.github.com> Date: Mon, 19 Jul 2021 15:01:43 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E4=B8=80=E5=B1=82?= =?UTF-8?q?=E6=8B=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 去掉一层括号 --- app/src/main/java/io/legado/app/utils/HtmlFormatter.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/legado/app/utils/HtmlFormatter.kt b/app/src/main/java/io/legado/app/utils/HtmlFormatter.kt index a88a59995..cae9b2251 100644 --- a/app/src/main/java/io/legado/app/utils/HtmlFormatter.kt +++ b/app/src/main/java/io/legado/app/utils/HtmlFormatter.kt @@ -38,7 +38,7 @@ object HtmlFormatter { var param = "" sb.append( keepImgHtml.substring(appendPos, matcher.start()), "" ) appendPos = matcher.end() From 1161384e09278a135a486c56091aba715c510b48 Mon Sep 17 00:00:00 2001 From: bushixuanqi <57338301+bushixuanqi@users.noreply.github.com> Date: Mon, 19 Jul 2021 19:04:38 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E6=8F=90=E5=89=8D=E5=88=A4=E6=96=ADMode.js?= =?UTF-8?q?=E9=81=BF=E5=85=8Dmode=E5=80=BC=E8=A2=AB=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=B1=BB=E5=9E=8B=E5=88=A4=E6=96=AD=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 提前判断Mode.js避免mode值被覆盖导致类型判断错 --- .../main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 b959987b3..cf3d3a4ee 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 @@ -410,7 +410,8 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions { init { this.mode = mainMode - rule = when { + rule = if(mode == Mode.Js)ruleStr //避免被后面的值覆盖,加个判断 + else when { ruleStr.startsWith("@CSS:", true) -> { mode = Mode.Default ruleStr @@ -431,7 +432,7 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions { mode = Mode.Json ruleStr.substring(6) } - (ruleStr[1] == '.' || ruleStr[1] == '[') && ruleStr.startsWith("$.") || isJSON -> { + ruleStr.startsWith("$.") || ruleStr.startsWith("$[") || isJSON -> { mode = Mode.Json ruleStr } From 0c0fc9b9a9a85eda4ed5060ab410742649d88857 Mon Sep 17 00:00:00 2001 From: bushixuanqi <57338301+bushixuanqi@users.noreply.github.com> Date: Mon, 19 Jul 2021 19:10:14 +0800 Subject: [PATCH 3/8] Update AnalyzeRule.kt --- .../main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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 cf3d3a4ee..ec0b4692f 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 @@ -396,7 +396,7 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions { */ inner class SourceRule internal constructor(ruleStr: String, mainMode: Mode = Mode.Default) { - internal var mode: Mode + internal var mode = mainMode internal var rule: String internal var replaceRegex = "" internal var replacement = "" @@ -409,7 +409,6 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions { private val defaultRuleType = 0 init { - this.mode = mainMode rule = if(mode == Mode.Js)ruleStr //避免被后面的值覆盖,加个判断 else when { ruleStr.startsWith("@CSS:", true) -> { From 694900ba6f6fe854df566bd1a8953d5da2b5f6fe Mon Sep 17 00:00:00 2001 From: bushixuanqi <57338301+bushixuanqi@users.noreply.github.com> Date: Mon, 19 Jul 2021 19:15:11 +0800 Subject: [PATCH 4/8] Update AnalyzeRule.kt --- .../java/io/legado/app/model/analyzeRule/AnalyzeRule.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 ec0b4692f..6570c75f1 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 @@ -409,8 +409,10 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions { private val defaultRuleType = 0 init { - rule = if(mode == Mode.Js)ruleStr //避免被后面的值覆盖,加个判断 - else when { + rule = when { + mode == Mode.Js->{//避免被后面的值覆盖,先判断js + ruleStr + } ruleStr.startsWith("@CSS:", true) -> { mode = Mode.Default ruleStr From 1f7afeb58870dcafccea022a7f9bcc206bf1bc3d Mon Sep 17 00:00:00 2001 From: bushixuanqi <57338301+bushixuanqi@users.noreply.github.com> Date: Mon, 19 Jul 2021 19:19:41 +0800 Subject: [PATCH 5/8] Update AnalyzeRule.kt --- .../main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 6570c75f1..494b5d1a8 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 @@ -410,7 +410,7 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions { init { rule = when { - mode == Mode.Js->{//避免被后面的值覆盖,先判断js + mode == Mode.Js || mode == Mode.Regex->{//避免被后面的值覆盖,先判断js ruleStr } ruleStr.startsWith("@CSS:", true) -> { From 3d65e670dc462445b9834876fe8040c89300c40b Mon Sep 17 00:00:00 2001 From: bushixuanqi <57338301+bushixuanqi@users.noreply.github.com> Date: Mon, 19 Jul 2021 19:22:49 +0800 Subject: [PATCH 6/8] Update AnalyzeRule.kt --- .../main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 494b5d1a8..0c872c95d 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 @@ -410,7 +410,7 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions { init { rule = when { - mode == Mode.Js || mode == Mode.Regex->{//避免被后面的值覆盖,先判断js + mode == Mode.Js || mode == Mode.Regex->{//splitSourceRule处预先处理了,Mode.Js和Mode.Regex,避免被后面的值覆盖先进行判断 ruleStr } ruleStr.startsWith("@CSS:", true) -> { From 92fcd858cfbaf81920403aab362d4e5f11755b94 Mon Sep 17 00:00:00 2001 From: bushixuanqi <57338301+bushixuanqi@users.noreply.github.com> Date: Mon, 19 Jul 2021 19:25:59 +0800 Subject: [PATCH 7/8] Update AnalyzeRule.kt --- .../main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 0c872c95d..acc668711 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 @@ -410,7 +410,7 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions { init { rule = when { - mode == Mode.Js || mode == Mode.Regex->{//splitSourceRule处预先处理了,Mode.Js和Mode.Regex,避免被后面的值覆盖先进行判断 + mode == Mode.Js || mode == Mode.Regex->{//splitSourceRule可能预先确定了Mode.Js和Mode.Regex两种mode,避免被后面的值覆盖先进行判断 ruleStr } ruleStr.startsWith("@CSS:", true) -> { From a16ab6e643c5e4fd5ff7503990e026bc454cf4a8 Mon Sep 17 00:00:00 2001 From: bushixuanqi <57338301+bushixuanqi@users.noreply.github.com> Date: Mon, 19 Jul 2021 19:32:30 +0800 Subject: [PATCH 8/8] Update AnalyzeRule.kt --- .../main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 acc668711..f9e0024c0 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 @@ -410,7 +410,7 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions { init { rule = when { - mode == Mode.Js || mode == Mode.Regex->{//splitSourceRule可能预先确定了Mode.Js和Mode.Regex两种mode,避免被后面的值覆盖先进行判断 + mode == Mode.Js || mode == Mode.Regex -> { //splitSourceRule预先确定了Mode.Js和Mode.Regex两种mode,避免被后面的值覆盖先进行判断 ruleStr } ruleStr.startsWith("@CSS:", true) -> {