Skip to content

Commit e0ac830

Browse files
committed
Drop redundant nightTheme writes in Dracula toggle
nightTheme.value (ListPreference.setValue -> persistString) already writes the same configurationStore key that DataStore.nightTheme (stringToInt -> putString) uses, and refreshes the picker UI. Remove the duplicate DataStore.nightTheme assignments in both the force-on and restore branches. Verified on-device: appTheme persists as 23 (Dracula), nightTheme persists as a string in the same format; no crash, no resource warnings. Addresses Greptile P2.
1 parent 1bdf253 commit e0ac830

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

app/src/main/java/io/nekohasekai/sagernet/ui/SettingsPreferenceFragment.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,10 @@ class SettingsPreferenceFragment : PreferenceFragmentCompat() {
7878
if (themeId == Theme.DRACULA) {
7979
if (previousTheme != Theme.DRACULA && DataStore.nightTheme != 1) {
8080
DataStore.nightThemeBeforeDracula = DataStore.nightTheme
81-
DataStore.nightTheme = 1
8281
Theme.currentNightMode = 1
82+
// nightTheme.value persists to configurationStore (same key as
83+
// DataStore.nightTheme) and refreshes the picker, so no separate
84+
// DataStore.nightTheme write is needed.
8385
nightTheme.value = "1"
8486
Theme.applyNightTheme()
8587
}
@@ -88,7 +90,6 @@ class SettingsPreferenceFragment : PreferenceFragmentCompat() {
8890
val restore = DataStore.nightThemeBeforeDracula
8991
if (restore != -1) {
9092
DataStore.nightThemeBeforeDracula = -1
91-
DataStore.nightTheme = restore
9293
Theme.currentNightMode = restore
9394
nightTheme.value = restore.toString()
9495
Theme.applyNightTheme()

0 commit comments

Comments
 (0)