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

Commit d885398d authored by Yohei Yukawa's avatar Yohei Yukawa Committed by Android (Google) Code Review
Browse files

Merge "Inline IMMS#getCurMethodUidLocked" into main

parents ba74bb1b e2e5ae66
Loading
Loading
Loading
Loading
+6 −12
Original line number Diff line number Diff line
@@ -616,15 +616,6 @@ public final class InputMethodManagerService implements IInputMethodManagerImpl.
        return userData.mBindingController.getCurMethod();
    }

    /**
     * If not {@link Process#INVALID_UID}, then the UID of {@link #getCurIntentLocked()}.
     */
    @GuardedBy("ImfLock.class")
    private int getCurMethodUidLocked() {
        final var userData = mUserDataRepository.getOrCreate(mCurrentUserId);
        return userData.mBindingController.getCurMethodUid();
    }

    /**
     * Have we called mCurMethod.bindInput()?
     */
@@ -2011,8 +2002,8 @@ public final class InputMethodManagerService implements IInputMethodManagerImpl.
        // INTERACT_ACROSS_USERS(_FULL) permissions, which is actually almost always the case.
        if (mCurrentUserId == UserHandle.getUserId(
                mCurClient.mUid)) {
            mPackageManagerInternal.grantImplicitAccess(mCurrentUserId,
                    null /* intent */, UserHandle.getAppId(getCurMethodUidLocked()),
            mPackageManagerInternal.grantImplicitAccess(mCurrentUserId, null /* intent */,
                    UserHandle.getAppId(userData.mBindingController.getCurMethodUid()),
                    mCurClient.mUid, true /* direct */);
        }

@@ -4885,7 +4876,10 @@ public final class InputMethodManagerService implements IInputMethodManagerImpl.
            if (mCurClient == null || mCurClient.mClient == null) {
                return;
            }
            if (mImePlatformCompatUtils.shouldUseSetInteractiveProtocol(getCurMethodUidLocked())) {
            // TODO(b/325515685): user data must be retrieved by a userId parameter
            final var userData = mUserDataRepository.getOrCreate(mCurrentUserId);
            if (mImePlatformCompatUtils.shouldUseSetInteractiveProtocol(
                    userData.mBindingController.getCurMethodUid())) {
                // Handle IME visibility when interactive changed before finishing the input to
                // ensure we preserve the last state as possible.
                final ImeVisibilityResult imeVisRes = mVisibilityStateComputer.onInteractiveChanged(