diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java index 32e8e839cfe..a2700cfc44e 100644 --- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java +++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java @@ -98,6 +98,8 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference arg0, Object arg1) { + InputMethodSettingValuesWrapper.getInstance( + arg0.getContext()).refreshAllInputMethodAndSubtypes(); ((BaseAdapter)getPreferenceScreen().getRootAdapter()).notifyDataSetChanged(); updateInputMethodPreferenceViews(); return true; diff --git a/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnabler.java b/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnabler.java index 6ceb55eb162..419a8774996 100644 --- a/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnabler.java +++ b/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnabler.java @@ -107,6 +107,10 @@ public class InputMethodAndSubtypeEnabler extends SettingsPreferenceFragment { @Override public void onResume() { super.onResume(); + // Refresh internal states in mInputMethodSettingValues to keep the latest + // "InputMethodInfo"s and "InputMethodSubtype"s + InputMethodSettingValuesWrapper + .getInstance(getActivity()).refreshAllInputMethodAndSubtypes(); InputMethodAndSubtypeUtil.loadInputMethodSubtypeList( this, getContentResolver(), mInputMethodProperties, mInputMethodAndSubtypePrefsMap); updateAutoSelectionCB(); diff --git a/src/com/android/settings/inputmethod/InputMethodPreference.java b/src/com/android/settings/inputmethod/InputMethodPreference.java index 3f7b8691e0f..aa6430fc903 100644 --- a/src/com/android/settings/inputmethod/InputMethodPreference.java +++ b/src/com/android/settings/inputmethod/InputMethodPreference.java @@ -251,8 +251,6 @@ public class InputMethodPreference extends CheckBoxPreference { super.setChecked(checked); if (save) { saveImeSettings(); - InputMethodSettingValuesWrapper.getInstance( - getContext()).refreshAllInputMethodAndSubtypes(); if (wasChecked != checked && mOnImePreferenceChangeListener != null) { mOnImePreferenceChangeListener.onPreferenceChange(this, checked); }