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

Commit 8a8adfc3 authored by Yohei Yukawa's avatar Yohei Yukawa
Browse files

Partly inline IMMS#attachNewAccessibilityLocked()

This CL partly inlines

  InputMethodManagerService#attachNewAccessibilityLocked(),

which was added to as part of our A11yIme effort [1].

This CL is a mechanical refactoring and changes nothing.

 [1]: Ia651a811093a939d00c081be1961e24ed3ad0356
      fb17e5ae

Bug: 234882948
Test: presubmit
Change-Id: I52e174433df6476ef1d2126e4fdbd18142aaf24a
parent bc1fe9dd
Loading
Loading
Loading
Loading
+19 −24
Original line number Diff line number Diff line
@@ -2475,9 +2475,8 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
    }

    @GuardedBy("ImfLock.class")
    @Nullable
    InputBindResult attachNewAccessibilityLocked(@StartInputReason int startInputReason,
            boolean initial, int id) {
    private void attachNewAccessibilityLocked(@StartInputReason int startInputReason,
            boolean initial) {
        if (!mBoundToAccessibility) {
            AccessibilityManagerInternal.get().bindInput();
            mBoundToAccessibility = true;
@@ -2486,8 +2485,6 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
        // TODO(b/187453053): grantImplicitAccess to accessibility services access? if so, need to
        //  record accessibility services uid.

        final AccessibilitySessionState accessibilitySession =
                mCurClient.mAccessibilitySessions.get(id);
        // We don't start input when session for a11y is created. We start input when
        // input method start input, a11y manager service is always on.
        if (startInputReason != StartInputReason.SESSION_CREATED_BY_ACCESSIBILITY) {
@@ -2495,19 +2492,6 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
            AccessibilityManagerInternal.get().startInput(mCurRemoteAccessibilityInputConnection,
                    mCurEditorInfo, !initial /* restarting */);
        }

        if (accessibilitySession != null) {
            final SessionState session = mCurClient.curSession;
            IInputMethodSession imeSession = session == null ? null : session.session;
            final SparseArray<IAccessibilityInputMethodSession> accessibilityInputMethodSessions =
                    createAccessibilityInputMethodSessions(mCurClient.mAccessibilitySessions);
            return new InputBindResult(
                    InputBindResult.ResultCode.SUCCESS_WITH_ACCESSIBILITY_SESSION,
                    imeSession, accessibilityInputMethodSessions, null,
                    getCurIdLocked(), getSequenceNumberLocked(), mCurVirtualDisplayToScreenMatrix,
                    false);
        }
        return null;
    }

    private SparseArray<IAccessibilityInputMethodSession> createAccessibilityInputMethodSessions(
@@ -2617,7 +2601,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
                // we can always attach to accessibility because AccessibilityManagerService is
                // always on.
                attachNewAccessibilityLocked(startInputReason,
                        (startInputFlags & StartInputFlags.INITIAL_CONNECTION) != 0, -1);
                        (startInputFlags & StartInputFlags.INITIAL_CONNECTION) != 0);
                return attachNewInputLocked(startInputReason,
                        (startInputFlags & StartInputFlags.INITIAL_CONNECTION) != 0);
            }
@@ -2796,8 +2780,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
                                method, session, channel);
                        InputBindResult res = attachNewInputLocked(
                                StartInputReason.SESSION_CREATED_BY_IME, true);
                        attachNewAccessibilityLocked(StartInputReason.SESSION_CREATED_BY_IME,
                                true, -1);
                        attachNewAccessibilityLocked(StartInputReason.SESSION_CREATED_BY_IME, true);
                        if (res.method != null) {
                            mCurClient.client.onBindMethod(res);
                        }
@@ -5449,9 +5432,21 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
                    mCurClient.mAccessibilitySessions.put(accessibilityConnectionId,
                            new AccessibilitySessionState(mCurClient, accessibilityConnectionId,
                                    session));
                    InputBindResult res = attachNewAccessibilityLocked(
                            StartInputReason.SESSION_CREATED_BY_ACCESSIBILITY, true,
                            accessibilityConnectionId);

                    attachNewAccessibilityLocked(StartInputReason.SESSION_CREATED_BY_ACCESSIBILITY,
                            true);

                    final SessionState sessionState = mCurClient.curSession;
                    final IInputMethodSession imeSession = sessionState == null
                            ? null : sessionState.session;
                    final SparseArray<IAccessibilityInputMethodSession>
                            accessibilityInputMethodSessions =
                                    createAccessibilityInputMethodSessions(
                                            mCurClient.mAccessibilitySessions);
                    final InputBindResult res = new InputBindResult(
                            InputBindResult.ResultCode.SUCCESS_WITH_ACCESSIBILITY_SESSION,
                            imeSession, accessibilityInputMethodSessions, null, getCurIdLocked(),
                            getSequenceNumberLocked(), mCurVirtualDisplayToScreenMatrix, false);
                    mCurClient.client.onBindAccessibilityService(res, accessibilityConnectionId);
                }
            }