Merge "Clear affiliation ids and lock task packages when clearing DO/PO"

This commit is contained in:
TreeHugger Robot
2017-02-06 12:58:51 +00:00
committed by Android (Google) Code Review
2 changed files with 12 additions and 0 deletions

View File

@@ -6706,6 +6706,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
policy.mDelegationMap.clear();
policy.mStatusBarDisabled = false;
policy.mUserProvisioningState = DevicePolicyManager.STATE_USER_UNMANAGED;
policy.mAffiliationIds.clear();
policy.mLockTaskPackages.clear();
saveSettingsLocked(userId);
try {

View File

@@ -2089,9 +2089,19 @@ public class DevicePolicyManagerTest extends DpmTestBase {
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() {