diff options
3 files changed, 27 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index 796edde7d9bd..f222fe9add0f 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -1466,7 +1466,7 @@ public class UserManagerService extends IUserManager.Stub { if (userType != null && !userType.equals(profile.userType)) { continue; } - if (excludeHidden && isProfileHidden(userId)) { + if (excludeHidden && isProfileHidden(profile.id)) { continue; } result.add(profile.id); 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 656bc71eebca..7bbcd50cdf1f 100644 --- a/services/tests/mockingservicestests/src/com/android/server/pm/UserManagerServiceTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/pm/UserManagerServiceTest.java @@ -722,6 +722,17 @@ public final class UserManagerServiceTest { Mockito.verify(mKeyguardManager, never()).addKeyguardLockedStateListener(any(), any()); } + @Test + public void testGetProfileIdsExcludingHidden() { + mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_HIDING_PROFILES); + UserInfo privateProfileUser = + mUms.createProfileForUserEvenWhenDisallowedWithThrow("TestPrivateProfile", + USER_TYPE_PROFILE_PRIVATE, 0, 0, null); + for (int id : mUms.getProfileIdsExcludingHidden(0, true)) { + assertThat(id).isNotEqualTo(privateProfileUser.id); + } + } + /** * Returns true if the user's XML file has Default restrictions * @param userId Id of the user. diff --git a/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java b/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java index df2069efb0ce..7f7cc35ced55 100644 --- a/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java +++ b/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java @@ -1729,6 +1729,21 @@ public final class UserManagerTest { mUserManager.removeUser(userInfo.id); } + @Test + @RequiresFlagsEnabled(android.multiuser.Flags.FLAG_ENABLE_HIDING_PROFILES) + public void testGetProfileIdsExcludingHidden() throws Exception { + int mainUserId = mUserManager.getMainUser().getIdentifier(); + final UserInfo profile = createProfileForUser("Profile", + UserManager.USER_TYPE_PROFILE_PRIVATE, mainUserId); + + final int[] allProfiles = mUserManager.getProfileIds(mainUserId, /* enabledOnly */ false); + final int[] profilesExcludingHidden = mUserManager.getProfileIdsExcludingHidden( + mainUserId, /* enabledOnly */ false); + + assertThat(allProfiles).asList().contains(profile.id); + assertThat(profilesExcludingHidden).asList().doesNotContain(profile.id); + } + private String generateLongString() { String partialString = "Test Name Test Name Test Name Test Name Test Name Test Name Test " + "Name Test Name Test Name Test Name "; //String of length 100 |