diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java index 9de83c7155b0a..34b2769da86c0 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java @@ -3961,7 +3961,11 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub if (mCurFocusedWindowClient != null && client != null && mCurFocusedWindowClient.client.asBinder() == client.asBinder()) { return true; - } else if (getCurIntentLocked() != null && InputMethodUtils.checkIfPackageBelongsToUid( + } + if (mSettings.getCurrentUserId() != UserHandle.getUserId(uid)) { + return false; + } + if (getCurIntentLocked() != null && InputMethodUtils.checkIfPackageBelongsToUid( mAppOpsManager, uid, getCurIntentLocked().getComponent().getPackageName())) { @@ -3974,9 +3978,6 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub public void showInputMethodPickerFromClient(IInputMethodClient client, int auxiliarySubtypeMode) { synchronized (ImfLock.class) { - if (!calledFromValidUserLocked()) { - return; - } if (!canShowInputMethodPickerLocked(client)) { Slog.w(TAG, "Ignoring showInputMethodPickerFromClient of uid " + Binder.getCallingUid() + ": " + client);