From e9c5800437c2a9d0e3d4a1c45a51df078f537ec5 Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Sun, 19 Oct 2025 18:00:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BA=E9=9C=80=E8=A6=81=E9=87=8D=E5=90=AF?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E7=9A=84=E9=80=89=E9=A1=B9=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E5=BC=95=E5=AF=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kazusa/lib/prefs/ThemeCardPreference.kt | 14 ++++++++-- .../kazusa/ui/config/ThemeConfigFragment.kt | 27 +++++++++++-------- app/src/main/res/values-zh/strings.xml | 3 +++ app/src/main/res/values/strings.xml | 3 +++ app/src/main/res/xml/pref_config_theme.xml | 6 +++++ 5 files changed, 40 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/io/legato/kazusa/lib/prefs/ThemeCardPreference.kt b/app/src/main/java/io/legato/kazusa/lib/prefs/ThemeCardPreference.kt index eb7d525f8..666aeea7d 100644 --- a/app/src/main/java/io/legato/kazusa/lib/prefs/ThemeCardPreference.kt +++ b/app/src/main/java/io/legato/kazusa/lib/prefs/ThemeCardPreference.kt @@ -19,6 +19,7 @@ import com.google.android.material.card.MaterialCardView import io.legato.kazusa.R import io.legato.kazusa.constant.EventBus import io.legato.kazusa.constant.PreferKey +import io.legato.kazusa.lib.dialogs.alert import io.legato.kazusa.utils.getPrefString import io.legato.kazusa.utils.postEvent import io.legato.kazusa.utils.restart @@ -96,11 +97,20 @@ class ThemeCardPreference(context: Context, attrs: AttributeSet) : Preference(co val isDynamicSwitch = (oldValue == "11" || value == "11") Handler(Looper.getMainLooper()).postDelayed({ if (isDynamicSwitch) { - context.restart() + context.alert(context.getString(R.string.restart_required_message)) { + okButton { + Handler(Looper.getMainLooper()).postDelayed({ + context.restart() + }, 100) + } + cancelButton { + context.toastOnUi(R.string.restart_later_message) + } + } } else { postEvent(EventBus.RECREATE, "") } - }, 300) + }, 100) } } } diff --git a/app/src/main/java/io/legato/kazusa/ui/config/ThemeConfigFragment.kt b/app/src/main/java/io/legato/kazusa/ui/config/ThemeConfigFragment.kt index b9009797c..dbb447631 100644 --- a/app/src/main/java/io/legato/kazusa/ui/config/ThemeConfigFragment.kt +++ b/app/src/main/java/io/legato/kazusa/ui/config/ThemeConfigFragment.kt @@ -179,16 +179,12 @@ class ThemeConfigFragment : PreferenceFragmentCompat(), //recreateActivities() } - PreferKey.customMode -> { - Handler(Looper.getMainLooper()).postDelayed({ - requireContext().restart() - }, 300) - } + PreferKey.customMode -> handleRestartRequired() PreferKey.pureBlack -> { Handler(Looper.getMainLooper()).postDelayed({ recreateActivities() - }, 300) + }, 100) } PreferKey.cPrimary -> { @@ -201,7 +197,7 @@ class ThemeConfigFragment : PreferenceFragmentCompat(), .build()) Handler(Looper.getMainLooper()).postDelayed({ recreateActivities() - }, 300) + }, 100) } PreferKey.cBackground, @@ -220,10 +216,7 @@ class ThemeConfigFragment : PreferenceFragmentCompat(), //recreateActivities() } - PreferKey.colorImage -> - Handler(Looper.getMainLooper()).postDelayed({ - requireContext().restart() - }, 100) + PreferKey.colorImage -> handleRestartRequired() PreferKey.bgImage, PreferKey.bgImageN -> { @@ -346,6 +339,18 @@ class ThemeConfigFragment : PreferenceFragmentCompat(), } } + private fun handleRestartRequired() { + alert(getString(R.string.restart_required_message)) { + okButton { + Handler(Looper.getMainLooper()).postDelayed({ + requireContext().restart() + }, 100) + } + cancelButton { + toastOnUi(R.string.restart_later_message) + } + } + } private fun alertImageBlurring(preferKey: String, success: () -> Unit) { alert(R.string.background_image_blurring) { diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index bc4c70166..ecc724f16 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -1296,4 +1296,7 @@ 使用图片生成主题颜色 若需使用种子颜色,请取消种子图片选择 点击以删除或更改 + 切换至自定义主题或调整自定义设置时,部分选项需要重启。 + 此更改需要重启应用才能生效,是否立即重启? + 更改将在下次启动应用时生效 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0179950cb..5ce75af79 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1297,4 +1297,7 @@ 使用图片生成主题颜色 若需使用种子颜色,请取消种子图片选择 Click to delete or change + 切换至自定义主题或调整自定义设置时,部分选项需要重启。 + 修改该选项需要重启 + 稍后重启 diff --git a/app/src/main/res/xml/pref_config_theme.xml b/app/src/main/res/xml/pref_config_theme.xml index 02e6c54e8..75508b4f6 100644 --- a/app/src/main/res/xml/pref_config_theme.xml +++ b/app/src/main/res/xml/pref_config_theme.xml @@ -24,6 +24,12 @@ android:entryValues="@array/themes_value" android:defaultValue="0" /> + +