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:
@@ -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);
|
||||||
|
@@ -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);
|
||||||
|
Reference in New Issue
Block a user