Merge "Fix bug that caused task to show behind keyguard" into sc-dev

This commit is contained in:
Peter Kalauskas
2021-07-22 03:06:17 +00:00
committed by Android (Google) Code Review

View File

@@ -539,6 +539,13 @@ public class UserSwitcherController implements Dumpable {
mSecondaryUser = userInfo.id; mSecondaryUser = userInfo.id;
} }
unpauseRefreshUsers = true; unpauseRefreshUsers = true;
if (mGuestUserAutoCreated) {
// Guest user must be scheduled for creation AFTER switching to the target user.
// This avoids lock contention which will produce UX bugs on the keyguard
// (b/193933686).
// TODO(b/191067027): Move guest user recreation to system_server
guaranteeGuestPresent();
}
} else if (Intent.ACTION_USER_INFO_CHANGED.equals(intent.getAction())) { } else if (Intent.ACTION_USER_INFO_CHANGED.equals(intent.getAction())) {
forcePictureLoadForId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, forcePictureLoadForId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE,
UserHandle.USER_NULL); UserHandle.USER_NULL);
@@ -670,10 +677,6 @@ public class UserSwitcherController implements Dumpable {
switchToUserId(newGuestId); switchToUserId(newGuestId);
mUserManager.removeUser(currentUser.id); mUserManager.removeUser(currentUser.id);
} else { } else {
if (mGuestUserAutoCreated) {
// TODO(b/191067027): Move guest recreation to system_server
scheduleGuestCreation();
}
switchToUserId(targetUserId); switchToUserId(targetUserId);
mUserManager.removeUser(currentUser.id); mUserManager.removeUser(currentUser.id);
} }