From ff009beb78c2f8f6c304ee75d61d451c515a6b55 Mon Sep 17 00:00:00 2001 From: Helium314 Date: Fri, 20 Oct 2023 17:49:47 +0200 Subject: [PATCH] reload keyboard when changing functional hint setting fixes #189 --- .../latin/settings/PreferencesSettingsFragment.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/PreferencesSettingsFragment.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/PreferencesSettingsFragment.java index 3f8cda8e7..c91ab0844 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/PreferencesSettingsFragment.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/PreferencesSettingsFragment.java @@ -18,12 +18,15 @@ import android.os.Bundle; import androidx.core.graphics.drawable.DrawableCompat; import androidx.preference.Preference; +import org.dslul.openboard.inputmethod.keyboard.KeyboardSwitcher; import org.dslul.openboard.inputmethod.latin.AudioAndHapticFeedbackManager; import org.dslul.openboard.inputmethod.latin.R; import org.dslul.openboard.inputmethod.latin.RichInputMethodManager; public final class PreferencesSettingsFragment extends SubScreenFragment { + private boolean mReloadKeyboard = false; + @Override public void onCreate(final Bundle icicle) { super.onCreate(icicle); @@ -69,6 +72,16 @@ public final class PreferencesSettingsFragment extends SubScreenFragment { @Override public void onSharedPreferenceChanged(final SharedPreferences prefs, final String key) { refreshEnablingsOfKeypressSoundAndVibrationAndHistRetentionSettings(); + if (Settings.PREF_SHOW_POPUP_HINTS.equals(key)) + mReloadKeyboard = true; + } + + @Override + public void onPause() { + super.onPause(); + if (mReloadKeyboard) + KeyboardSwitcher.getInstance().forceUpdateKeyboardTheme(requireContext()); + mReloadKeyboard = false; } private void refreshEnablingsOfKeypressSoundAndVibrationAndHistRetentionSettings() {