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

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23830766

Change-Id: Ic1ec5e652cff3d5a594230038030ad2f32e3bb05
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2023-06-29 17:15:58 +00:00
committed by Automerger Merge Worker

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;