Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cf5f6d10 authored by satok's avatar satok
Browse files

Update InputMethodPanel when locale was changed.

Bug: 3400950

Change-Id: I2229f175ec03084dd689fbd0f0c5a187b78ead33
parent 07520feb
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -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;
    }