Set default restrictions for a newly created user

Call a different createUser version that sets up the defaults.
Make sure any previously created guest also gets the restrictions
as soon as they are changed.

Bug: 17832802
Bug: 17891763
Change-Id: I3eaa9e3da32b2f436699db24bb7be2668f1480b3
This commit is contained in:
Amith Yamasani
2014-10-06 14:16:11 -07:00
parent 43848de160
commit a766bfa3de
2 changed files with 14 additions and 2 deletions

View File

@@ -30,6 +30,8 @@ import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment; import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils; import com.android.settings.Utils;
import java.util.List;
/** /**
* Settings screen for configuring a specific user. It can contain user restrictions * Settings screen for configuring a specific user. It can contain user restrictions
* and deletion controls. It is shown when you tap on the settings icon in the * and deletion controls. It is shown when you tap on the settings icon in the
@@ -122,6 +124,16 @@ public class UserDetailsSettings extends SettingsPreferenceFragment
// SMS is always disabled for guest // SMS is always disabled for guest
mDefaultGuestRestrictions.putBoolean(UserManager.DISALLOW_SMS, true); mDefaultGuestRestrictions.putBoolean(UserManager.DISALLOW_SMS, true);
mUserManager.setDefaultGuestRestrictions(mDefaultGuestRestrictions); mUserManager.setDefaultGuestRestrictions(mDefaultGuestRestrictions);
// Update the guest's restrictions, if there is a guest
List<UserInfo> users = mUserManager.getUsers(true);
for (UserInfo user: users) {
if (user.isGuest()) {
UserHandle userHandle = new UserHandle(user.id);
Bundle userRestrictions = mUserManager.getUserRestrictions(userHandle);
userRestrictions.putAll(mDefaultGuestRestrictions);
mUserManager.setUserRestrictions(userRestrictions, userHandle);
}
}
} else { } else {
// TODO: Show confirmation dialog: b/15761405 // TODO: Show confirmation dialog: b/15761405
UserHandle userHandle = new UserHandle(mUserInfo.id); UserHandle userHandle = new UserHandle(mUserInfo.id);

View File

@@ -397,7 +397,7 @@ public class UserSettings extends SettingsPreferenceFragment
} }
private UserInfo createLimitedUser() { private UserInfo createLimitedUser() {
UserInfo newUserInfo = mUserManager.createUser( UserInfo newUserInfo = mUserManager.createSecondaryUser(
getResources().getString(R.string.user_new_profile_name), getResources().getString(R.string.user_new_profile_name),
UserInfo.FLAG_RESTRICTED); UserInfo.FLAG_RESTRICTED);
int userId = newUserInfo.id; int userId = newUserInfo.id;
@@ -421,7 +421,7 @@ public class UserSettings extends SettingsPreferenceFragment
} }
private UserInfo createTrustedUser() { private UserInfo createTrustedUser() {
UserInfo newUserInfo = mUserManager.createUser( UserInfo newUserInfo = mUserManager.createSecondaryUser(
getResources().getString(R.string.user_new_user_name), 0); getResources().getString(R.string.user_new_user_name), 0);
if (newUserInfo != null) { if (newUserInfo != null) {
assignDefaultPhoto(newUserInfo); assignDefaultPhoto(newUserInfo);