Do not merge. Refresh "InputMethodPreference"s onResume

Corresponding change is I015075d57ebed94d6b

Bug: 11245599
Change-Id: I8be2b9a81d41fab979afe000bd1bce6fc57550c7
This commit is contained in:
Satoshi Kataoka
2013-10-18 16:57:57 +09:00
parent 2496a32ca6
commit ea90cd2fca

View File

@@ -166,25 +166,6 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment
mKeyboardSettingsCategory.addPreference(currentIme);
}
synchronized (mInputMethodPreferenceList) {
mInputMethodPreferenceList.clear();
final List<InputMethodInfo> imis = mInputMethodSettingValues.getInputMethodList();
final int N = (imis == null ? 0 : imis.size());
for (int i = 0; i < N; ++i) {
final InputMethodInfo imi = imis.get(i);
final InputMethodPreference pref = getInputMethodPreference(imi);
pref.setOnImePreferenceChangeListener(mOnImePreferenceChangedListener);
mInputMethodPreferenceList.add(pref);
}
if (!mInputMethodPreferenceList.isEmpty()) {
Collections.sort(mInputMethodPreferenceList);
for (int i = 0; i < N; ++i) {
mKeyboardSettingsCategory.addPreference(mInputMethodPreferenceList.get(i));
}
}
}
// Build hard keyboard and game controller preference categories.
mIm = (InputManager)getActivity().getSystemService(Context.INPUT_SERVICE);
updateInputDevices();
@@ -427,6 +408,28 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment
private void updateInputMethodPreferenceViews() {
synchronized (mInputMethodPreferenceList) {
// Clear existing "InputMethodPreference"s
for (final InputMethodPreference imp : mInputMethodPreferenceList) {
mKeyboardSettingsCategory.removePreference(imp);
}
mInputMethodPreferenceList.clear();
final List<InputMethodInfo> imis = mInputMethodSettingValues.getInputMethodList();
final int N = (imis == null ? 0 : imis.size());
for (int i = 0; i < N; ++i) {
final InputMethodInfo imi = imis.get(i);
final InputMethodPreference pref = getInputMethodPreference(imi);
pref.setOnImePreferenceChangeListener(mOnImePreferenceChangedListener);
mInputMethodPreferenceList.add(pref);
}
if (!mInputMethodPreferenceList.isEmpty()) {
Collections.sort(mInputMethodPreferenceList);
for (int i = 0; i < N; ++i) {
mKeyboardSettingsCategory.addPreference(mInputMethodPreferenceList.get(i));
}
}
// update views status
for (Preference pref : mInputMethodPreferenceList) {
if (pref instanceof InputMethodPreference) {
((InputMethodPreference) pref).updatePreferenceViews();