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

Commit caf50d12 authored by Alex Johnston's avatar Alex Johnston Committed by Android (Google) Code Review
Browse files

Merge "Allow enabled IMEs to be disabled in Settings" into sc-dev

parents 826a146c a47f5c1a
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -91,11 +91,19 @@ public final class AvailableVirtualKeyboardFragment extends SettingsPreferenceFr
        List<String> permittedList = mDpm.getPermittedInputMethodsForCurrentUser();
        final Context context = getPrefContext();
        final List<InputMethodInfo> imis = mInputMethodSettingValues.getInputMethodList();
        final List<InputMethodInfo> enabledImis = mImm.getEnabledInputMethodList();
        final int numImis = (imis == null ? 0 : imis.size());
        for (int i = 0; i < numImis; ++i) {
            final InputMethodInfo imi = imis.get(i);
            // TODO (b/182876800): Move this logic out of isAllowedByOrganization and
            // into a new boolean.
            // If an input method is enabled but not included in the permitted list, then set it as
            // allowed by organization. Doing so will allow the user to disable the input method and
            // remain complaint with the organization's policy. Once disabled, the input method
            // cannot be re-enabled because it is not in the permitted list.
            final boolean isAllowedByOrganization = permittedList == null
                    || permittedList.contains(imi.getPackageName());
                    || permittedList.contains(imi.getPackageName())
                    || enabledImis.contains(imi);
            final InputMethodPreference pref = new InputMethodPreference(
                    context, imi, true, isAllowedByOrganization, this);
            pref.setIcon(imi.loadIcon(context.getPackageManager()));