diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/UserManagerService.java | 13 | ||||
| -rw-r--r-- | services/tests/mockingservicestests/src/com/android/server/pm/UserManagerServiceTest.java | 43 |
2 files changed, 1 insertions, 55 deletions
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index ba845dacefd8..3c702b4125b7 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -1371,7 +1371,7 @@ public class UserManagerService extends IUserManager.Stub { for (int i = 0; i < userSize; i++) { UserInfo ui = mUsers.valueAt(i).info; if ((excludePartial && ui.partial) - || (excludeDying && isDyingLU(ui)) + || (excludeDying && mRemovingUserIds.get(ui.id)) || (excludePreCreated && ui.preCreated)) { continue; } @@ -1381,17 +1381,6 @@ public class UserManagerService extends IUserManager.Stub { } } - @GuardedBy("mUsersLock") - private boolean isDyingLU(UserInfo ui) { - if (mRemovingUserIds.get(ui.id)) { - return true; - } - if (ui.isEphemeral() && ui.isInitialized() && ui.id != getCurrentUserId()) { - return true; - } - return false; - } - @Override public List<UserInfo> getProfiles(@UserIdInt int userId, boolean enabledOnly) { boolean returnFullInfo; diff --git a/services/tests/mockingservicestests/src/com/android/server/pm/UserManagerServiceTest.java b/services/tests/mockingservicestests/src/com/android/server/pm/UserManagerServiceTest.java index 7d58a2e53693..79f1574105ba 100644 --- a/services/tests/mockingservicestests/src/com/android/server/pm/UserManagerServiceTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/pm/UserManagerServiceTest.java @@ -778,49 +778,6 @@ public final class UserManagerServiceTest { } @Test - public void testGetAliveUsers_shouldExcludeInitialisedEphemeralNonCurrentUsers() { - assertWithMessage("Ephemeral user should not exist at all initially") - .that(mUmi.getUsers(false).stream().anyMatch(u -> u.id == USER_ID)) - .isFalse(); - - // add an ephemeral full user - TestUserData userData = new TestUserData(USER_ID); - userData.info.flags = UserInfo.FLAG_FULL | UserInfo.FLAG_EPHEMERAL; - addUserData(userData); - - assertWithMessage("Ephemeral user should exist as alive after being created") - .that(mUmi.getUsers(true).stream().anyMatch(u -> u.id == USER_ID)) - .isTrue(); - - // mock switch to the user (mark it as initialized & make it the current user) - userData.info.flags |= UserInfo.FLAG_INITIALIZED; - mockCurrentUser(USER_ID); - - assertWithMessage("Ephemeral user should still exist as alive after being switched to") - .that(mUmi.getUsers(true).stream().anyMatch(u -> u.id == USER_ID)) - .isTrue(); - - // switch away from the user - mockCurrentUser(OTHER_USER_ID); - - assertWithMessage("Ephemeral user should not exist as alive after getting switched away") - .that(mUmi.getUsers(true).stream().anyMatch(u -> u.id == USER_ID)) - .isFalse(); - - assertWithMessage("Ephemeral user should still exist as dying after getting switched away") - .that(mUmi.getUsers(false).stream().anyMatch(u -> u.id == USER_ID)) - .isTrue(); - - // finally remove the user - mUms.removeUserInfo(USER_ID); - - assertWithMessage("Ephemeral user should not exist at all after cleanup") - .that(mUmi.getUsers(false).stream().anyMatch(u -> u.id == USER_ID)) - .isFalse(); - } - - - @Test @RequiresFlagsEnabled({android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE, Flags.FLAG_BLOCK_PRIVATE_SPACE_CREATION, Flags.FLAG_ENABLE_PRIVATE_SPACE_FEATURES}) public void testCreatePrivateProfileOnHeadlessSystemUser_shouldAllowCreation() { |