Merge "Restrict adding managed profile in DO devices" into rvc-dev

This commit is contained in:
Eran Messeri
2020-03-06 11:47:34 +00:00
committed by Android (Google) Code Review

View File

@@ -2691,6 +2691,27 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
} }
} }
/**
* If the device is in Device Owner mode, apply the restriction on adding
* a managed profile.
*/
@GuardedBy("getLockObject()")
void applyManagedProfileRestrictionIfDeviceOwnerLocked() {
final int doUserId = mOwners.getDeviceOwnerUserId();
if (doUserId == UserHandle.USER_NULL) {
logIfVerbose("No DO found, skipping application of restriction.");
return;
}
final UserHandle doUserHandle = UserHandle.of(doUserId);
// Set the restriction if not set.
if (!mUserManager.hasUserRestriction(
UserManager.DISALLOW_ADD_MANAGED_PROFILE, doUserHandle)) {
mUserManager.setUserRestriction(UserManager.DISALLOW_ADD_MANAGED_PROFILE, true,
doUserHandle);
}
}
/** Apply default restrictions that haven't been applied to profile owners yet. */ /** Apply default restrictions that haven't been applied to profile owners yet. */
private void maybeSetDefaultProfileOwnerUserRestrictions() { private void maybeSetDefaultProfileOwnerUserRestrictions() {
synchronized (getLockObject()) { synchronized (getLockObject()) {
@@ -3901,6 +3922,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
maybeStartSecurityLogMonitorOnActivityManagerReady(); maybeStartSecurityLogMonitorOnActivityManagerReady();
synchronized (getLockObject()) { synchronized (getLockObject()) {
migrateToProfileOnOrganizationOwnedDeviceIfCompLocked(); migrateToProfileOnOrganizationOwnedDeviceIfCompLocked();
applyManagedProfileRestrictionIfDeviceOwnerLocked();
} }
final int userId = getManagedUserId(UserHandle.USER_SYSTEM); final int userId = getManagedUserId(UserHandle.USER_SYSTEM);
if (userId >= 0) { if (userId >= 0) {
@@ -8764,6 +8786,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
mOwners.writeProfileOwner(userId); mOwners.writeProfileOwner(userId);
deleteTransferOwnershipBundleLocked(userId); deleteTransferOwnershipBundleLocked(userId);
toggleBackupServiceActive(userId, true); toggleBackupServiceActive(userId, true);
applyManagedProfileRestrictionIfDeviceOwnerLocked();
} }
@Override @Override