diff options
Diffstat (limited to 'src/com/android/settings/users/UserPreference.java')
| -rw-r--r-- | src/com/android/settings/users/UserPreference.java | 48 |
1 files changed, 28 insertions, 20 deletions
diff --git a/src/com/android/settings/users/UserPreference.java b/src/com/android/settings/users/UserPreference.java index 2894bf9e2..9f53aa599 100644 --- a/src/com/android/settings/users/UserPreference.java +++ b/src/com/android/settings/users/UserPreference.java @@ -36,50 +36,58 @@ public class UserPreference extends Preference { private int mSerialNumber = -1; private int mUserId = USERID_UNKNOWN; private boolean mRestricted; + private boolean mSelf; static final int SETTINGS_ID = R.id.manage_user; static final int DELETE_ID = R.id.trash_user; public UserPreference(Context context, AttributeSet attrs) { - this(context, attrs, USERID_UNKNOWN, false, null, null); + this(context, attrs, USERID_UNKNOWN, null, null); } UserPreference(Context context, AttributeSet attrs, int userId, - boolean showOptions, OnClickListener deleteListener, - OnClickListener settingsListener) { + OnClickListener settingsListener, + OnClickListener deleteListener) { super(context, attrs); - if (showOptions) { + if (deleteListener != null || settingsListener != null) { setWidgetLayoutResource(R.layout.preference_user_delete_widget); - mDeleteClickListener = deleteListener; - mSettingsClickListener = settingsListener; } + mDeleteClickListener = deleteListener; + mSettingsClickListener = settingsListener; mUserId = userId; - if (mUserId > UserHandle.USER_OWNER) { - mRestricted = ((UserManager) getContext().getSystemService(Context.USER_SERVICE)) - .getUserInfo(mUserId).isRestricted(); - } - //setSummary(mRestricted ? R.string.user_limited : R.string.user_trusted); } @Override protected void onBindView(View view) { + 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) { - deleteView.setOnClickListener(mDeleteClickListener); - deleteView.setTag(this); + if (mDeleteClickListener != null) { + deleteView.setOnClickListener(mDeleteClickListener); + deleteView.setTag(this); + } else { + deleteView.setVisibility(View.GONE); + deleteDividerView.setVisibility(View.GONE); + } } - View settingsView = view.findViewById(R.id.manage_user); - if (settingsView != null) { - if (mRestricted) { - settingsView.setOnClickListener(mSettingsClickListener); - settingsView.setTag(this); + View manageView = 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 { - settingsView.setVisibility(View.INVISIBLE); + manageView.setVisibility(View.GONE); + manageDividerView.setVisibility(View.GONE); } } super.onBindView(view); } - public int getSerialNumber() { + private int getSerialNumber() { + if (mUserId == UserHandle.myUserId()) return Integer.MIN_VALUE; if (mSerialNumber < 0) { // If the userId is unknown if (mUserId == USERID_UNKNOWN) return Integer.MAX_VALUE; |
