From cabde98bcddc2c609a5929b019ebe73f1a68e004 Mon Sep 17 00:00:00 2001 From: Satoshi Kataoka Date: Mon, 5 Aug 2013 18:00:49 +0900 Subject: [PATCH] Change the refresh timing in input method settings Bug: 8364845 Change-Id: I564a4b0d80cec5be670e2ca89e09d45944671082 --- .../settings/inputmethod/InputMethodAndLanguageSettings.java | 2 ++ .../settings/inputmethod/InputMethodAndSubtypeEnabler.java | 4 ++++ .../android/settings/inputmethod/InputMethodPreference.java | 2 -- 3 files changed, 6 insertions(+), 2 deletions(-) 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); }