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

Commit f0cd18e1 authored by Yasin Kilicdere's avatar Yasin Kilicdere Committed by Android (Google) Code Review
Browse files

Merge "Make sure userSwitchComplete is dispatched after screen is unfrozen."

parents d3b6cc2d 7fb0d1dc
Loading
Loading
Loading
Loading
+9 −11
Original line number Diff line number Diff line
@@ -2185,8 +2185,6 @@ class UserController implements Handler.Callback {
        mHandler.sendMessage(mHandler.obtainMessage(COMPLETE_USER_SWITCH_MSG, newUserId, 0));

        uss.switching = false;
        mHandler.removeMessages(REPORT_USER_SWITCH_COMPLETE_MSG);
        mHandler.sendMessage(mHandler.obtainMessage(REPORT_USER_SWITCH_COMPLETE_MSG, newUserId, 0));
        stopGuestOrEphemeralUserIfBackground(oldUserId);
        stopUserOnSwitchIfEnforced(oldUserId);
        if (oldUserId == UserHandle.USER_SYSTEM) {
@@ -2200,20 +2198,20 @@ class UserController implements Handler.Callback {

    @VisibleForTesting
    void completeUserSwitch(int newUserId) {
        final Runnable runnable = () -> {
            unfreezeScreen();
            mHandler.removeMessages(REPORT_USER_SWITCH_COMPLETE_MSG);
            mHandler.sendMessage(mHandler.obtainMessage(
                    REPORT_USER_SWITCH_COMPLETE_MSG, newUserId, 0));
        };

        if (isUserSwitchUiEnabled()) {
            // If there is no challenge set, dismiss the keyguard right away
            if (!mInjector.getKeyguardManager().isDeviceSecure(newUserId)) {
                // Wait until the keyguard is dismissed to unfreeze
                mInjector.dismissKeyguard(
                        new Runnable() {
                            public void run() {
                                unfreezeScreen();
                            }
                        },
                        "User Switch");
                return;
                mInjector.dismissKeyguard(runnable, "User Switch");
            } else {
                unfreezeScreen();
                runnable.run();
            }
        }
    }