kunfei 4 yıl önce
ebeveyn
işleme
bc90b64724

+ 1 - 1
app/src/main/java/io/legado/app/data/entities/BookChapter.kt

@@ -74,7 +74,7 @@ data class BookChapter(
 
 
     @Suppress("unused")
     @Suppress("unused")
     fun getDisplayTitle(
     fun getDisplayTitle(
-        replaceRules: Array<ReplaceRule>? = null,
+        replaceRules: List<ReplaceRule>? = null,
         useReplace: Boolean = true,
         useReplace: Boolean = true,
         chineseConvert: Boolean = true,
         chineseConvert: Boolean = true,
     ): String {
     ): String {

+ 7 - 9
app/src/main/java/io/legado/app/help/ContentProcessor.kt

@@ -9,6 +9,7 @@ import io.legado.app.data.entities.ReplaceRule
 import io.legado.app.utils.toastOnUi
 import io.legado.app.utils.toastOnUi
 import splitties.init.appCtx
 import splitties.init.appCtx
 import java.lang.ref.WeakReference
 import java.lang.ref.WeakReference
+import java.util.concurrent.CopyOnWriteArrayList
 import java.util.regex.Pattern
 import java.util.regex.Pattern
 
 
 class ContentProcessor private constructor(
 class ContentProcessor private constructor(
@@ -37,14 +38,13 @@ class ContentProcessor private constructor(
 
 
     }
     }
 
 
-    private val titleReplaceRules = arrayListOf<ReplaceRule>()
-    private val contentReplaceRules = arrayListOf<ReplaceRule>()
+    private val titleReplaceRules = CopyOnWriteArrayList<ReplaceRule>()
+    private val contentReplaceRules = CopyOnWriteArrayList<ReplaceRule>()
 
 
     init {
     init {
         upReplaceRules()
         upReplaceRules()
     }
     }
 
 
-    @Synchronized
     fun upReplaceRules() {
     fun upReplaceRules() {
         titleReplaceRules.run {
         titleReplaceRules.run {
             clear()
             clear()
@@ -56,14 +56,12 @@ class ContentProcessor private constructor(
         }
         }
     }
     }
 
 
-    @Synchronized
-    fun getTitleReplaceRules(): Array<ReplaceRule> {
-        return titleReplaceRules.toTypedArray()
+    fun getTitleReplaceRules(): List<ReplaceRule> {
+        return titleReplaceRules
     }
     }
 
 
-    @Synchronized
-    fun getContentReplaceRules(): Array<ReplaceRule> {
-        return contentReplaceRules.toTypedArray()
+    fun getContentReplaceRules(): List<ReplaceRule> {
+        return contentReplaceRules
     }
     }
 
 
     fun getContent(
     fun getContent(