diff --git a/res/values/strings.xml b/res/values/strings.xml
index 28c3ef7ada6..aedb6f0ff02 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -10304,7 +10304,16 @@
Turn off %1$s\?
- Saved info like passkeys and passwords may not be available when you sign in
+
+ Turn off this service?
+
+
+ Save info like passwords, passkeys, payment methods, and other info won\'t be filled
+ in when you sign in. To use your saved info, choose a password, passkey, or data
+ service.
+ ]]>
+
Use %1$s\?
diff --git a/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java b/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java
index 9f701a5fa5a..f704ca81a7e 100644
--- a/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java
+++ b/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java
@@ -554,19 +554,7 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
}
return true;
} else {
- // If we are disabling the last enabled provider then show a warning.
- if (mEnabledPackageNames.size() <= 1) {
- final DialogFragment fragment =
- newConfirmationDialogFragment(packageName, title, pref);
-
- if (fragment == null || mFragmentManager == null) {
- return true;
- }
-
- fragment.show(mFragmentManager, ConfirmationDialogFragment.TAG);
- } else {
- togglePackageNameDisabled(packageName);
- }
+ togglePackageNameDisabled(packageName);
}
return true;
@@ -682,35 +670,6 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
return new ErrorDialogFragment(host);
}
- private @Nullable ConfirmationDialogFragment newConfirmationDialogFragment(
- @NonNull String packageName,
- @NonNull CharSequence appName,
- @NonNull SwitchPreference pref) {
- DialogHost host =
- new DialogHost() {
- @Override
- public void onDialogClick(int whichButton) {
- if (whichButton == DialogInterface.BUTTON_POSITIVE) {
- // Since the package is now enabled then we
- // should remove it from the enabled list.
- togglePackageNameDisabled(packageName);
- } else if (whichButton == DialogInterface.BUTTON_NEGATIVE) {
- // Set the checked back to true because we
- // backed out of turning this off.
- pref.setChecked(true);
- }
- }
-
- @Override
- public void onCancel() {
- // If we dismiss the dialog then re-enable.
- pref.setChecked(true);
- }
- };
-
- return new ConfirmationDialogFragment(host, packageName, appName);
- }
-
protected int getUser() {
if (mIsWorkProfile) {
UserHandle workProfile = Utils.getManagedProfile(UserManager.get(mContext));
@@ -800,46 +759,6 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
public void onClick(DialogInterface dialog, int which) {}
}
- /**
- * Confirmation dialog fragment shows a dialog to the user to confirm that they are disabling a
- * provider.
- */
- public static class ConfirmationDialogFragment extends CredentialManagerDialogFragment {
-
- ConfirmationDialogFragment(
- DialogHost dialogHost, @NonNull String packageName, @NonNull CharSequence appName) {
- super(dialogHost);
-
- final Bundle argument = new Bundle();
- argument.putString(PACKAGE_NAME_KEY, packageName);
- argument.putCharSequence(APP_NAME_KEY, appName);
- setArguments(argument);
- }
-
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- final Bundle bundle = getArguments();
- final String title =
- getContext()
- .getString(
- R.string.credman_confirmation_message_title,
- bundle.getCharSequence(
- CredentialManagerDialogFragment.APP_NAME_KEY));
-
- return new AlertDialog.Builder(getActivity())
- .setTitle(title)
- .setMessage(getContext().getString(R.string.credman_confirmation_message))
- .setPositiveButton(R.string.credman_confirmation_message_positive_button, this)
- .setNegativeButton(android.R.string.cancel, this)
- .create();
- }
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- getDialogHost().onDialogClick(which);
- }
- }
-
/**
* Confirmation dialog fragment shows a dialog to the user to confirm that they would like to
* enable the new provider.
diff --git a/src/com/android/settings/applications/credentials/DefaultCombinedPicker.java b/src/com/android/settings/applications/credentials/DefaultCombinedPicker.java
index b8d104c904f..dcf8fa8244e 100644
--- a/src/com/android/settings/applications/credentials/DefaultCombinedPicker.java
+++ b/src/com/android/settings/applications/credentials/DefaultCombinedPicker.java
@@ -273,8 +273,13 @@ public class DefaultCombinedPicker extends DefaultAppPickerFragment {
@Override
protected CharSequence getConfirmationMessage(CandidateInfo appInfo) {
+ // If we are selecting none then show a warning label.
if (appInfo == null) {
- return null;
+ final String message =
+ getContext()
+ .getString(
+ R.string.credman_confirmation_message);
+ return Html.fromHtml(message);
}
final CharSequence appName = appInfo.loadLabel();
final String message =