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

Test: runtest -c com.android.server.devicepolicy.DevicePolicyManagerTest    frameworks-services
Change-Id: I38eea34cff82766c7e3b8cd79dd9757a212bb451
This commit is contained in:
Esteban Talavera
2017-02-02 18:28:04 +00:00
parent 8e332cc54b
commit a7bd04e892
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() {