为需要重启应用的选项提供引导

This commit is contained in:
HapeLee
2025-10-19 18:00:16 +08:00
parent 91ebe9f164
commit e9c5800437
5 changed files with 40 additions and 13 deletions
@@ -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)
}
}
}
@@ -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) {