commit | a7bd04e89271fe0bce7bb5136bc8df0466827c6c | [log] [tgz] |
---|---|---|
author | Esteban Talavera <etalavera@google.com> | Thu Feb 02 18:28:04 2017 +0000 |
committer | Esteban Talavera <etalavera@google.com> | Fri Feb 03 12:20:20 2017 +0000 |
tree | 5f54938da81906946e48c4bb55a8edbb4189d739 | |
parent | 8e332cc54b203a3fe7a014e506c3fcc07a60e539 [diff] |
Clear affiliation ids and lock task packages when clearing DO/PO Test: runtest -c com.android.server.devicepolicy.DevicePolicyManagerTest frameworks-services Change-Id: I38eea34cff82766c7e3b8cd79dd9757a212bb451
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 3c1d274..275422e 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -6706,6 +6706,8 @@ policy.mDelegationMap.clear(); policy.mStatusBarDisabled = false; policy.mUserProvisioningState = DevicePolicyManager.STATE_USER_UNMANAGED; + policy.mAffiliationIds.clear(); + policy.mLockTaskPackages.clear(); saveSettingsLocked(userId); try {
diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java index f4e4e08..2ff5e9d 100644 --- a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java +++ b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
@@ -2089,9 +2089,19 @@ assertTrue(dpm.getAffiliationIds(admin2).isEmpty()); assertFalse(dpm.isAffiliatedUser()); + // Set affiliation ids again, then clear PO to check that the user becomes unaffiliated + dpm.setAffiliationIds(admin2, userAffiliationIds); + assertTrue(dpm.isAffiliatedUser()); + dpm.clearProfileOwner(admin2); + assertFalse(dpm.isAffiliatedUser()); + // Check that the system user remains affiliated. mContext.binder.callingUid = DpmMockContext.CALLER_SYSTEM_USER_UID; assertTrue(dpm.isAffiliatedUser()); + + // Clear the device owner - the user becomes unaffiliated. + clearDeviceOwner(); + assertFalse(dpm.isAffiliatedUser()); } public void testGetUserProvisioningState_defaultResult() {