aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/com/android/inputmethod/latin/settings/SettingsFragment.java')
-rw-r--r--java/src/com/android/inputmethod/latin/settings/SettingsFragment.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
index cb7dda655..5c60a7350 100644
--- a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
+++ b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
@@ -255,6 +255,7 @@ public final class SettingsFragment extends InputMethodSettingsFragment
}
updateShowCorrectionSuggestionsSummary();
updateKeyPreviewPopupDelaySummary();
+ updateColorSchemeSummary(prefs, getResources());
updateCustomInputStylesSummary();
}
@@ -288,6 +289,7 @@ public final class SettingsFragment extends InputMethodSettingsFragment
ensureConsistencyOfAutoCorrectionSettings();
updateShowCorrectionSuggestionsSummary();
updateKeyPreviewPopupDelaySummary();
+ updateColorSchemeSummary(prefs, res);
refreshEnablingsOfKeypressSoundAndVibrationSettings(prefs, getResources());
}
@@ -305,6 +307,25 @@ public final class SettingsFragment extends InputMethodSettingsFragment
mShowCorrectionSuggestionsPreference.getValue())]);
}
+ private void updateColorSchemeSummary(final SharedPreferences prefs, final Resources res) {
+ // Because the "%s" summary trick of {@link ListPreference} doesn't work properly before
+ // KitKat, we need to update the summary by code.
+ final Preference preference = findPreference(Settings.PREF_KEYBOARD_LAYOUT);
+ if (!(preference instanceof ListPreference)) {
+ Log.w(TAG, "Can't find Keyboard Color Scheme preference");
+ return;
+ }
+ final ListPreference colorSchemePreference = (ListPreference)preference;
+ final int themeIndex = Settings.readKeyboardThemeIndex(prefs, res);
+ int entryIndex = colorSchemePreference.findIndexOfValue(Integer.toString(themeIndex));
+ if (entryIndex < 0) {
+ final int defaultThemeIndex = Settings.resetAndGetDefaultKeyboardThemeIndex(prefs, res);
+ entryIndex = colorSchemePreference.findIndexOfValue(
+ Integer.toString(defaultThemeIndex));
+ }
+ colorSchemePreference.setSummary(colorSchemePreference.getEntries()[entryIndex]);
+ }
+
private void updateCustomInputStylesSummary() {
final PreferenceScreen customInputStyles =
(PreferenceScreen)findPreference(Settings.PREF_CUSTOM_INPUT_STYLES);