Fix "Turn on phone calls" for guest user

Move "Turn on phone calls" from guest detail user screen to user screen.
Optimisation: Applying restrictions to default guest user has been moved
to UserManagerService -> setDefaultGuestRestrictions.

Following UX there is no need for confirmation dialog.

Bug: 191483069
Test: make RunSettingsRoboTests -j128 ROBOTEST_FILTER="com.android.settings.users.GuestTelephonyPreferenceControllerTest"
       make RunSettingsRoboTests -j128 ROBOTEST_FILTER="com.android.settings.users.UserSettingsTest"
Change-Id: Id7391d3f85954ea7f9c94791f24174105ec8073e
This commit is contained in:
Anna Bauza
2022-04-27 13:07:09 +00:00
parent 25fd957190
commit 935b735fb4
10 changed files with 286 additions and 100 deletions

View File

@@ -125,6 +125,7 @@ public class UserSettings extends SettingsPreferenceFragment
private static final String KEY_ADD_USER = "user_add";
private static final String KEY_ADD_SUPERVISED_USER = "supervised_user_add";
private static final String KEY_ADD_USER_WHEN_LOCKED = "user_settings_add_users_when_locked";
private static final String KEY_ENABLE_GUEST_TELEPHONY = "enable_guest_calling";
private static final String KEY_MULTIUSER_TOP_INTRO = "multiuser_top_intro";
private static final String KEY_TIMEOUT_TO_USER_ZERO = "timeout_to_user_zero_preference";
private static final String KEY_GUEST_CATEGORY = "guest_category";
@@ -215,6 +216,7 @@ public class UserSettings extends SettingsPreferenceFragment
private EditUserInfoController mEditUserInfoController =
new EditUserInfoController(Utils.FILE_PROVIDER_AUTHORITY);
private AddUserWhenLockedPreferenceController mAddUserWhenLockedPreferenceController;
private GuestTelephonyPreferenceController mGuestTelephonyPreferenceController;
private RemoveGuestOnExitPreferenceController mRemoveGuestOnExitPreferenceController;
private MultiUserTopIntroPreferenceController mMultiUserTopIntroPreferenceController;
private TimeoutToUserZeroPreferenceController mTimeoutToUserZeroPreferenceController;
@@ -304,6 +306,9 @@ public class UserSettings extends SettingsPreferenceFragment
mAddUserWhenLockedPreferenceController = new AddUserWhenLockedPreferenceController(
activity, KEY_ADD_USER_WHEN_LOCKED);
mGuestTelephonyPreferenceController = new GuestTelephonyPreferenceController(
activity, KEY_ENABLE_GUEST_TELEPHONY);
mRemoveGuestOnExitPreferenceController = new RemoveGuestOnExitPreferenceController(
activity, KEY_REMOVE_GUEST_ON_EXIT, this, mHandler);
@@ -315,6 +320,7 @@ public class UserSettings extends SettingsPreferenceFragment
final PreferenceScreen screen = getPreferenceScreen();
mAddUserWhenLockedPreferenceController.displayPreference(screen);
mGuestTelephonyPreferenceController.displayPreference(screen);
mRemoveGuestOnExitPreferenceController.displayPreference(screen);
mMultiUserTopIntroPreferenceController.displayPreference(screen);
mTimeoutToUserZeroPreferenceController.displayPreference(screen);
@@ -322,6 +328,9 @@ public class UserSettings extends SettingsPreferenceFragment
screen.findPreference(mAddUserWhenLockedPreferenceController.getPreferenceKey())
.setOnPreferenceChangeListener(mAddUserWhenLockedPreferenceController);
screen.findPreference(mGuestTelephonyPreferenceController.getPreferenceKey())
.setOnPreferenceChangeListener(mGuestTelephonyPreferenceController);
screen.findPreference(mRemoveGuestOnExitPreferenceController.getPreferenceKey())
.setOnPreferenceChangeListener(mRemoveGuestOnExitPreferenceController);
@@ -393,6 +402,8 @@ public class UserSettings extends SettingsPreferenceFragment
mAddUserWhenLockedPreferenceController.updateState(screen.findPreference(
mAddUserWhenLockedPreferenceController.getPreferenceKey()));
mGuestTelephonyPreferenceController.updateState(screen.findPreference(
mGuestTelephonyPreferenceController.getPreferenceKey()));
mTimeoutToUserZeroPreferenceController.updateState(screen.findPreference(
mTimeoutToUserZeroPreferenceController.getPreferenceKey()));
mRemoveGuestOnExitPreferenceController.updateState(screen.findPreference(
@@ -1298,9 +1309,13 @@ public class UserSettings extends SettingsPreferenceFragment
mAddUserWhenLockedPreferenceController.getPreferenceKey());
mAddUserWhenLockedPreferenceController.updateState(addUserOnLockScreen);
final Preference multiUserTopIntroPrefence = getPreferenceScreen().findPreference(
final Preference guestCallPreference = getPreferenceScreen().findPreference(
mGuestTelephonyPreferenceController.getPreferenceKey());
mGuestTelephonyPreferenceController.updateState(guestCallPreference);
final Preference multiUserTopIntroPreference = getPreferenceScreen().findPreference(
mMultiUserTopIntroPreferenceController.getPreferenceKey());
mMultiUserTopIntroPreferenceController.updateState(multiUserTopIntroPrefence);
mMultiUserTopIntroPreferenceController.updateState(multiUserTopIntroPreference);
mUserListCategory.setVisible(mUserCaps.mUserSwitcherEnabled);
updateGuestPreferences();
updateGuestCategory(context, users);