Merge "Restrict adding managed profile in DO devices" into rvc-dev
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user