Disable Add user until Setup prompt is shown
Bug: 27848426 Change-Id: Ibbc0ac0aad8298252dfc460a10a87955fc3e713d
This commit is contained in:
@@ -140,6 +140,7 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
private int mRemovingUserId = -1;
|
private int mRemovingUserId = -1;
|
||||||
private int mAddedUserId = 0;
|
private int mAddedUserId = 0;
|
||||||
private boolean mAddingUser;
|
private boolean mAddingUser;
|
||||||
|
private String mAddingUserName;
|
||||||
private UserCapabilities mUserCaps;
|
private UserCapabilities mUserCaps;
|
||||||
private boolean mShouldUpdateUserList = true;
|
private boolean mShouldUpdateUserList = true;
|
||||||
private final Object mUserLock = new Object();
|
private final Object mUserLock = new Object();
|
||||||
@@ -402,15 +403,13 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
private UserInfo createRestrictedProfile() {
|
private UserInfo createRestrictedProfile() {
|
||||||
UserInfo newUserInfo = mUserManager.createRestrictedProfile(
|
UserInfo newUserInfo = mUserManager.createRestrictedProfile(mAddingUserName);
|
||||||
getResources().getString(R.string.user_new_profile_name));
|
|
||||||
assignDefaultPhoto(newUserInfo);
|
assignDefaultPhoto(newUserInfo);
|
||||||
return newUserInfo;
|
return newUserInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
private UserInfo createTrustedUser() {
|
private UserInfo createTrustedUser() {
|
||||||
UserInfo newUserInfo = mUserManager.createUser(
|
UserInfo newUserInfo = mUserManager.createUser(mAddingUserName, 0);
|
||||||
getResources().getString(R.string.user_new_user_name), 0);
|
|
||||||
if (newUserInfo != null) {
|
if (newUserInfo != null) {
|
||||||
assignDefaultPhoto(newUserInfo);
|
assignDefaultPhoto(newUserInfo);
|
||||||
}
|
}
|
||||||
@@ -418,6 +417,7 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void onManageUserClicked(int userId, boolean newUser) {
|
private void onManageUserClicked(int userId, boolean newUser) {
|
||||||
|
mAddingUser = false;
|
||||||
if (userId == UserPreference.USERID_GUEST_DEFAULTS) {
|
if (userId == UserPreference.USERID_GUEST_DEFAULTS) {
|
||||||
Bundle extras = new Bundle();
|
Bundle extras = new Bundle();
|
||||||
extras.putBoolean(UserDetailsSettings.EXTRA_USER_GUEST, true);
|
extras.putBoolean(UserDetailsSettings.EXTRA_USER_GUEST, true);
|
||||||
@@ -453,6 +453,7 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
|
|
||||||
private void onUserCreated(int userId) {
|
private void onUserCreated(int userId) {
|
||||||
mAddedUserId = userId;
|
mAddedUserId = userId;
|
||||||
|
mAddingUser = false;
|
||||||
if (mUserManager.getUserInfo(userId).isRestricted()) {
|
if (mUserManager.getUserInfo(userId).isRestricted()) {
|
||||||
showDialog(DIALOG_SETUP_PROFILE);
|
showDialog(DIALOG_SETUP_PROFILE);
|
||||||
} else {
|
} else {
|
||||||
@@ -653,6 +654,8 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
private void addUserNow(final int userType) {
|
private void addUserNow(final int userType) {
|
||||||
synchronized (mUserLock) {
|
synchronized (mUserLock) {
|
||||||
mAddingUser = true;
|
mAddingUser = true;
|
||||||
|
mAddingUserName = userType == USER_TYPE_USER ? getString(R.string.user_new_user_name)
|
||||||
|
: getString(R.string.user_new_profile_name);
|
||||||
//updateUserList();
|
//updateUserList();
|
||||||
new Thread() {
|
new Thread() {
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -664,10 +667,10 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
user = createRestrictedProfile();
|
user = createRestrictedProfile();
|
||||||
}
|
}
|
||||||
if (user == null) {
|
if (user == null) {
|
||||||
|
mAddingUser = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
synchronized (mUserLock) {
|
synchronized (mUserLock) {
|
||||||
mAddingUser = false;
|
|
||||||
if (userType == USER_TYPE_USER) {
|
if (userType == USER_TYPE_USER) {
|
||||||
mHandler.sendEmptyMessage(MESSAGE_UPDATE_LIST);
|
mHandler.sendEmptyMessage(MESSAGE_UPDATE_LIST);
|
||||||
mHandler.sendMessage(mHandler.obtainMessage(
|
mHandler.sendMessage(mHandler.obtainMessage(
|
||||||
@@ -775,7 +778,7 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
UserPreference pref = new UserPreference(getPrefContext(), null,
|
UserPreference pref = new UserPreference(getPrefContext(), null,
|
||||||
UserPreference.USERID_UNKNOWN, null, null);
|
UserPreference.USERID_UNKNOWN, null, null);
|
||||||
pref.setEnabled(false);
|
pref.setEnabled(false);
|
||||||
pref.setTitle(R.string.user_new_user_name);
|
pref.setTitle(mAddingUserName);
|
||||||
pref.setIcon(getEncircledDefaultIcon());
|
pref.setIcon(getEncircledDefaultIcon());
|
||||||
userPreferences.add(pref);
|
userPreferences.add(pref);
|
||||||
}
|
}
|
||||||
@@ -830,7 +833,7 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
boolean moreUsers = mUserManager.canAddMoreUsers();
|
boolean moreUsers = mUserManager.canAddMoreUsers();
|
||||||
mAddUser.setOrder(Preference.DEFAULT_ORDER);
|
mAddUser.setOrder(Preference.DEFAULT_ORDER);
|
||||||
preferenceScreen.addPreference(mAddUser);
|
preferenceScreen.addPreference(mAddUser);
|
||||||
mAddUser.setEnabled(moreUsers);
|
mAddUser.setEnabled(moreUsers && !mAddingUser);
|
||||||
if (!moreUsers) {
|
if (!moreUsers) {
|
||||||
mAddUser.setSummary(getString(R.string.user_add_max_count, getMaxRealUsers()));
|
mAddUser.setSummary(getString(R.string.user_add_max_count, getMaxRealUsers()));
|
||||||
} else {
|
} else {
|
||||||
@@ -990,7 +993,6 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
@Override
|
@Override
|
||||||
public void onDismiss(DialogInterface dialog) {
|
public void onDismiss(DialogInterface dialog) {
|
||||||
synchronized (mUserLock) {
|
synchronized (mUserLock) {
|
||||||
mAddingUser = false;
|
|
||||||
mRemovingUserId = -1;
|
mRemovingUserId = -1;
|
||||||
updateUserList();
|
updateUserList();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user