diff options
| author | 2024-08-30 11:57:07 +0000 | |
|---|---|---|
| committer | 2024-08-30 12:01:23 +0000 | |
| commit | 29baee3237ea80b4754fc5a926c068a5e89335e3 (patch) | |
| tree | eed5a79dec8737f1156b10183cdafbc9a95ce483 | |
| parent | 2f426237f72d00cf89ffa16f2c00b3ed5a23983d (diff) | |
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
| -rw-r--r-- | services/core/java/com/android/server/pm/UserManagerService.java | 10 |
1 files 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. |