Merge "Update InputMethodPanel when locale was changed." into honeycomb

This commit is contained in:
satok
2011-01-27 20:00:43 -08:00
committed by Android (Google) Code Review

View File

@@ -75,6 +75,7 @@ public class InputMethodsPanel extends LinearLayout implements StatusBarPanel, O
private LinearLayout mInputMethodMenuList; private LinearLayout mInputMethodMenuList;
private PackageManager mPackageManager; private PackageManager mPackageManager;
private String mEnabledInputMethodAndSubtypesCacheStr; private String mEnabledInputMethodAndSubtypesCacheStr;
private String mLastSystemLocaleString;
private View mConfigureImeShortcut; private View mConfigureImeShortcut;
private class InputMethodComparator implements Comparator<InputMethodInfo> { private class InputMethodComparator implements Comparator<InputMethodInfo> {
@@ -335,8 +336,10 @@ public class InputMethodsPanel extends LinearLayout implements StatusBarPanel, O
getEnabledInputMethodAndSubtypeList() { getEnabledInputMethodAndSubtypeList() {
String newEnabledIMIs = Settings.Secure.getString( String newEnabledIMIs = Settings.Secure.getString(
mContext.getContentResolver(), Settings.Secure.ENABLED_INPUT_METHODS); mContext.getContentResolver(), Settings.Secure.ENABLED_INPUT_METHODS);
if (mEnabledInputMethodAndSubtypesCacheStr == null String currentSystemLocaleString =
|| !mEnabledInputMethodAndSubtypesCacheStr.equals(newEnabledIMIs) mContext.getResources().getConfiguration().locale.toString();
if (!TextUtils.equals(mEnabledInputMethodAndSubtypesCacheStr, newEnabledIMIs)
|| !TextUtils.equals(mLastSystemLocaleString, currentSystemLocaleString)
|| mPackageChanged) { || mPackageChanged) {
mEnabledInputMethodAndSubtypesCache.clear(); mEnabledInputMethodAndSubtypesCache.clear();
final List<InputMethodInfo> imis = mImm.getEnabledInputMethodList(); final List<InputMethodInfo> imis = mImm.getEnabledInputMethodList();
@@ -346,6 +349,7 @@ public class InputMethodsPanel extends LinearLayout implements StatusBarPanel, O
} }
mEnabledInputMethodAndSubtypesCacheStr = newEnabledIMIs; mEnabledInputMethodAndSubtypesCacheStr = newEnabledIMIs;
mPackageChanged = false; mPackageChanged = false;
mLastSystemLocaleString = currentSystemLocaleString;
} }
return mEnabledInputMethodAndSubtypesCache; return mEnabledInputMethodAndSubtypesCache;
} }