From e0b64f8a4a7af3b3a3636b5de7c89511aed024d9 Mon Sep 17 00:00:00 2001 From: kunfei Date: Sun, 8 May 2022 20:26:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=BF=E6=8D=A2=E8=A7=84=E5=88=99=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=B6=85=E6=97=B6=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/updateLog.md | 1 + .../main/java/io/legado/app/data/entities/BookChapter.kt | 6 +++++- .../main/java/io/legado/app/data/entities/ReplaceRule.kt | 7 +++++++ app/src/main/java/io/legado/app/help/ContentProcessor.kt | 6 +++++- .../io/legado/app/ui/replace/edit/ReplaceEditActivity.kt | 2 +- 5 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/src/main/assets/updateLog.md b/app/src/main/assets/updateLog.md index ad140fd24..d8d20dcd8 100644 --- a/app/src/main/assets/updateLog.md +++ b/app/src/main/assets/updateLog.md @@ -16,6 +16,7 @@ * js添加 getVerificationCode startBrowserAwait * 监测网络变化及时更新web服务的IP * 优化在线tts导入 +* 替换规则添加超时字段 **2022/05/02** diff --git a/app/src/main/java/io/legado/app/data/entities/BookChapter.kt b/app/src/main/java/io/legado/app/data/entities/BookChapter.kt index 5615bbdfd..124261a3f 100644 --- a/app/src/main/java/io/legado/app/data/entities/BookChapter.kt +++ b/app/src/main/java/io/legado/app/data/entities/BookChapter.kt @@ -98,7 +98,11 @@ data class BookChapter( if (item.pattern.isNotEmpty()) { try { val mDisplayTitle = if (item.isRegex) { - displayTitle.replace(item.pattern.toRegex(), item.replacement, 1000) + displayTitle.replace( + item.pattern.toRegex(), + item.replacement, + item.getValidTimeoutMillisecond() + ) } else { displayTitle.replace(item.pattern, item.replacement) } diff --git a/app/src/main/java/io/legado/app/data/entities/ReplaceRule.kt b/app/src/main/java/io/legado/app/data/entities/ReplaceRule.kt index ddcf5cd7d..4c7f92047 100644 --- a/app/src/main/java/io/legado/app/data/entities/ReplaceRule.kt +++ b/app/src/main/java/io/legado/app/data/entities/ReplaceRule.kt @@ -84,4 +84,11 @@ data class ReplaceRule( } return true } + + fun getValidTimeoutMillisecond(): Long { + if (timeoutMillisecond <= 0) { + return 3000L + } + return timeoutMillisecond + } } \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/help/ContentProcessor.kt b/app/src/main/java/io/legado/app/help/ContentProcessor.kt index b40d8a8c3..e841f8844 100644 --- a/app/src/main/java/io/legado/app/help/ContentProcessor.kt +++ b/app/src/main/java/io/legado/app/help/ContentProcessor.kt @@ -137,7 +137,11 @@ class ContentProcessor private constructor( if (item.pattern.isNotEmpty()) { kotlin.runCatching { mContent = if (item.isRegex) { - mContent.replace(item.pattern.toRegex(), item.replacement, 3000L) + mContent.replace( + item.pattern.toRegex(), + item.replacement, + item.getValidTimeoutMillisecond() + ) } else { mContent.replace(item.pattern, item.replacement) } diff --git a/app/src/main/java/io/legado/app/ui/replace/edit/ReplaceEditActivity.kt b/app/src/main/java/io/legado/app/ui/replace/edit/ReplaceEditActivity.kt index 192b66fb2..db469fd97 100644 --- a/app/src/main/java/io/legado/app/ui/replace/edit/ReplaceEditActivity.kt +++ b/app/src/main/java/io/legado/app/ui/replace/edit/ReplaceEditActivity.kt @@ -110,7 +110,7 @@ class ReplaceEditActivity : replaceRule.scopeTitle = cbScopeTitle.isChecked replaceRule.scopeContent = cbScopeContent.isChecked replaceRule.scope = etScope.text.toString() - replaceRule.timeoutMillisecond = etTimeout.text.toString().toLong() + replaceRule.timeoutMillisecond = etTimeout.text.toString().ifEmpty { "3000" }.toLong() return replaceRule }