Merge "Make sure userSwitchComplete is dispatched after screen is unfrozen."
This commit is contained in:
committed by
Android (Google) Code Review
commit
f0cd18e134
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user