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
This commit is contained in:
Adam Bookatz
2022-11-23 18:01:33 +00:00
parent 33d3ca7f96
commit fccca542e9

View File

@@ -3783,10 +3783,10 @@ public class UserManagerService extends IUserManager.Stub {
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;