diff options
author | 2024-06-13 21:30:57 +0000 | |
---|---|---|
committer | 2024-06-13 21:30:57 +0000 | |
commit | bf7b5761a906c9d905d1674c7f35a6a0dc58ef00 (patch) | |
tree | 9ddaacf98356562f8326ed4aeb3add8d464d9f55 | |
parent | 9df00b18135dc99b6ab0cb819f7b5195e4f9d8f7 (diff) | |
parent | 43e460464a196e36181019112c53379b95ea9dca (diff) |
Merge "Inline several methods in IMMS#attachNewInputLocked()" into main
-rw-r--r-- | services/core/java/com/android/server/inputmethod/InputMethodManagerService.java | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java index 88636a7adc17..99036c64fb71 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java @@ -2005,17 +2005,18 @@ public final class InputMethodManagerService implements IInputMethodManagerImpl. @GuardedBy("ImfLock.class") @NonNull InputBindResult attachNewInputLocked(@StartInputReason int startInputReason, boolean initial) { + final int userId = mCurrentUserId; + final var bindingController = getInputMethodBindingController(userId); if (!mBoundToMethod) { - getCurMethodLocked().bindInput(mCurClient.mBinding); + bindingController.getCurMethod().bindInput(mCurClient.mBinding); mBoundToMethod = true; } final boolean restarting = !initial; final Binder startInputToken = new Binder(); - final var bindingController = getInputMethodBindingController(mCurrentUserId); final StartInputInfo info = new StartInputInfo(mCurrentUserId, - getCurTokenLocked(), - getCurTokenDisplayIdLocked(), bindingController.getCurId(), startInputReason, + bindingController.getCurToken(), bindingController.getCurTokenDisplayId(), + bindingController.getCurId(), startInputReason, restarting, UserHandle.getUserId(mCurClient.mUid), mCurClient.mSelfReportedDisplayId, mImeBindingState.mFocusedWindow, mCurEditorInfo, mImeBindingState.mFocusedWindowSoftInputMode, @@ -2028,9 +2029,8 @@ public final class InputMethodManagerService implements IInputMethodManagerImpl. // same-user scenarios. // That said ignoring cross-user scenario will never affect IMEs that do not have // INTERACT_ACROSS_USERS(_FULL) permissions, which is actually almost always the case. - if (mCurrentUserId == UserHandle.getUserId( - mCurClient.mUid)) { - mPackageManagerInternal.grantImplicitAccess(mCurrentUserId, null /* intent */, + if (userId == UserHandle.getUserId(mCurClient.mUid)) { + mPackageManagerInternal.grantImplicitAccess(userId, null /* intent */, UserHandle.getAppId(bindingController.getCurMethodUid()), mCurClient.mUid, true /* direct */); } @@ -2060,7 +2060,7 @@ public final class InputMethodManagerService implements IInputMethodManagerImpl. } final var curId = bindingController.getCurId(); - final InputMethodInfo curInputMethodInfo = InputMethodSettingsRepository.get(mCurrentUserId) + final InputMethodInfo curInputMethodInfo = InputMethodSettingsRepository.get(userId) .getMethodMap().get(curId); final boolean suppressesSpellChecker = curInputMethodInfo != null && curInputMethodInfo.suppressesSpellChecker(); |