fix localized number row

This commit is contained in:
Helium314 2023-11-30 10:58:53 +01:00
parent 9a3c631a75
commit 662c6f638d
2 changed files with 2 additions and 9 deletions

View file

@ -79,8 +79,6 @@ public final class PreferencesSettingsFragment extends SubScreenFragment {
refreshEnablingsOfKeypressSoundAndVibrationAndHistRetentionSettings(); refreshEnablingsOfKeypressSoundAndVibrationAndHistRetentionSettings();
if (Settings.PREF_SHOW_POPUP_HINTS.equals(key)) if (Settings.PREF_SHOW_POPUP_HINTS.equals(key))
mReloadKeyboard = true; mReloadKeyboard = true;
if (key.equals(Settings.PREF_SHOW_NUMBER_ROW))
setLocalizedNumberRowVisibility();
if (key.equals(Settings.PREF_LOCALIZED_NUMBER_ROW)) if (key.equals(Settings.PREF_LOCALIZED_NUMBER_ROW))
KeyboardLayoutSet.onSystemLocaleChanged(); KeyboardLayoutSet.onSystemLocaleChanged();
} }
@ -96,12 +94,7 @@ public final class PreferencesSettingsFragment extends SubScreenFragment {
private void setLocalizedNumberRowVisibility() { private void setLocalizedNumberRowVisibility() {
final Preference pref = findPreference(Settings.PREF_LOCALIZED_NUMBER_ROW); final Preference pref = findPreference(Settings.PREF_LOCALIZED_NUMBER_ROW);
if (pref == null) return; if (pref == null) return;
if (!getSharedPreferences().getBoolean(Settings.PREF_SHOW_NUMBER_ROW, false)) { // locales that have a number row defined (not good to have it hardcoded, but reading a bunch of files may be noticeably slow)
pref.setVisible(false);
return;
}
// locales that have a number row defined (not good to have it hardcoded, but reading a bunch of files isn't great either)
final String[] numberRowLocales = new String[] { "ar", "bn", "fa", "hi", "mr", "ne", "ur" }; final String[] numberRowLocales = new String[] { "ar", "bn", "fa", "hi", "mr", "ne", "ur" };
for (final InputMethodSubtype subtype : SubtypeSettingsKt.getEnabledSubtypes(getSharedPreferences(), true)) { for (final InputMethodSubtype subtype : SubtypeSettingsKt.getEnabledSubtypes(getSharedPreferences(), true)) {
if (ArraysKt.any(numberRowLocales, (l) -> l.equals(subtype.getLocale().substring(0, 2)))) { if (ArraysKt.any(numberRowLocales, (l) -> l.equals(subtype.getLocale().substring(0, 2)))) {

View file

@ -149,7 +149,7 @@ public class SettingsValues {
mLanguageSwitchKeyToOtherImes = languagePref.equals("input_method") || languagePref.equals("both"); mLanguageSwitchKeyToOtherImes = languagePref.equals("input_method") || languagePref.equals("both");
mLanguageSwitchKeyToOtherSubtypes = languagePref.equals("internal") || languagePref.equals("both"); mLanguageSwitchKeyToOtherSubtypes = languagePref.equals("internal") || languagePref.equals("both");
mShowsNumberRow = prefs.getBoolean(Settings.PREF_SHOW_NUMBER_ROW, false); mShowsNumberRow = prefs.getBoolean(Settings.PREF_SHOW_NUMBER_ROW, false);
mLocalizedNumberRow = mShowsNumberRow && prefs.getBoolean(Settings.PREF_LOCALIZED_NUMBER_ROW, true); mLocalizedNumberRow = prefs.getBoolean(Settings.PREF_LOCALIZED_NUMBER_ROW, true);
mShowsHints = prefs.getBoolean(Settings.PREF_SHOW_HINTS, true); mShowsHints = prefs.getBoolean(Settings.PREF_SHOW_HINTS, true);
mShowsPopupHints = prefs.getBoolean(Settings.PREF_SHOW_POPUP_HINTS, false); mShowsPopupHints = prefs.getBoolean(Settings.PREF_SHOW_POPUP_HINTS, false);
mSpaceForLangChange = prefs.getBoolean(Settings.PREF_SPACE_TO_CHANGE_LANG, true); mSpaceForLangChange = prefs.getBoolean(Settings.PREF_SPACE_TO_CHANGE_LANG, true);