diff options
| author | 2011-01-28 12:16:31 +0900 | |
|---|---|---|
| committer | 2011-01-28 12:54:10 +0900 | |
| commit | cf5f6d107a50f8b859158adc00254df72a1aec7e (patch) | |
| tree | b791d746af0c798f1eb205396aa268f3eff4ffd2 | |
| parent | 07520feb6d908930be19d1a93d5a35f64b5a62ab (diff) | |
Update InputMethodPanel when locale was changed.
Bug: 3400950
Change-Id: I2229f175ec03084dd689fbd0f0c5a187b78ead33
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/tablet/InputMethodsPanel.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/InputMethodsPanel.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/InputMethodsPanel.java index a1cc274ef99c..474ef456c37c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/InputMethodsPanel.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/InputMethodsPanel.java @@ -75,6 +75,7 @@ public class InputMethodsPanel extends LinearLayout implements StatusBarPanel, O private LinearLayout mInputMethodMenuList; private PackageManager mPackageManager; private String mEnabledInputMethodAndSubtypesCacheStr; + private String mLastSystemLocaleString; private View mConfigureImeShortcut; private class InputMethodComparator implements Comparator<InputMethodInfo> { @@ -335,8 +336,10 @@ public class InputMethodsPanel extends LinearLayout implements StatusBarPanel, O getEnabledInputMethodAndSubtypeList() { String newEnabledIMIs = Settings.Secure.getString( mContext.getContentResolver(), Settings.Secure.ENABLED_INPUT_METHODS); - if (mEnabledInputMethodAndSubtypesCacheStr == null - || !mEnabledInputMethodAndSubtypesCacheStr.equals(newEnabledIMIs) + String currentSystemLocaleString = + mContext.getResources().getConfiguration().locale.toString(); + if (!TextUtils.equals(mEnabledInputMethodAndSubtypesCacheStr, newEnabledIMIs) + || !TextUtils.equals(mLastSystemLocaleString, currentSystemLocaleString) || mPackageChanged) { mEnabledInputMethodAndSubtypesCache.clear(); final List<InputMethodInfo> imis = mImm.getEnabledInputMethodList(); @@ -346,6 +349,7 @@ public class InputMethodsPanel extends LinearLayout implements StatusBarPanel, O } mEnabledInputMethodAndSubtypesCacheStr = newEnabledIMIs; mPackageChanged = false; + mLastSystemLocaleString = currentSystemLocaleString; } return mEnabledInputMethodAndSubtypesCache; } |