Add more policy transparency for disallow_remove_user restriction.
Bug: 27784015 Change-Id: I2386efbf521ee8e73326006e78b0146341745e2b
This commit is contained in:
@@ -28,12 +28,11 @@ import android.view.View.OnClickListener;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
import com.android.settingslib.RestrictedPreference;
|
||||
|
||||
import java.util.Comparator;
|
||||
|
||||
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
|
||||
public class UserPreference extends RestrictedPreference {
|
||||
private static final int ALPHA_ENABLED = 255;
|
||||
private static final int ALPHA_DISABLED = 102;
|
||||
@@ -103,7 +102,8 @@ public class UserPreference extends RestrictedPreference {
|
||||
View deleteView = view.findViewById(R.id.trash_user);
|
||||
if (deleteView != null) {
|
||||
if (mDeleteClickListener != null
|
||||
&& !um.hasUserRestriction(UserManager.DISALLOW_REMOVE_USER)) {
|
||||
&& !RestrictedLockUtils.hasBaseUserRestriction(getContext(),
|
||||
UserManager.DISALLOW_REMOVE_USER, UserHandle.myUserId())) {
|
||||
deleteView.setOnClickListener(mDeleteClickListener);
|
||||
deleteView.setTag(this);
|
||||
} else {
|
||||
|
@@ -970,7 +970,15 @@ public class UserSettings extends SettingsPreferenceFragment
|
||||
int userId = ((UserPreference) v.getTag()).getUserId();
|
||||
switch (v.getId()) {
|
||||
case UserPreference.DELETE_ID:
|
||||
onRemoveUserClicked(userId);
|
||||
final EnforcedAdmin removeDisallowedAdmin =
|
||||
RestrictedLockUtils.checkIfRestrictionEnforced(getContext(),
|
||||
UserManager.DISALLOW_REMOVE_USER, UserHandle.myUserId());
|
||||
if (removeDisallowedAdmin != null) {
|
||||
RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getContext(),
|
||||
removeDisallowedAdmin);
|
||||
} else {
|
||||
onRemoveUserClicked(userId);
|
||||
}
|
||||
break;
|
||||
case UserPreference.SETTINGS_ID:
|
||||
onManageUserClicked(userId, false);
|
||||
|
Reference in New Issue
Block a user