Merge "After deleting guest user, switch back to previous instead of user0." into udc-qpr-dev

This commit is contained in:
Treehugger Robot
2023-06-29 16:42:19 +00:00
committed by Android (Google) Code Review

View File

@@ -977,10 +977,10 @@ public class UserSettings extends SettingsPreferenceFragment
return; return;
} }
try { try {
getContext().getSystemService(UserManager.class) mUserManager.removeUserWhenPossible(
.removeUserWhenPossible(UserHandle.of(UserHandle.myUserId()), UserHandle.of(UserHandle.myUserId()), /* overrideDevicePolicy= */ false);
/* overrideDevicePolicy= */ false); ActivityManager.getService().switchUser(
ActivityManager.getService().switchUser(UserHandle.USER_SYSTEM); mUserManager.getPreviousForegroundUser().getIdentifier());
} catch (RemoteException re) { } catch (RemoteException re) {
Log.e(TAG, "Unable to remove self user"); Log.e(TAG, "Unable to remove self user");
} }
@@ -1099,7 +1099,7 @@ public class UserSettings extends SettingsPreferenceFragment
} }
mMetricsFeatureProvider.action(getActivity(), mMetricsFeatureProvider.action(getActivity(),
SettingsEnums.ACTION_USER_GUEST_EXIT_CONFIRMED); SettingsEnums.ACTION_USER_GUEST_EXIT_CONFIRMED);
switchToUserId(UserHandle.USER_SYSTEM); switchToUserId(mUserManager.getPreviousForegroundUser().getIdentifier());
} }
private int createGuest() { private int createGuest() {
@@ -1139,8 +1139,8 @@ public class UserSettings extends SettingsPreferenceFragment
// Create a new guest in the foreground, and then immediately switch to it // Create a new guest in the foreground, and then immediately switch to it
int newGuestUserId = createGuest(); int newGuestUserId = createGuest();
if (newGuestUserId == UserHandle.USER_NULL) { if (newGuestUserId == UserHandle.USER_NULL) {
Log.e(TAG, "Could not create new guest, switching back to system user"); Log.e(TAG, "Could not create new guest, switching back to previous user");
switchToUserId(UserHandle.USER_SYSTEM); switchToUserId(mUserManager.getPreviousForegroundUser().getIdentifier());
mUserManager.removeUser(oldGuestUserId); mUserManager.removeUser(oldGuestUserId);
WindowManagerGlobal.getWindowManagerService().lockNow(/* options= */ null); WindowManagerGlobal.getWindowManagerService().lockNow(/* options= */ null);
return; return;