Reorganize users screen
As per product/ux feedback, move around and rename the users. Settings button for some users. Fix crash in limited user when clicking on the user: Bug: 8494377 Change-Id: I346d12646d32608b01f2c2c2c866b6da51408618
This commit is contained in:
@@ -37,10 +37,20 @@
|
|||||||
android:background="#ff404040"
|
android:background="#ff404040"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<EditText android:id="@+id/owner_info_nickname"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="8dip"
|
||||||
|
android:gravity="top"
|
||||||
|
android:hint="@string/user_nickname"
|
||||||
|
android:inputType="textCapWords"
|
||||||
|
/>
|
||||||
|
|
||||||
<CheckBox android:id="@+id/show_owner_info_on_lockscreen_checkbox"
|
<CheckBox android:id="@+id/show_owner_info_on_lockscreen_checkbox"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="64dip"
|
android:layout_height="64dip"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
|
android:layout_marginTop="8dip"
|
||||||
android:text="@string/show_owner_info_on_lockscreen_label"
|
android:text="@string/show_owner_info_on_lockscreen_label"
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
android:textColor="?android:attr/textColorSecondary"
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
|
@@ -20,6 +20,13 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
<View
|
||||||
|
android:id="@+id/divider_manage"
|
||||||
|
android:layout_width="2dip"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_marginTop="5dip"
|
||||||
|
android:layout_marginBottom="5dip"
|
||||||
|
android:background="@android:drawable/divider_horizontal_dark" />
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/manage_user"
|
android:id="@+id/manage_user"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
@@ -31,6 +38,7 @@
|
|||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:background="?android:attr/selectableItemBackground" />
|
android:background="?android:attr/selectableItemBackground" />
|
||||||
<View
|
<View
|
||||||
|
android:id="@+id/divider_delete"
|
||||||
android:layout_width="2dip"
|
android:layout_width="2dip"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_marginTop="5dip"
|
android:layout_marginTop="5dip"
|
||||||
|
@@ -4324,20 +4324,20 @@
|
|||||||
<string name="user_settings_title">Users</string>
|
<string name="user_settings_title">Users</string>
|
||||||
<!-- User settings section title for details about you [CHAR LIMIT=25] -->
|
<!-- User settings section title for details about you [CHAR LIMIT=25] -->
|
||||||
<string name="user_you_section">You</string>
|
<string name="user_you_section">You</string>
|
||||||
<!-- User settings trusted user list section header [CHAR LIMIT=30] -->
|
<!-- User settings trusted user list section header [CHAR LIMIT=40] -->
|
||||||
<string name="user_trusted_list_title">Trusted users</string>
|
<string name="user_trusted_list_title">Users</string>
|
||||||
<!-- User settings limited user list section header [CHAR LIMIT=30] -->
|
<!-- User settings limited user list section header [CHAR LIMIT=40] -->
|
||||||
<string name="user_limited_list_title">Limited users</string>
|
<string name="user_limited_list_title">Limited users</string>
|
||||||
<!-- User settings add user menu [CHAR LIMIT=20] -->
|
<!-- User settings add user menu [CHAR LIMIT=35] -->
|
||||||
<string name="user_add_user_menu">Add user</string>
|
<string name="user_add_user_menu">Add user</string>
|
||||||
<!-- User settings add restricted user label [CHAR LIMIT=20] -->
|
<!-- User settings add restricted user label [CHAR LIMIT=35] -->
|
||||||
<string name="user_add_restricted">Add limited user</string>
|
<string name="user_add_restricted">Add limited user</string>
|
||||||
<!-- User settings summary for add restricted user [CHAR LIMIT=100] -->
|
<!-- User settings summary for add restricted user [CHAR LIMIT=100] -->
|
||||||
<string name="user_add_restricted_summary">Limited users can only access the apps and content you select</string>
|
<string name="user_add_restricted_summary">Limited users can only access the apps and content you select</string>
|
||||||
<!-- User settings add user label [CHAR LIMIT=20] -->
|
<!-- User settings add user label [CHAR LIMIT=35] -->
|
||||||
<string name="user_add_trusted">Add trusted user</string>
|
<string name="user_add_trusted">Add standard user</string>
|
||||||
<!-- User settings summary for add trusted user [CHAR LIMIT=100] -->
|
<!-- User settings summary for add trusted user [CHAR LIMIT=100] -->
|
||||||
<string name="user_add_trusted_summary">Trusted users have no restrictions</string>
|
<string name="user_add_trusted_summary">Standard users have their own apps and content</string>
|
||||||
|
|
||||||
<!-- User summary to indicate that user is currently active in the background [CHAR LIMIT=100] -->
|
<!-- User summary to indicate that user is currently active in the background [CHAR LIMIT=100] -->
|
||||||
<string name="user_summary_active">Active</string>
|
<string name="user_summary_active">Active</string>
|
||||||
|
@@ -19,20 +19,15 @@
|
|||||||
android:title="@string/user_settings_title">
|
android:title="@string/user_settings_title">
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:key="user_you"
|
android:key="trusted_user_list"
|
||||||
android:title="@string/user_you_section"/>
|
android:title="@string/user_trusted_list_title">
|
||||||
|
</PreferenceCategory>
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
android:key="user_me"
|
android:key="user_add_trusted"
|
||||||
android:summary="@string/user_owner" />
|
android:title="@string/user_add_trusted"
|
||||||
<com.android.settings.SelectableEditTextPreference
|
android:summary="@string/user_add_trusted_summary"
|
||||||
android:key="user_nickname"
|
android:icon="@drawable/ic_menu_add" />
|
||||||
android:title="@string/user_nickname"
|
|
||||||
android:icon="@drawable/empty_icon" />
|
|
||||||
<Preference
|
|
||||||
android:key="user_owner_info"
|
|
||||||
android:title="@string/owner_info_settings_title"
|
|
||||||
android:icon="@drawable/empty_icon"
|
|
||||||
android:fragment="com.android.settings.OwnerInfoSettings" />
|
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:key="limited_user_list"
|
android:key="limited_user_list"
|
||||||
@@ -45,14 +40,4 @@
|
|||||||
android:summary="@string/user_add_restricted_summary"
|
android:summary="@string/user_add_restricted_summary"
|
||||||
android:icon="@drawable/ic_menu_add" />
|
android:icon="@drawable/ic_menu_add" />
|
||||||
|
|
||||||
<PreferenceCategory
|
|
||||||
android:key="trusted_user_list"
|
|
||||||
android:title="@string/user_trusted_list_title">
|
|
||||||
</PreferenceCategory>
|
|
||||||
|
|
||||||
<Preference
|
|
||||||
android:key="user_add_trusted"
|
|
||||||
android:title="@string/user_add_trusted"
|
|
||||||
android:summary="@string/user_add_trusted_summary"
|
|
||||||
android:icon="@drawable/ic_menu_add" />
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
@@ -20,6 +20,9 @@ import android.app.Fragment;
|
|||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
|
import android.os.UserManager;
|
||||||
|
import android.provider.Settings;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
@@ -31,11 +34,25 @@ import android.widget.CompoundButton.OnCheckedChangeListener;
|
|||||||
import com.android.internal.widget.LockPatternUtils;
|
import com.android.internal.widget.LockPatternUtils;
|
||||||
|
|
||||||
public class OwnerInfoSettings extends Fragment {
|
public class OwnerInfoSettings extends Fragment {
|
||||||
|
|
||||||
|
public static final String EXTRA_SHOW_NICKNAME = "show_nickname";
|
||||||
|
|
||||||
private View mView;
|
private View mView;
|
||||||
private CheckBox mCheckbox;
|
private CheckBox mCheckbox;
|
||||||
private EditText mEditText;
|
|
||||||
private int mUserId;
|
private int mUserId;
|
||||||
private LockPatternUtils mLockPatternUtils;
|
private LockPatternUtils mLockPatternUtils;
|
||||||
|
private EditText mOwnerInfo;
|
||||||
|
private EditText mNickname;
|
||||||
|
private boolean mShowNickname;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
Bundle args = getArguments();
|
||||||
|
if (args != null && args.containsKey(EXTRA_SHOW_NICKNAME)) {
|
||||||
|
mShowNickname = args.getBoolean(EXTRA_SHOW_NICKNAME);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||||
@@ -52,9 +69,16 @@ public class OwnerInfoSettings extends Fragment {
|
|||||||
String info = mLockPatternUtils.getOwnerInfo(mUserId);
|
String info = mLockPatternUtils.getOwnerInfo(mUserId);
|
||||||
boolean enabled = mLockPatternUtils.isOwnerInfoEnabled();
|
boolean enabled = mLockPatternUtils.isOwnerInfoEnabled();
|
||||||
mCheckbox = (CheckBox) mView.findViewById(R.id.show_owner_info_on_lockscreen_checkbox);
|
mCheckbox = (CheckBox) mView.findViewById(R.id.show_owner_info_on_lockscreen_checkbox);
|
||||||
mEditText = (EditText) mView.findViewById(R.id.owner_info_edit_text);
|
mOwnerInfo = (EditText) mView.findViewById(R.id.owner_info_edit_text);
|
||||||
mEditText.setText(info);
|
mOwnerInfo.setText(info);
|
||||||
mEditText.setEnabled(enabled);
|
mOwnerInfo.setEnabled(enabled);
|
||||||
|
mNickname = (EditText) mView.findViewById(R.id.owner_info_nickname);
|
||||||
|
if (!mShowNickname) {
|
||||||
|
mNickname.setVisibility(View.GONE);
|
||||||
|
} else {
|
||||||
|
mNickname.setText(UserManager.get(getActivity()).getUserName());
|
||||||
|
mNickname.setSelected(true);
|
||||||
|
}
|
||||||
mCheckbox.setChecked(enabled);
|
mCheckbox.setChecked(enabled);
|
||||||
if (UserHandle.myUserId() != UserHandle.USER_OWNER) {
|
if (UserHandle.myUserId() != UserHandle.USER_OWNER) {
|
||||||
mCheckbox.setText(R.string.show_user_info_on_lockscreen_label);
|
mCheckbox.setText(R.string.show_user_info_on_lockscreen_label);
|
||||||
@@ -62,7 +86,7 @@ public class OwnerInfoSettings extends Fragment {
|
|||||||
mCheckbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
|
mCheckbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
|
||||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||||
mLockPatternUtils.setOwnerInfoEnabled(isChecked);
|
mLockPatternUtils.setOwnerInfoEnabled(isChecked);
|
||||||
mEditText.setEnabled(isChecked); // disable text field if not enabled
|
mOwnerInfo.setEnabled(isChecked); // disable text field if not enabled
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -70,12 +94,21 @@ public class OwnerInfoSettings extends Fragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onPause() {
|
public void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
saveToDb();
|
saveChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
void saveToDb() {
|
void saveChanges() {
|
||||||
String info = mEditText.getText().toString();
|
ContentResolver res = getActivity().getContentResolver();
|
||||||
|
String info = mOwnerInfo.getText().toString();
|
||||||
mLockPatternUtils.setOwnerInfo(info, mUserId);
|
mLockPatternUtils.setOwnerInfo(info, mUserId);
|
||||||
|
if (mShowNickname) {
|
||||||
|
String oldName = UserManager.get(getActivity()).getUserName();
|
||||||
|
CharSequence newName = mNickname.getText();
|
||||||
|
if (!TextUtils.isEmpty(newName) && !newName.equals(oldName)) {
|
||||||
|
UserManager.get(getActivity()).setUserName(UserHandle.myUserId(),
|
||||||
|
newName.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -36,50 +36,58 @@ public class UserPreference extends Preference {
|
|||||||
private int mSerialNumber = -1;
|
private int mSerialNumber = -1;
|
||||||
private int mUserId = USERID_UNKNOWN;
|
private int mUserId = USERID_UNKNOWN;
|
||||||
private boolean mRestricted;
|
private boolean mRestricted;
|
||||||
|
private boolean mSelf;
|
||||||
static final int SETTINGS_ID = R.id.manage_user;
|
static final int SETTINGS_ID = R.id.manage_user;
|
||||||
static final int DELETE_ID = R.id.trash_user;
|
static final int DELETE_ID = R.id.trash_user;
|
||||||
|
|
||||||
public UserPreference(Context context, AttributeSet attrs) {
|
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,
|
UserPreference(Context context, AttributeSet attrs, int userId,
|
||||||
boolean showOptions, OnClickListener deleteListener,
|
OnClickListener settingsListener,
|
||||||
OnClickListener settingsListener) {
|
OnClickListener deleteListener) {
|
||||||
super(context, attrs);
|
super(context, attrs);
|
||||||
if (showOptions) {
|
if (deleteListener != null || settingsListener != null) {
|
||||||
setWidgetLayoutResource(R.layout.preference_user_delete_widget);
|
setWidgetLayoutResource(R.layout.preference_user_delete_widget);
|
||||||
mDeleteClickListener = deleteListener;
|
|
||||||
mSettingsClickListener = settingsListener;
|
|
||||||
}
|
}
|
||||||
|
mDeleteClickListener = deleteListener;
|
||||||
|
mSettingsClickListener = settingsListener;
|
||||||
mUserId = userId;
|
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
|
@Override
|
||||||
protected void onBindView(View view) {
|
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);
|
View deleteView = view.findViewById(R.id.trash_user);
|
||||||
if (deleteView != null) {
|
if (deleteView != null) {
|
||||||
deleteView.setOnClickListener(mDeleteClickListener);
|
if (mDeleteClickListener != null) {
|
||||||
deleteView.setTag(this);
|
deleteView.setOnClickListener(mDeleteClickListener);
|
||||||
}
|
deleteView.setTag(this);
|
||||||
View settingsView = view.findViewById(R.id.manage_user);
|
|
||||||
if (settingsView != null) {
|
|
||||||
if (mRestricted) {
|
|
||||||
settingsView.setOnClickListener(mSettingsClickListener);
|
|
||||||
settingsView.setTag(this);
|
|
||||||
} else {
|
} else {
|
||||||
settingsView.setVisibility(View.INVISIBLE);
|
deleteView.setVisibility(View.GONE);
|
||||||
|
deleteDividerView.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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 {
|
||||||
|
manageView.setVisibility(View.GONE);
|
||||||
|
manageDividerView.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
super.onBindView(view);
|
super.onBindView(view);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getSerialNumber() {
|
private int getSerialNumber() {
|
||||||
|
if (mUserId == UserHandle.myUserId()) return Integer.MIN_VALUE;
|
||||||
if (mSerialNumber < 0) {
|
if (mSerialNumber < 0) {
|
||||||
// If the userId is unknown
|
// If the userId is unknown
|
||||||
if (mUserId == USERID_UNKNOWN) return Integer.MAX_VALUE;
|
if (mUserId == USERID_UNKNOWN) return Integer.MAX_VALUE;
|
||||||
|
@@ -31,8 +31,6 @@ import android.content.pm.UserInfo;
|
|||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
import android.graphics.Color;
|
|
||||||
import android.graphics.drawable.BitmapDrawable;
|
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@@ -43,12 +41,10 @@ import android.os.UserHandle;
|
|||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
import android.preference.PreferenceActivity;
|
import android.preference.PreferenceActivity;
|
||||||
import android.preference.PreferenceScreen;
|
|
||||||
import android.preference.Preference.OnPreferenceClickListener;
|
import android.preference.Preference.OnPreferenceClickListener;
|
||||||
import android.preference.PreferenceGroup;
|
import android.preference.PreferenceGroup;
|
||||||
import android.provider.ContactsContract;
|
import android.provider.ContactsContract;
|
||||||
import android.provider.ContactsContract.Contacts;
|
import android.provider.ContactsContract.Contacts;
|
||||||
import android.text.InputType;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
@@ -57,11 +53,11 @@ import android.view.MenuItem;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
|
|
||||||
|
import com.android.settings.OwnerInfoSettings;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.SelectableEditTextPreference;
|
import com.android.settings.SelectableEditTextPreference;
|
||||||
import com.android.settings.SettingsPreferenceFragment;
|
import com.android.settings.SettingsPreferenceFragment;
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.SettingsPreferenceFragment.SettingsDialogFragment;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -77,7 +73,6 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
/** UserId of the user that was just added */
|
/** UserId of the user that was just added */
|
||||||
private static final String SAVE_ADDING_USER = "adding_user";
|
private static final String SAVE_ADDING_USER = "adding_user";
|
||||||
|
|
||||||
private static final String KEY_USER_NICKNAME = "user_nickname";
|
|
||||||
private static final String KEY_TRUSTED_USER_LIST = "trusted_user_list";
|
private static final String KEY_TRUSTED_USER_LIST = "trusted_user_list";
|
||||||
private static final String KEY_LIMITED_USER_LIST = "limited_user_list";
|
private static final String KEY_LIMITED_USER_LIST = "limited_user_list";
|
||||||
private static final String KEY_USER_ME = "user_me";
|
private static final String KEY_USER_ME = "user_me";
|
||||||
@@ -179,21 +174,13 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
addPreferencesFromResource(R.xml.user_settings);
|
addPreferencesFromResource(R.xml.user_settings);
|
||||||
mTrustedUserListCategory = (PreferenceGroup) findPreference(KEY_TRUSTED_USER_LIST);
|
mTrustedUserListCategory = (PreferenceGroup) findPreference(KEY_TRUSTED_USER_LIST);
|
||||||
mLimitedUserListCategory = (PreferenceGroup) findPreference(KEY_LIMITED_USER_LIST);
|
mLimitedUserListCategory = (PreferenceGroup) findPreference(KEY_LIMITED_USER_LIST);
|
||||||
mMePreference = (Preference) findPreference(KEY_USER_ME);
|
mMePreference = new UserPreference(getActivity(), null, UserHandle.myUserId(),
|
||||||
|
mUserManager.isLinkedUser() ? null : this, null);
|
||||||
|
mMePreference.setKey(KEY_USER_ME);
|
||||||
mMePreference.setOnPreferenceClickListener(this);
|
mMePreference.setOnPreferenceClickListener(this);
|
||||||
if (!mIsOwner) {
|
if (mIsOwner) {
|
||||||
mMePreference.setSummary(null);
|
mMePreference.setSummary(R.string.user_owner);
|
||||||
}
|
}
|
||||||
Preference ownerInfo = findPreference("user_owner_info");
|
|
||||||
if (ownerInfo != null && !mIsOwner) {
|
|
||||||
ownerInfo.setTitle(R.string.user_info_settings_title);
|
|
||||||
}
|
|
||||||
mNicknamePreference = (SelectableEditTextPreference) findPreference(KEY_USER_NICKNAME);
|
|
||||||
mNicknamePreference.setOnPreferenceChangeListener(this);
|
|
||||||
mNicknamePreference.getEditText().setInputType(
|
|
||||||
InputType.TYPE_TEXT_VARIATION_NORMAL | InputType.TYPE_TEXT_FLAG_CAP_WORDS);
|
|
||||||
mNicknamePreference.setInitialSelectionMode(
|
|
||||||
SelectableEditTextPreference.SELECTION_SELECT_ALL);
|
|
||||||
mAddRestrictedUser = findPreference(KEY_ADD_RESTRICTED_USER);
|
mAddRestrictedUser = findPreference(KEY_ADD_RESTRICTED_USER);
|
||||||
mAddTrustedUser = findPreference(KEY_ADD_TRUSTED_USER);
|
mAddTrustedUser = findPreference(KEY_ADD_TRUSTED_USER);
|
||||||
mAddRestrictedUser.setOnPreferenceClickListener(this);
|
mAddRestrictedUser.setOnPreferenceClickListener(this);
|
||||||
@@ -269,6 +256,9 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
assignProfilePhoto(user);
|
assignProfilePhoto(user);
|
||||||
}
|
}
|
||||||
String profileName = getProfileName();
|
String profileName = getProfileName();
|
||||||
|
if (profileName == null) {
|
||||||
|
profileName = user.name;
|
||||||
|
}
|
||||||
return profileName;
|
return profileName;
|
||||||
}
|
}
|
||||||
}.execute();
|
}.execute();
|
||||||
@@ -341,17 +331,28 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void onManageUserClicked(int userId, boolean newUser) {
|
private void onManageUserClicked(int userId, boolean newUser) {
|
||||||
Bundle extras = new Bundle();
|
UserInfo info = mUserManager.getUserInfo(userId);
|
||||||
extras.putInt(AppRestrictionsFragment.EXTRA_USER_ID, userId);
|
if (info.isRestricted() && mIsOwner) {
|
||||||
extras.putBoolean(AppRestrictionsFragment.EXTRA_NEW_USER, newUser);
|
Bundle extras = new Bundle();
|
||||||
String title = getResources().getString(R.string.user_new_user_name);
|
extras.putInt(AppRestrictionsFragment.EXTRA_USER_ID, userId);
|
||||||
if (userId > UserHandle.USER_OWNER) {
|
extras.putBoolean(AppRestrictionsFragment.EXTRA_NEW_USER, newUser);
|
||||||
title = mUserManager.getUserInfo(userId).name;
|
String title = getResources().getString(R.string.user_new_user_name);
|
||||||
|
if (userId > UserHandle.USER_OWNER) {
|
||||||
|
title = mUserManager.getUserInfo(userId).name;
|
||||||
|
}
|
||||||
|
((PreferenceActivity) getActivity()).startPreferencePanel(
|
||||||
|
AppRestrictionsFragment.class.getName(),
|
||||||
|
extras, 0, title,
|
||||||
|
null, 0);
|
||||||
|
} else if (info.id == UserHandle.myUserId()) {
|
||||||
|
// Jump to owner info panel
|
||||||
|
Bundle extras = new Bundle();
|
||||||
|
extras.putBoolean(OwnerInfoSettings.EXTRA_SHOW_NICKNAME, true);
|
||||||
|
((PreferenceActivity) getActivity()).startPreferencePanel(
|
||||||
|
OwnerInfoSettings.class.getName(),
|
||||||
|
extras, R.string.user_info_settings_title, null,
|
||||||
|
null, 0);
|
||||||
}
|
}
|
||||||
((PreferenceActivity) getActivity()).startPreferencePanel(
|
|
||||||
AppRestrictionsFragment.class.getName(),
|
|
||||||
extras, 0, title,
|
|
||||||
null, 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onUserCreated(int userId) {
|
private void onUserCreated(int userId) {
|
||||||
@@ -510,16 +511,17 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
mLimitedUserListCategory.removeAll();
|
mLimitedUserListCategory.removeAll();
|
||||||
mLimitedUserListCategory.setOrderingAsAdded(false);
|
mLimitedUserListCategory.setOrderingAsAdded(false);
|
||||||
|
|
||||||
|
mTrustedUserListCategory.addPreference(mMePreference);
|
||||||
|
|
||||||
final ArrayList<Integer> missingIcons = new ArrayList<Integer>();
|
final ArrayList<Integer> missingIcons = new ArrayList<Integer>();
|
||||||
for (UserInfo user : users) {
|
for (UserInfo user : users) {
|
||||||
Preference pref;
|
Preference pref;
|
||||||
if (user.id == UserHandle.myUserId()) {
|
if (user.id == UserHandle.myUserId()) {
|
||||||
pref = mMePreference;
|
pref = mMePreference;
|
||||||
mNicknamePreference.setText(user.name);
|
|
||||||
mNicknamePreference.setSummary(user.name);
|
|
||||||
} else {
|
} else {
|
||||||
pref = new UserPreference(getActivity(), null, user.id,
|
pref = new UserPreference(getActivity(), null, user.id,
|
||||||
UserHandle.myUserId() == UserHandle.USER_OWNER, this, this);
|
mIsOwner && user.isRestricted() ? this : null,
|
||||||
|
mIsOwner ? this : null);
|
||||||
pref.setOnPreferenceClickListener(this);
|
pref.setOnPreferenceClickListener(this);
|
||||||
pref.setKey("id=" + user.id);
|
pref.setKey("id=" + user.id);
|
||||||
if (user.isRestricted()) {
|
if (user.isRestricted()) {
|
||||||
@@ -547,7 +549,7 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
// Add a temporary entry for the user being created
|
// Add a temporary entry for the user being created
|
||||||
if (mAddingUser) {
|
if (mAddingUser) {
|
||||||
Preference pref = new UserPreference(getActivity(), null, UserPreference.USERID_UNKNOWN,
|
Preference pref = new UserPreference(getActivity(), null, UserPreference.USERID_UNKNOWN,
|
||||||
false, null, null);
|
null, null);
|
||||||
pref.setEnabled(false);
|
pref.setEnabled(false);
|
||||||
pref.setTitle(R.string.user_new_user_name);
|
pref.setTitle(R.string.user_new_user_name);
|
||||||
pref.setIcon(encircle(R.drawable.avatar_default_1));
|
pref.setIcon(encircle(R.drawable.avatar_default_1));
|
||||||
@@ -610,7 +612,7 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void setPhotoId(Preference pref, UserInfo user) {
|
private void setPhotoId(Preference pref, UserInfo user) {
|
||||||
Bitmap bitmap = mUserIcons.get(user.id); // UserUtils.getUserIcon(mUserManager, user);
|
Bitmap bitmap = mUserIcons.get(user.id);
|
||||||
if (bitmap != null) {
|
if (bitmap != null) {
|
||||||
pref.setIcon(encircle(bitmap));
|
pref.setIcon(encircle(bitmap));
|
||||||
}
|
}
|
||||||
@@ -636,7 +638,13 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
// To make sure that it returns back here when done
|
// To make sure that it returns back here when done
|
||||||
// TODO: Make this a proper API
|
// TODO: Make this a proper API
|
||||||
editProfile.putExtra("finishActivityOnSaveCompleted", true);
|
editProfile.putExtra("finishActivityOnSaveCompleted", true);
|
||||||
startActivity(editProfile);
|
|
||||||
|
// If this is a limited user, launch the user info settings instead of profile editor
|
||||||
|
if (mUserManager.isLinkedUser()) {
|
||||||
|
onManageUserClicked(UserHandle.myUserId(), false);
|
||||||
|
} else {
|
||||||
|
startActivity(editProfile);
|
||||||
|
}
|
||||||
} else if (pref instanceof UserPreference) {
|
} else if (pref instanceof UserPreference) {
|
||||||
int userId = ((UserPreference) pref).getUserId();
|
int userId = ((UserPreference) pref).getUserId();
|
||||||
// Get the latest status of the user
|
// Get the latest status of the user
|
||||||
@@ -647,6 +655,8 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
if (!isInitialized(user)) {
|
if (!isInitialized(user)) {
|
||||||
mHandler.sendMessage(mHandler.obtainMessage(
|
mHandler.sendMessage(mHandler.obtainMessage(
|
||||||
MESSAGE_SETUP_USER, user.id, user.serialNumber));
|
MESSAGE_SETUP_USER, user.id, user.serialNumber));
|
||||||
|
} else if (user.isRestricted()) {
|
||||||
|
onManageUserClicked(user.id, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (pref == mAddTrustedUser) {
|
} else if (pref == mAddTrustedUser) {
|
||||||
|
Reference in New Issue
Block a user