From 61a73572b82ea010b101655607c89639d7fca5a4 Mon Sep 17 00:00:00 2001 From: Helium314 Date: Thu, 31 Aug 2023 16:05:16 +0200 Subject: [PATCH] fix crash when day/night switch is removed --- .../latin/settings/AppearanceSettingsFragment.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/AppearanceSettingsFragment.kt b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/AppearanceSettingsFragment.kt index b1d9ac7de..ea1b70b7b 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/AppearanceSettingsFragment.kt +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/AppearanceSettingsFragment.kt @@ -58,7 +58,7 @@ class AppearanceSettingsFragment : SubScreenFragment(), Preference.OnPreferenceC private lateinit var themeFamilyPref: ListPreference private lateinit var themeVariantPref: ListPreference - private lateinit var customThemeVariantNightPref: ListPreference + private var customThemeVariantNightPref: ListPreference? = null private lateinit var keyBordersPref: TwoStatePreference private var dayNightPref: TwoStatePreference? = null private lateinit var userColorsPref: Preference @@ -128,7 +128,7 @@ class AppearanceSettingsFragment : SubScreenFragment(), Preference.OnPreferenceC // doing things on changing, but with the old values is not good, this is at least a little better private fun updateAfterPreferenceChanged() { - customThemeVariantNightPref.apply { + customThemeVariantNightPref?.apply { if (KeyboardTheme.getIsCustom(selectedThemeId)) { // show preference to allow choosing a night theme // can't hide a preference, at least not without category or maybe some androidx things @@ -250,8 +250,8 @@ class AppearanceSettingsFragment : SubScreenFragment(), Preference.OnPreferenceC updateThemePreferencesState(skipThemeFamily = true) true } - customThemeVariantNightPref = preferenceScreen.findPreference(Settings.PREF_CUSTOM_THEME_VARIANT_NIGHT) as ListPreference - customThemeVariantNightPref.apply { + customThemeVariantNightPref = preferenceScreen.findPreference(Settings.PREF_CUSTOM_THEME_VARIANT_NIGHT) as? ListPreference + customThemeVariantNightPref?.apply { onPreferenceChangeListener = Preference.OnPreferenceChangeListener { _, value -> // not so nice workaround, could be removed in the necessary re-work: new value seems // to be stored only after this method call, but we update the summary and user-defined color enablement in here -> store it now