Change the refresh timing in input method settings

Bug: 8364845
Change-Id: I564a4b0d80cec5be670e2ca89e09d45944671082
This commit is contained in:
Satoshi Kataoka
2013-08-05 18:00:49 +09:00
parent 5aef342aad
commit cabde98bcd
3 changed files with 6 additions and 2 deletions

View File

@@ -98,6 +98,8 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment
new OnPreferenceChangeListener() { new OnPreferenceChangeListener() {
@Override @Override
public boolean onPreferenceChange(Preference arg0, Object arg1) { public boolean onPreferenceChange(Preference arg0, Object arg1) {
InputMethodSettingValuesWrapper.getInstance(
arg0.getContext()).refreshAllInputMethodAndSubtypes();
((BaseAdapter)getPreferenceScreen().getRootAdapter()).notifyDataSetChanged(); ((BaseAdapter)getPreferenceScreen().getRootAdapter()).notifyDataSetChanged();
updateInputMethodPreferenceViews(); updateInputMethodPreferenceViews();
return true; return true;

View File

@@ -107,6 +107,10 @@ public class InputMethodAndSubtypeEnabler extends SettingsPreferenceFragment {
@Override @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
// Refresh internal states in mInputMethodSettingValues to keep the latest
// "InputMethodInfo"s and "InputMethodSubtype"s
InputMethodSettingValuesWrapper
.getInstance(getActivity()).refreshAllInputMethodAndSubtypes();
InputMethodAndSubtypeUtil.loadInputMethodSubtypeList( InputMethodAndSubtypeUtil.loadInputMethodSubtypeList(
this, getContentResolver(), mInputMethodProperties, mInputMethodAndSubtypePrefsMap); this, getContentResolver(), mInputMethodProperties, mInputMethodAndSubtypePrefsMap);
updateAutoSelectionCB(); updateAutoSelectionCB();

View File

@@ -251,8 +251,6 @@ public class InputMethodPreference extends CheckBoxPreference {
super.setChecked(checked); super.setChecked(checked);
if (save) { if (save) {
saveImeSettings(); saveImeSettings();
InputMethodSettingValuesWrapper.getInstance(
getContext()).refreshAllInputMethodAndSubtypes();
if (wasChecked != checked && mOnImePreferenceChangeListener != null) { if (wasChecked != checked && mOnImePreferenceChangeListener != null) {
mOnImePreferenceChangeListener.onPreferenceChange(this, checked); mOnImePreferenceChangeListener.onPreferenceChange(this, checked);
} }