From f86bd1d507052a46a7da67b22307aa40cafea911 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Mon, 8 Jul 2024 06:33:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/legado/app/help/config/ReadBookConfig.kt | 17 +++++++++++++---- .../ui/book/read/config/BgTextConfigDialog.kt | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) 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)) }