Fix "Remove Guest" option shows "Reset Guest" dialog

If the guest user was not auto created, removing the user from settings message was wrongly worded. Small refactor to reuse the same wording in different modules has been done.

Bug: 225314166
Test: manual
Change-Id: Ia1871efc6aeeb2d3604c2fc4fd98a2a3a500953b
This commit is contained in:
Anna Bauza
2022-03-23 14:17:20 +00:00
parent 51316c13a1
commit ee23152051
3 changed files with 33 additions and 2 deletions

View File

@@ -209,8 +209,13 @@ public class UserDetailsSettings extends SettingsPreferenceFragment
}
});
case DIALOG_CONFIRM_RESET_GUEST:
return UserDialogs.createResetGuestDialog(getActivity(),
if (mGuestUserAutoCreated) {
return UserDialogs.createResetGuestDialog(getActivity(),
(dialog, which) -> resetGuest());
} else {
return UserDialogs.createRemoveGuestDialog(getActivity(),
(dialog, which) -> resetGuest());
}
}
throw new IllegalArgumentException("Unsupported dialogId " + dialogId);
}

View File

@@ -196,4 +196,25 @@ public final class UserDialogs {
.setNegativeButton(android.R.string.cancel, null)
.create();
}
/**
* Creates a dialog to confirm with the user if it's ok to remove the guest user, which will
* delete all the guest user's data.
*
* @param context a Context object
* @param onConfirmListener Callback object for positive action
* @return the created Dialog
*/
public static Dialog createRemoveGuestDialog(Context context,
DialogInterface.OnClickListener onConfirmListener) {
return new AlertDialog.Builder(context)
.setTitle(com.android.settingslib.R.string.guest_remove_guest_dialog_title)
.setMessage(R.string.user_exit_guest_confirm_message)
.setPositiveButton(
com.android.settingslib.R.string.guest_remove_guest_confirm_button,
onConfirmListener)
.setNegativeButton(android.R.string.cancel, null)
.create();
}
}

View File

@@ -737,8 +737,13 @@ public class UserSettings extends SettingsPreferenceFragment
return buildAddUserDialog(USER_TYPE_RESTRICTED_PROFILE);
}
case DIALOG_CONFIRM_RESET_GUEST: {
return UserDialogs.createResetGuestDialog(getActivity(),
if (mGuestUserAutoCreated) {
return UserDialogs.createResetGuestDialog(getActivity(),
(dialog, which) -> resetGuest());
} else {
return UserDialogs.createRemoveGuestDialog(getActivity(),
(dialog, which) -> resetGuest());
}
}
default:
return null;