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 android.widget.ImageView;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settingslib.RestrictedLockUtils;
|
||||||
import com.android.settingslib.RestrictedPreference;
|
import com.android.settingslib.RestrictedPreference;
|
||||||
|
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
|
|
||||||
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
|
||||||
|
|
||||||
public class UserPreference extends RestrictedPreference {
|
public class UserPreference extends RestrictedPreference {
|
||||||
private static final int ALPHA_ENABLED = 255;
|
private static final int ALPHA_ENABLED = 255;
|
||||||
private static final int ALPHA_DISABLED = 102;
|
private static final int ALPHA_DISABLED = 102;
|
||||||
@@ -103,7 +102,8 @@ public class UserPreference extends RestrictedPreference {
|
|||||||
View deleteView = view.findViewById(R.id.trash_user);
|
View deleteView = view.findViewById(R.id.trash_user);
|
||||||
if (deleteView != null) {
|
if (deleteView != null) {
|
||||||
if (mDeleteClickListener != null
|
if (mDeleteClickListener != null
|
||||||
&& !um.hasUserRestriction(UserManager.DISALLOW_REMOVE_USER)) {
|
&& !RestrictedLockUtils.hasBaseUserRestriction(getContext(),
|
||||||
|
UserManager.DISALLOW_REMOVE_USER, UserHandle.myUserId())) {
|
||||||
deleteView.setOnClickListener(mDeleteClickListener);
|
deleteView.setOnClickListener(mDeleteClickListener);
|
||||||
deleteView.setTag(this);
|
deleteView.setTag(this);
|
||||||
} else {
|
} else {
|
||||||
|
@@ -970,7 +970,15 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
int userId = ((UserPreference) v.getTag()).getUserId();
|
int userId = ((UserPreference) v.getTag()).getUserId();
|
||||||
switch (v.getId()) {
|
switch (v.getId()) {
|
||||||
case UserPreference.DELETE_ID:
|
case UserPreference.DELETE_ID:
|
||||||
|
final EnforcedAdmin removeDisallowedAdmin =
|
||||||
|
RestrictedLockUtils.checkIfRestrictionEnforced(getContext(),
|
||||||
|
UserManager.DISALLOW_REMOVE_USER, UserHandle.myUserId());
|
||||||
|
if (removeDisallowedAdmin != null) {
|
||||||
|
RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getContext(),
|
||||||
|
removeDisallowedAdmin);
|
||||||
|
} else {
|
||||||
onRemoveUserClicked(userId);
|
onRemoveUserClicked(userId);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case UserPreference.SETTINGS_ID:
|
case UserPreference.SETTINGS_ID:
|
||||||
onManageUserClicked(userId, false);
|
onManageUserClicked(userId, false);
|
||||||
|
Reference in New Issue
Block a user