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 }