diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index 984120f4c9565..9d2d9e5bf5d29 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -716,7 +716,7 @@ public class UserManagerService extends IUserManager.Stub { return null; } int parentUserId = profile.profileGroupId; - if (parentUserId == UserInfo.NO_PROFILE_GROUP_ID) { + if (parentUserId == userHandle || parentUserId == UserInfo.NO_PROFILE_GROUP_ID) { return null; } else { return getUserInfoLU(parentUserId); 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 9b2c94e0d63b4..1964cad1aefcc 100644 --- a/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java +++ b/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java @@ -177,10 +177,12 @@ public class UserManagerTest extends AndroidTestCase { UserInfo userInfo = createProfileForUser("Profile", UserInfo.FLAG_MANAGED_PROFILE, primaryUserId); assertNotNull(userInfo); - + assertNull(mUserManager.getProfileParent(primaryUserId)); UserInfo parentProfileInfo = mUserManager.getProfileParent(userInfo.id); assertNotNull(parentProfileInfo); assertEquals(parentProfileInfo.id, primaryUserId); + removeUser(userInfo.id); + assertNull(mUserManager.getProfileParent(primaryUserId)); } // Make sure only one managed profile can be created