Merge "Add policy transparency dialog to 'Remove work profile'" into rvc-dev am: 01d61e49af am: 60b59c3a56 am: 67e5d0e911

Change-Id: Ib19c16bf8882a7a40921ece5e58965509e2d9246
This commit is contained in:
Automerger Merge Worker
2020-03-12 16:39:31 +00:00

View File

@@ -457,12 +457,20 @@ public class DeviceAdminAdd extends Activity {
private void showPolicyTransparencyDialogIfRequired() {
if (isManagedProfile(mDeviceAdmin)
&& mDeviceAdmin.getComponent().equals(mDPM.getProfileOwner())) {
if (hasBaseCantRemoveProfileRestriction()) {
// If DISALLOW_REMOVE_MANAGED_PROFILE is set by the system, there's no
// point showing a dialog saying it's disabled by an admin.
return;
EnforcedAdmin enforcedAdmin;
ComponentName adminComponent = mDPM.getProfileOwnerAsUser(getUserId());
if (adminComponent != null && mDPM.isOrganizationOwnedDeviceWithManagedProfile()) {
enforcedAdmin = new EnforcedAdmin(adminComponent,
UserManager.DISALLOW_REMOVE_MANAGED_PROFILE, UserHandle.of(getUserId()));
} else {
// Todo (b/151061366): Investigate this case to check if it is still viable.
if (hasBaseCantRemoveProfileRestriction()) {
// If DISALLOW_REMOVE_MANAGED_PROFILE is set by the system, there's no
// point showing a dialog saying it's disabled by an admin.
return;
}
enforcedAdmin = getAdminEnforcingCantRemoveProfile();
}
EnforcedAdmin enforcedAdmin = getAdminEnforcingCantRemoveProfile();
if (enforcedAdmin != null) {
RestrictedLockUtils.sendShowAdminSupportDetailsIntent(
DeviceAdminAdd.this,
@@ -640,7 +648,8 @@ public class DeviceAdminAdd extends Activity {
final EnforcedAdmin admin = getAdminEnforcingCantRemoveProfile();
final boolean hasBaseRestriction = hasBaseCantRemoveProfileRestriction();
if (admin != null && !hasBaseRestriction) {
if ((hasBaseRestriction && mDPM.isOrganizationOwnedDeviceWithManagedProfile())
|| (admin != null && !hasBaseRestriction)) {
findViewById(R.id.restricted_icon).setVisibility(View.VISIBLE);
}
mActionButton.setEnabled(admin == null && !hasBaseRestriction);