Horis 2 лет назад
Родитель
Сommit
5712a606ce

+ 13 - 4
app/src/main/java/io/legado/app/help/config/ReadBookConfig.kt

@@ -88,9 +88,6 @@ object ReadBookConfig {
             configList.clear()
             configList.addAll(it)
         }
-        for (i in configList.indices) {
-            configList[i].initColorInt()
-        }
     }
 
     fun initShareConfig() {
@@ -539,14 +536,23 @@ object ReadBookConfig {
         var footerMode: Int = 0
     ) {
 
+        @Transient
         private var textColorIntEInk = -1
+
+        @Transient
         private var textColorIntNight = -1
+
+        @Transient
         private var textColorInt = -1
 
-        fun initColorInt() {
+        @Transient
+        private var initColorInt = false
+
+        private fun initColorInt() {
             textColorIntEInk = Color.parseColor(textColorEInk)
             textColorIntNight = Color.parseColor(textColorNight)
             textColorInt = Color.parseColor(textColor)
+            initColorInt = true
         }
 
         fun setCurTextColor(color: Int) {
@@ -569,6 +575,9 @@ object ReadBookConfig {
         }
 
         fun curTextColor(): Int {
+            if (!initColorInt) {
+                initColorInt()
+            }
             return when {
                 AppConfig.isEInkMode -> textColorIntEInk
                 AppConfig.isNightTheme -> textColorIntNight

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/read/config/BgTextConfigDialog.kt

@@ -188,7 +188,7 @@ class BgTextConfigDialog : BaseDialogFragment(R.layout.dialog_read_bg_text) {
             val layoutNames = defaultConfigs.map { it.name }
             context?.selector("选择预设布局", layoutNames) { _, i ->
                 if (i >= 0) {
-                    ReadBookConfig.durConfig = defaultConfigs[i].copy().apply { initColorInt() }
+                    ReadBookConfig.durConfig = defaultConfigs[i].copy()
                     initData()
                     postEvent(EventBus.UP_CONFIG, arrayListOf(1, 2, 5))
                 }