Loading src/com/android/settings/users/RestrictionUtils.java +4 −3 Original line number Diff line number Diff line Loading @@ -78,16 +78,17 @@ public class RestrictionUtils { public static void setRestrictions(Context context, ArrayList<RestrictionEntry> entries, UserHandle user) { UserManager um = UserManager.get(context); Bundle userRestrictions = um.getUserRestrictions(user); for (RestrictionEntry entry : entries) { userRestrictions.putBoolean(entry.getKey(), !entry.getSelectedState()); um.setUserRestriction(entry.getKey(), !entry.getSelectedState()); // TODO This will no longer be needed once b/23902097 is fixed. um.setUserRestriction // should do it. if (entry.getKey().equals(UserManager.DISALLOW_SHARE_LOCATION) && !entry.getSelectedState()) { Secure.putIntForUser(context.getContentResolver(), Secure.LOCATION_MODE, Secure.LOCATION_MODE_OFF, user.getIdentifier()); } } um.setUserRestrictions(userRestrictions, user); } } src/com/android/settings/users/UserDetailsSettings.java +9 −5 Original line number Diff line number Diff line Loading @@ -123,7 +123,8 @@ public class UserDetailsSettings extends SettingsPreferenceFragment @Override public boolean onPreferenceChange(Preference preference, Object newValue) { if (Boolean.TRUE.equals(newValue)) { showDialog(mGuestUser? DIALOG_CONFIRM_ENABLE_CALLING : DIALOG_CONFIRM_ENABLE_CALLING_AND_SMS); showDialog(mGuestUser ? DIALOG_CONFIRM_ENABLE_CALLING : DIALOG_CONFIRM_ENABLE_CALLING_AND_SMS); return false; } enableCallsAndSms(false); Loading @@ -137,14 +138,17 @@ public class UserDetailsSettings extends SettingsPreferenceFragment // SMS is always disabled for guest mDefaultGuestRestrictions.putBoolean(UserManager.DISALLOW_SMS, true); mUserManager.setDefaultGuestRestrictions(mDefaultGuestRestrictions); // Update the guest's restrictions, if there is a guest // TODO: Maybe setDefaultGuestRestrictions() can internally just set the restrictions // on any existing guest rather than do it here with multiple Binder calls. 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); for (String key : mDefaultGuestRestrictions.keySet()) { mUserManager.setUserRestriction( key, mDefaultGuestRestrictions.getBoolean(key)); } } } } else { Loading Loading
src/com/android/settings/users/RestrictionUtils.java +4 −3 Original line number Diff line number Diff line Loading @@ -78,16 +78,17 @@ public class RestrictionUtils { public static void setRestrictions(Context context, ArrayList<RestrictionEntry> entries, UserHandle user) { UserManager um = UserManager.get(context); Bundle userRestrictions = um.getUserRestrictions(user); for (RestrictionEntry entry : entries) { userRestrictions.putBoolean(entry.getKey(), !entry.getSelectedState()); um.setUserRestriction(entry.getKey(), !entry.getSelectedState()); // TODO This will no longer be needed once b/23902097 is fixed. um.setUserRestriction // should do it. if (entry.getKey().equals(UserManager.DISALLOW_SHARE_LOCATION) && !entry.getSelectedState()) { Secure.putIntForUser(context.getContentResolver(), Secure.LOCATION_MODE, Secure.LOCATION_MODE_OFF, user.getIdentifier()); } } um.setUserRestrictions(userRestrictions, user); } }
src/com/android/settings/users/UserDetailsSettings.java +9 −5 Original line number Diff line number Diff line Loading @@ -123,7 +123,8 @@ public class UserDetailsSettings extends SettingsPreferenceFragment @Override public boolean onPreferenceChange(Preference preference, Object newValue) { if (Boolean.TRUE.equals(newValue)) { showDialog(mGuestUser? DIALOG_CONFIRM_ENABLE_CALLING : DIALOG_CONFIRM_ENABLE_CALLING_AND_SMS); showDialog(mGuestUser ? DIALOG_CONFIRM_ENABLE_CALLING : DIALOG_CONFIRM_ENABLE_CALLING_AND_SMS); return false; } enableCallsAndSms(false); Loading @@ -137,14 +138,17 @@ public class UserDetailsSettings extends SettingsPreferenceFragment // SMS is always disabled for guest mDefaultGuestRestrictions.putBoolean(UserManager.DISALLOW_SMS, true); mUserManager.setDefaultGuestRestrictions(mDefaultGuestRestrictions); // Update the guest's restrictions, if there is a guest // TODO: Maybe setDefaultGuestRestrictions() can internally just set the restrictions // on any existing guest rather than do it here with multiple Binder calls. 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); for (String key : mDefaultGuestRestrictions.keySet()) { mUserManager.setUserRestriction( key, mDefaultGuestRestrictions.getBoolean(key)); } } } } else { Loading