diff --git a/res/layout/preference_user_delete_widget.xml b/res/layout/preference_user_delete_widget.xml deleted file mode 100644 index 9c1ba728fec..00000000000 --- a/res/layout/preference_user_delete_widget.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - diff --git a/res/layout/preference_volume_slider.xml b/res/layout/preference_volume_slider.xml index d279eb6095d..c5c7818d8ed 100644 --- a/res/layout/preference_volume_slider.xml +++ b/res/layout/preference_volume_slider.xml @@ -30,14 +30,26 @@ android:layout_marginTop="8dip" android:layout_marginBottom="8dip"> - + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/com/android/settings/users/UserPreference.java b/src/com/android/settings/users/UserPreference.java index eff8b9a5e4e..1f240188166 100644 --- a/src/com/android/settings/users/UserPreference.java +++ b/src/com/android/settings/users/UserPreference.java @@ -71,7 +71,7 @@ public class UserPreference extends RestrictedPreference { OnClickListener deleteListener) { super(context, attrs); if (deleteListener != null || settingsListener != null) { - setWidgetLayoutResource(R.layout.preference_user_delete_widget); + setWidgetLayoutResource(R.layout.restricted_preference_user_delete_widget); } mDeleteClickListener = deleteListener; mSettingsClickListener = settingsListener; @@ -89,37 +89,42 @@ public class UserPreference extends RestrictedPreference { @Override public void onBindViewHolder(PreferenceViewHolder view) { - UserManager um = (UserManager) getContext().getSystemService(Context.USER_SERVICE); - View deleteDividerView = view.findViewById(R.id.divider_delete); - View manageDividerView = view.findViewById(R.id.divider_manage); - View deleteView = view.findViewById(R.id.trash_user); - if (deleteView != null) { - if (mDeleteClickListener != null - && !um.hasUserRestriction(UserManager.DISALLOW_REMOVE_USER)) { - deleteView.setOnClickListener(mDeleteClickListener); - deleteView.setTag(this); - } else { - deleteView.setVisibility(View.GONE); - deleteDividerView.setVisibility(View.GONE); - } - } + super.onBindViewHolder(view); final boolean disabledByAdmin = isDisabledByAdmin(); - ImageView manageView = (ImageView) view.findViewById(R.id.manage_user); - if (manageView != null) { - if (mSettingsClickListener != null) { - manageView.setOnClickListener(mSettingsClickListener); - manageView.setTag(this); - if (mDeleteClickListener != null) { + dimIcon(disabledByAdmin); + View userDeleteWidget = view.findViewById(R.id.user_delete_widget); + if (userDeleteWidget != null) { + userDeleteWidget.setVisibility(disabledByAdmin ? View.GONE : View.VISIBLE); + } + if (!disabledByAdmin) { + UserManager um = (UserManager) getContext().getSystemService(Context.USER_SERVICE); + View deleteDividerView = view.findViewById(R.id.divider_delete); + View manageDividerView = view.findViewById(R.id.divider_manage); + View deleteView = view.findViewById(R.id.trash_user); + if (deleteView != null) { + if (mDeleteClickListener != null + && !um.hasUserRestriction(UserManager.DISALLOW_REMOVE_USER)) { + deleteView.setOnClickListener(mDeleteClickListener); + deleteView.setTag(this); + } else { + deleteView.setVisibility(View.GONE); + deleteDividerView.setVisibility(View.GONE); + } + } + ImageView manageView = (ImageView) view.findViewById(R.id.manage_user); + if (manageView != null) { + if (mSettingsClickListener != null) { + manageView.setOnClickListener(mSettingsClickListener); + manageView.setTag(this); + if (mDeleteClickListener != null) { + manageDividerView.setVisibility(View.GONE); + } + } else { + manageView.setVisibility(View.GONE); manageDividerView.setVisibility(View.GONE); } - } else { - manageView.setVisibility(View.GONE); - manageDividerView.setVisibility(View.GONE); } - manageView.setImageAlpha(disabledByAdmin ? ALPHA_DISABLED : ALPHA_ENABLED); } - super.onBindViewHolder(view); - dimIcon(disabledByAdmin); } private int getSerialNumber() {