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

Commit 411c02dd authored by Yohei Yukawa's avatar Yohei Yukawa
Browse files

Remove InputMethodSettings#appendAndPutEnabledInputMethodLocked()

This is a mechanical cleanup CL to remove

  InputMethodSettings#appendAndPutEnabledInputMethodLocked()

by using

  InputMethodUtils#concatEnabledImeIds(),

added in my prvious CL [1].

This is a mechanical cleanup CL with a new unit test. There must be no
observable behavior change.

 [1]: I01d13d1f46a5af19d6db18246f74a20a4fe14168

Bug: 309837937
Test: presubmit
Change-Id: I6ec7b52dceb5d1334389866a565d593381119060
parent 1ce208cd
Loading
Loading
Loading
Loading
+20 −20
Original line number Diff line number Diff line
@@ -5264,21 +5264,21 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
     */
    @GuardedBy("ImfLock.class")
    private boolean setInputMethodEnabledLocked(String id, boolean enabled) {
        List<Pair<String, ArrayList<String>>> enabledInputMethodsList = mSettings
                .getEnabledInputMethodsAndSubtypeListLocked();

        if (enabled) {
            for (Pair<String, ArrayList<String>> pair: enabledInputMethodsList) {
                if (pair.first.equals(id)) {
            final String enabledImeIdsStr = mSettings.getEnabledInputMethodsStr();
            final String newEnabledImeIdsStr = InputMethodUtils.concatEnabledImeIds(
                    enabledImeIdsStr, id);
            if (TextUtils.equals(enabledImeIdsStr, newEnabledImeIdsStr)) {
                // We are enabling this input method, but it is already enabled.
                // Nothing to do. The previous state was enabled.
                return true;
            }
            }
            mSettings.appendAndPutEnabledInputMethodLocked(id);
            mSettings.putEnabledInputMethodsStr(newEnabledImeIdsStr);
            // Previous state was disabled.
            return false;
        } else {
            final List<Pair<String, ArrayList<String>>> enabledInputMethodsList = mSettings
                    .getEnabledInputMethodsAndSubtypeListLocked();
            StringBuilder builder = new StringBuilder();
            if (mSettings.buildAndPutEnabledInputMethodsStrRemovingIdLocked(
                    builder, enabledInputMethodsList, id)) {
@@ -5610,9 +5610,11 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
                    return false; // IME is not found.
                }
                if (enabled) {
                    if (!settings.getEnabledInputMethodListLocked().contains(
                            methodMap.get(imeId))) {
                        settings.appendAndPutEnabledInputMethodLocked(imeId);
                    final String enabledImeIdsStr = settings.getEnabledInputMethodsStr();
                    final String newEnabledImeIdsStr = InputMethodUtils.concatEnabledImeIds(
                            enabledImeIdsStr, imeId);
                    if (!TextUtils.equals(enabledImeIdsStr, newEnabledImeIdsStr)) {
                        settings.putEnabledInputMethodsStr(newEnabledImeIdsStr);
                    }
                } else {
                    settings.buildAndPutEnabledInputMethodsStrRemovingIdLocked(
@@ -6351,14 +6353,12 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
                if (!methodMap.containsKey(imeId)) {
                    failedToEnableUnknownIme = true;
                } else {
                    for (InputMethodInfo imi : settings.getEnabledInputMethodListLocked()) {
                        if (TextUtils.equals(imi.getId(), imeId)) {
                            previouslyEnabled = true;
                            break;
                        }
                    }
                    final String enabledImeIdsStr = settings.getEnabledInputMethodsStr();
                    final String newEnabledImeIdsStr = InputMethodUtils.concatEnabledImeIds(
                            enabledImeIdsStr, imeId);
                    previouslyEnabled = TextUtils.equals(enabledImeIdsStr, newEnabledImeIdsStr);
                    if (!previouslyEnabled) {
                        settings.appendAndPutEnabledInputMethodLocked(imeId);
                        settings.putEnabledInputMethodsStr(newEnabledImeIdsStr);
                    }
                }
            } else {
+0 −10
Original line number Diff line number Diff line
@@ -352,16 +352,6 @@ final class InputMethodUtils {
            return imsList;
        }

        void appendAndPutEnabledInputMethodLocked(String id) {
            if (TextUtils.isEmpty(mEnabledInputMethodsStrCache)) {
                // Add in the newly enabled input method.
                putEnabledInputMethodsStr(id);
            } else {
                putEnabledInputMethodsStr(
                        mEnabledInputMethodsStrCache + INPUT_METHOD_SEPARATOR + id);
            }
        }

        /**
         * Build and put a string of EnabledInputMethods with removing specified Id.
         * @return the specified id was removed or not.