summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yasin Kilicdere <tyk@google.com> 2024-08-30 11:57:07 +0000
committer Yasin Kilicdere <tyk@google.com> 2024-08-30 12:01:23 +0000
commit29baee3237ea80b4754fc5a926c068a5e89335e3 (patch)
treeeed5a79dec8737f1156b10183cdafbc9a95ce483
parent2f426237f72d00cf89ffa16f2c00b3ed5a23983d (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.java10
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.