Fix getEarliestCreatedFullUser initial value
If user 0 isn't a full admin, its creation time should not be part of the calculation.
Currently, user 0 will generally be the earliest created user, so no other user can get returned (even if user 0 isn't a full user).
This fixes the bug.
Bug: 256624031
Change-Id: Idee2d5957560dd8556c53f85645981816494acc6
Test: local
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index 88e12fa..23a6b67 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -3783,10 +3783,10 @@
private UserInfo getEarliestCreatedFullUser() {
final List<UserInfo> users = getUsersInternal(true, true, true);
UserInfo earliestUser = users.get(0);
- long earliestCreationTime = earliestUser.creationTime;
+ long earliestCreationTime = Long.MAX_VALUE;
for (int i = 0; i < users.size(); i++) {
final UserInfo info = users.get(i);
- if (info.isFull() && info.isAdmin() && info.creationTime > 0
+ if (info.isFull() && info.isAdmin() && info.creationTime >= 0
&& info.creationTime < earliestCreationTime) {
earliestCreationTime = info.creationTime;
earliestUser = info;