From 29baee3237ea80b4754fc5a926c068a5e89335e3 Mon Sep 17 00:00:00 2001 From: Yasin Kilicdere Date: Fri, 30 Aug 2024 11:57:07 +0000 Subject: Avoid marking ephemeral users for removal if they haven't been logged in yet. Previously this was only being done for auto-created guest users. But this CL extends that behavior beyond guest users and include any not- yet-logged-in ephemeral users. It will still be continued to avoid marking an auto-created not-yet- logged-in ephemeral guest user for removal during boot, which would be recreated again anyway later in the boot. This change also improves boot time, because now we don't need to check for config_guestUserAutoCreated during boot. Fixes: 352716720 Change-Id: I0e09fb7ac3f4d72bb7053ef6dd67fea7a1657a3a Test: atest CtsMultiUserHostTestCases Flag: EXEMPT bugfix --- .../core/java/com/android/server/pm/UserManagerService.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index a683a8c54849..13901c1f2c23 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -1194,11 +1194,11 @@ public class UserManagerService extends IUserManager.Stub { // Avoid marking pre-created users for removal. return; } - if (ui.lastLoggedInTime == 0 && ui.isGuest() && Resources.getSystem().getBoolean( - com.android.internal.R.bool.config_guestUserAutoCreated)) { - // Avoid marking auto-created but not-yet-logged-in guest user for removal. Because a - // new one will be created anyway, and this one doesn't have any personal data in it yet - // due to not being logged in. + if (ui.lastLoggedInTime == 0) { + // Avoid marking a not-yet-logged-in ephemeral user for removal, since it doesn't have + // any personal data in it yet due to not being logged in. + // This will also avoid marking an auto-created not-yet-logged-in ephemeral guest user + // for removal, which would be recreated again later in the boot anyway. return; } // Mark the user for removal. -- cgit v1.2.3-59-g8ed1b