diff --git a/app/src/main/java/io/legado/app/help/config/ReadBookConfig.kt b/app/src/main/java/io/legado/app/help/config/ReadBookConfig.kt index fe4e2e16f..efd237129 100644 --- a/app/src/main/java/io/legado/app/help/config/ReadBookConfig.kt +++ b/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 diff --git a/app/src/main/java/io/legado/app/ui/book/read/config/BgTextConfigDialog.kt b/app/src/main/java/io/legado/app/ui/book/read/config/BgTextConfigDialog.kt index 663e41add..d4c0dfdb0 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/config/BgTextConfigDialog.kt +++ b/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)) }