From 1fc5d60483ba02982aad7678a2d08dd87577c509 Mon Sep 17 00:00:00 2001 From: Helium314 Date: Sat, 1 Mar 2025 17:28:48 +0100 Subject: [PATCH] better instant-reload for some settings (while keyboard is showing) --- .../keyboard/settings/screens/AdvancedScreen.kt | 2 +- .../settings/screens/PreferencesScreen.kt | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/helium314/keyboard/settings/screens/AdvancedScreen.kt b/app/src/main/java/helium314/keyboard/settings/screens/AdvancedScreen.kt index 51ed29ab5..3605a4228 100644 --- a/app/src/main/java/helium314/keyboard/settings/screens/AdvancedScreen.kt +++ b/app/src/main/java/helium314/keyboard/settings/screens/AdvancedScreen.kt @@ -90,7 +90,7 @@ fun createAdvancedSettings(context: Context) = listOf( Setting(context, Settings.PREF_ALWAYS_INCOGNITO_MODE, R.string.incognito, R.string.prefs_force_incognito_mode_summary) { - SwitchPreference(it, Defaults.PREF_ALWAYS_INCOGNITO_MODE) + SwitchPreference(it, Defaults.PREF_ALWAYS_INCOGNITO_MODE) { KeyboardSwitcher.getInstance().setThemeNeedsReload() } }, Setting(context, Settings.PREF_KEY_LONGPRESS_TIMEOUT, R.string.prefs_key_longpress_timeout_settings) { setting -> SliderPreference( diff --git a/app/src/main/java/helium314/keyboard/settings/screens/PreferencesScreen.kt b/app/src/main/java/helium314/keyboard/settings/screens/PreferencesScreen.kt index dab3e281a..17486bae8 100644 --- a/app/src/main/java/helium314/keyboard/settings/screens/PreferencesScreen.kt +++ b/app/src/main/java/helium314/keyboard/settings/screens/PreferencesScreen.kt @@ -81,7 +81,7 @@ fun PreferencesScreen( fun createPreferencesSettings(context: Context) = listOf( Setting(context, Settings.PREF_SHOW_HINTS, R.string.show_hints, R.string.show_hints_summary) { - SwitchPreference(it, Defaults.PREF_SHOW_HINTS) + SwitchPreference(it, Defaults.PREF_SHOW_HINTS) { KeyboardSwitcher.getInstance().reloadKeyboard() } }, Setting(context, Settings.PREF_POPUP_KEYS_LABELS_ORDER, R.string.hint_source) { ReorderSwitchPreference(it, Defaults.PREF_POPUP_KEYS_LABELS_ORDER) @@ -93,7 +93,7 @@ fun createPreferencesSettings(context: Context) = listOf( SwitchPreference(it, Defaults.PREF_SHOW_POPUP_HINTS) { KeyboardSwitcher.getInstance().setThemeNeedsReload() } }, Setting(context, Settings.PREF_POPUP_ON, R.string.popup_on_keypress) { - SwitchPreference(it, Defaults.PREF_POPUP_ON) + SwitchPreference(it, Defaults.PREF_POPUP_ON) { KeyboardSwitcher.getInstance().reloadKeyboard() } }, Setting(context, Settings.PREF_VIBRATE_ON, R.string.vibrate_on_keypress) { SwitchPreference(it, Defaults.PREF_VIBRATE_ON) @@ -110,16 +110,19 @@ fun createPreferencesSettings(context: Context) = listOf( SwitchPreference(it, Defaults.PREF_ENABLE_CLIPBOARD_HISTORY) }, Setting(context, Settings.PREF_SHOW_NUMBER_ROW, R.string.number_row, R.string.number_row_summary) { - SwitchPreference(it, Defaults.PREF_SHOW_NUMBER_ROW) { KeyboardSwitcher.getInstance().setThemeNeedsReload() } + SwitchPreference(it, Defaults.PREF_SHOW_NUMBER_ROW) { KeyboardSwitcher.getInstance().reloadKeyboard() } }, Setting(context, Settings.PREF_LOCALIZED_NUMBER_ROW, R.string.localized_number_row, R.string.localized_number_row_summary) { - SwitchPreference(it, Defaults.PREF_LOCALIZED_NUMBER_ROW) { KeyboardLayoutSet.onSystemLocaleChanged() } + SwitchPreference(it, Defaults.PREF_LOCALIZED_NUMBER_ROW) { + KeyboardLayoutSet.onSystemLocaleChanged() + KeyboardSwitcher.getInstance().reloadKeyboard() + } }, Setting(context, Settings.PREF_SHOW_NUMBER_ROW_HINTS, R.string.number_row_hints) { SwitchPreference(it, Defaults.PREF_SHOW_NUMBER_ROW_HINTS) { KeyboardSwitcher.getInstance().setThemeNeedsReload() } }, Setting(context, Settings.PREF_SHOW_LANGUAGE_SWITCH_KEY, R.string.show_language_switch_key) { - SwitchPreference(it, Defaults.PREF_SHOW_LANGUAGE_SWITCH_KEY) { KeyboardSwitcher.getInstance().setThemeNeedsReload() } + SwitchPreference(it, Defaults.PREF_SHOW_LANGUAGE_SWITCH_KEY) { KeyboardSwitcher.getInstance().reloadKeyboard() } }, Setting(context, Settings.PREF_LANGUAGE_SWITCH_KEY, R.string.language_switch_key_behavior) { ListPreference( @@ -133,7 +136,7 @@ fun createPreferencesSettings(context: Context) = listOf( ) { KeyboardSwitcher.getInstance().setThemeNeedsReload() } }, Setting(context, Settings.PREF_SHOW_EMOJI_KEY, R.string.show_emoji_key) { - SwitchPreference(it, Defaults.PREF_SHOW_EMOJI_KEY) + SwitchPreference(it, Defaults.PREF_SHOW_EMOJI_KEY) { KeyboardSwitcher.getInstance().reloadKeyboard() } }, Setting(context, Settings.PREF_REMOVE_REDUNDANT_POPUPS, R.string.remove_redundant_popups, R.string.remove_redundant_popups_summary)