private int mRemovingUserId = -1;
private int mAddedUserId = 0;
private boolean mAddingUser;
+ private String mAddingUserName;
private UserCapabilities mUserCaps;
private boolean mShouldUpdateUserList = true;
private final Object mUserLock = new Object();
}
private UserInfo createRestrictedProfile() {
- UserInfo newUserInfo = mUserManager.createRestrictedProfile(
- getResources().getString(R.string.user_new_profile_name));
+ UserInfo newUserInfo = mUserManager.createRestrictedProfile(mAddingUserName);
assignDefaultPhoto(newUserInfo);
return newUserInfo;
}
private UserInfo createTrustedUser() {
- UserInfo newUserInfo = mUserManager.createUser(
- getResources().getString(R.string.user_new_user_name), 0);
+ UserInfo newUserInfo = mUserManager.createUser(mAddingUserName, 0);
if (newUserInfo != null) {
assignDefaultPhoto(newUserInfo);
}
}
private void onManageUserClicked(int userId, boolean newUser) {
+ mAddingUser = false;
if (userId == UserPreference.USERID_GUEST_DEFAULTS) {
Bundle extras = new Bundle();
extras.putBoolean(UserDetailsSettings.EXTRA_USER_GUEST, true);
private void onUserCreated(int userId) {
mAddedUserId = userId;
+ mAddingUser = false;
if (mUserManager.getUserInfo(userId).isRestricted()) {
showDialog(DIALOG_SETUP_PROFILE);
} else {
private void addUserNow(final int userType) {
synchronized (mUserLock) {
mAddingUser = true;
+ mAddingUserName = userType == USER_TYPE_USER ? getString(R.string.user_new_user_name)
+ : getString(R.string.user_new_profile_name);
//updateUserList();
new Thread() {
public void run() {
user = createRestrictedProfile();
}
if (user == null) {
+ mAddingUser = false;
return;
}
synchronized (mUserLock) {
- mAddingUser = false;
if (userType == USER_TYPE_USER) {
mHandler.sendEmptyMessage(MESSAGE_UPDATE_LIST);
mHandler.sendMessage(mHandler.obtainMessage(
UserPreference pref = new UserPreference(getPrefContext(), null,
UserPreference.USERID_UNKNOWN, null, null);
pref.setEnabled(false);
- pref.setTitle(R.string.user_new_user_name);
+ pref.setTitle(mAddingUserName);
pref.setIcon(getEncircledDefaultIcon());
userPreferences.add(pref);
}
boolean moreUsers = mUserManager.canAddMoreUsers();
mAddUser.setOrder(Preference.DEFAULT_ORDER);
preferenceScreen.addPreference(mAddUser);
- mAddUser.setEnabled(moreUsers);
+ mAddUser.setEnabled(moreUsers && !mAddingUser);
if (!moreUsers) {
mAddUser.setSummary(getString(R.string.user_add_max_count, getMaxRealUsers()));
} else {
@Override
public void onDismiss(DialogInterface dialog) {
synchronized (mUserLock) {
- mAddingUser = false;
mRemovingUserId = -1;
updateUserList();
}