From 7e2a89a95a5e07cb7680ea2bd6c1c1b0b5eef006 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Tue, 27 Aug 2024 14:41:44 +0800 Subject: [PATCH] =?UTF-8?q?=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/legado/app/lib/theme/ThemeStore.kt | 8 +++++++- .../app/ui/config/ThemeConfigFragment.kt | 19 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/legado/app/lib/theme/ThemeStore.kt b/app/src/main/java/io/legado/app/lib/theme/ThemeStore.kt index 0dab34719..182d596ce 100644 --- a/app/src/main/java/io/legado/app/lib/theme/ThemeStore.kt +++ b/app/src/main/java/io/legado/app/lib/theme/ThemeStore.kt @@ -10,6 +10,7 @@ import androidx.annotation.ColorInt import androidx.annotation.ColorRes import androidx.core.content.ContextCompat import io.legado.app.utils.ColorUtils +import io.legado.app.utils.LogUtils import splitties.init.appCtx /** @@ -50,6 +51,7 @@ private constructor(private val mContext: Context) : ThemeStoreInterface { } override fun accentColor(@ColorInt color: Int): ThemeStore { + LogUtils.d("ThemeStore", "set accentColor $color") mEditor.putInt(ThemeStorePrefKeys.KEY_ACCENT_COLOR, color) return this } @@ -161,6 +163,7 @@ private constructor(private val mContext: Context) : ThemeStoreInterface { mEditor.putLong(ThemeStorePrefKeys.VALUES_CHANGED, System.currentTimeMillis()) .putBoolean(ThemeStorePrefKeys.IS_CONFIGURED_KEY, true) .apply() + LogUtils.d("ThemeStore", "sharedPreference apply") } companion object : SharedPreferences.OnSharedPreferenceChangeListener { @@ -176,7 +179,10 @@ private constructor(private val mContext: Context) : ThemeStoreInterface { key: String? ) { when (key) { - ThemeStorePrefKeys.KEY_ACCENT_COLOR -> accentColor = accentColor() + ThemeStorePrefKeys.KEY_ACCENT_COLOR -> { + accentColor = accentColor() + LogUtils.d("ThemeStore", "onSharedPreferenceChanged accentColor $accentColor") + } } } diff --git a/app/src/main/java/io/legado/app/ui/config/ThemeConfigFragment.kt b/app/src/main/java/io/legado/app/ui/config/ThemeConfigFragment.kt index 7d6f9efa3..aca0f02af 100644 --- a/app/src/main/java/io/legado/app/ui/config/ThemeConfigFragment.kt +++ b/app/src/main/java/io/legado/app/ui/config/ThemeConfigFragment.kt @@ -2,6 +2,7 @@ package io.legado.app.ui.config import android.annotation.SuppressLint import android.content.SharedPreferences +import android.graphics.Color import android.net.Uri import android.os.Build import android.os.Bundle @@ -26,11 +27,15 @@ import io.legado.app.lib.dialogs.alert import io.legado.app.lib.dialogs.selector import io.legado.app.lib.prefs.ColorPreference import io.legado.app.lib.prefs.fragment.PreferenceFragment +import io.legado.app.lib.theme.ThemeStore +import io.legado.app.lib.theme.ThemeUtils +import io.legado.app.lib.theme.accentColor import io.legado.app.lib.theme.primaryColor import io.legado.app.ui.widget.number.NumberPickerDialog import io.legado.app.ui.widget.seekbar.SeekBarChangeListener import io.legado.app.utils.ColorUtils import io.legado.app.utils.FileUtils +import io.legado.app.utils.LogUtils import io.legado.app.utils.MD5Utils import io.legado.app.utils.SelectImageContract import io.legado.app.utils.applyTint @@ -100,6 +105,20 @@ class ThemeConfigFragment : PreferenceFragment(), } } } + val defaultValue = ThemeUtils.resolveColor( + requireContext(), + androidx.appcompat.R.attr.colorAccent, + Color.parseColor("#263238") + ) + LogUtils.d("ThemeStore", "-------------") + LogUtils.d("ThemeStore", "accentColor from context $context defaultValue $defaultValue") + LogUtils.d("ThemeStore", "accentColor from context $context value $accentColor") + val v = ThemeStore.accentColor() + LogUtils.d("ThemeStore", "accentColor from appCtx $appCtx value $v") + LogUtils.d("ThemeStore", "context.packageName ${context?.packageName}") + LogUtils.d("ThemeStore", "appCtx.packageName ${appCtx.packageName}") + LogUtils.d("ThemeStore", "context.packageName == appCtx.packageName ${context?.packageName == appCtx.packageName}") + LogUtils.d("ThemeStore", "-------------") } override fun onViewCreated(view: View, savedInstanceState: Bundle?) {