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

Commit e7d0682b authored by Yohei Yukawa's avatar Yohei Yukawa
Browse files

Stop relying on IActivityManager#getCurrentUser() in IMMS

There is no good reason for InputMethodManagerService to continue using

  IActivityManager#getCurrentUser()

to get the current user ID because such information is already
available through

  ActivityManagerInternal#getCurrentUserId().

There should be no observable behavior change in this CL.

Bug: 234882948
Test: presubmit
Change-Id: Id386400df4d45c0b710902e60bb0715c6e1fc3bb
parent fc48388a
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -297,6 +297,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
    private final SparseBooleanArray mLoggedDeniedGetInputMethodWindowVisibleHeightForUid =
            new SparseBooleanArray(0);
    final WindowManagerInternal mWindowManagerInternal;
    private final ActivityManagerInternal mActivityManagerInternal;
    final PackageManagerInternal mPackageManagerInternal;
    final InputManagerInternal mInputManagerInternal;
    final ImePlatformCompatUtils mImePlatformCompatUtils;
@@ -1722,6 +1723,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
        mIWindowManager = IWindowManager.Stub.asInterface(
                ServiceManager.getService(Context.WINDOW_SERVICE));
        mWindowManagerInternal = LocalServices.getService(WindowManagerInternal.class);
        mActivityManagerInternal = LocalServices.getService(ActivityManagerInternal.class);
        mPackageManagerInternal = LocalServices.getService(PackageManagerInternal.class);
        mInputManagerInternal = LocalServices.getService(InputManagerInternal.class);
        mImePlatformCompatUtils = new ImePlatformCompatUtils();
@@ -1756,12 +1758,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
        mShowOngoingImeSwitcherForPhones = false;

        mNotificationShown = false;
        int userId = 0;
        try {
            userId = ActivityManager.getService().getCurrentUser().id;
        } catch (RemoteException e) {
            Slog.w(TAG, "Couldn't get current user ID; guessing it's 0", e);
        }
        final int userId = mActivityManagerInternal.getCurrentUserId();

        mLastSwitchUserId = userId;

@@ -3313,7 +3310,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
            // setSelectedInputMethodAndSubtypeLocked().
            setSelectedMethodIdLocked(id);

            if (LocalServices.getService(ActivityManagerInternal.class).isSystemReady()) {
            if (mActivityManagerInternal.isSystemReady()) {
                Intent intent = new Intent(Intent.ACTION_INPUT_METHOD_CHANGED);
                intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING);
                intent.putExtra("input_method_id", id);