Simplify IMMS#getEnabledInputMethodSubtypeList() a bit

This is a follow up CL to my previous CL [1], which let query APIs
defined in InputMethodManager support background users.

Basically UserHandle.getCallingUserId() never returns a pseudo user ID
such as UserHandle#USER_CURRENT.  Hence there is no need to use
InputMethodUtils.resolveUserId there.

There should be no developer observable behavior change.

 [1]: I192a0f5a1375170d17a4c08af94f23966dbaea8b
      7f8ee4b9dd

Bug: 122164939
Bug: 234882948
Test: make -j CtsInputMethod1  \
                CtsInputMethod2  \
                CtsInputMethodServiceDeviceTests  \
                CtsInputMethodServiceEventProvider  \
                CtsInputMethodServiceHostTestCases  \
                EditTextApp  &&
        atest CtsInputMethodServiceHostTestCases
Change-Id: I85da7d819b6fba01fce1e5df1347534febf9aa53
This commit is contained in:
Yohei Yukawa
2022-07-26 07:55:57 +09:00
parent d4384a5ff2
commit 9e134c8970

View File

@@ -2208,15 +2208,10 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
boolean allowsImplicitlySelectedSubtypes) {
final int callingUserId = UserHandle.getCallingUserId();
synchronized (ImfLock.class) {
final int[] resolvedUserIds = InputMethodUtils.resolveUserId(callingUserId,
mSettings.getCurrentUserId(), null);
if (resolvedUserIds.length != 1) {
return Collections.emptyList();
}
final long ident = Binder.clearCallingIdentity();
try {
return getEnabledInputMethodSubtypeListLocked(imiId,
allowsImplicitlySelectedSubtypes, resolvedUserIds[0]);
allowsImplicitlySelectedSubtypes, callingUserId);
} finally {
Binder.restoreCallingIdentity(ident);
}