From e513c71189c8b526b99b4091daf5caf210af5d59 Mon Sep 17 00:00:00 2001 From: Becca Hughes Date: Tue, 9 May 2023 17:13:30 +0000 Subject: [PATCH] Hide enable dialog and prefix pref wrongly enabled Test: ondevice Bug: 281329396 Bug: 280905737 Change-Id: I82652a2520a2f9ca9bc7f8f78cf020bef7af0b15 --- ...CredentialManagerPreferenceController.java | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java b/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java index e906e48ed36..ec575db48ac 100644 --- a/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java +++ b/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java @@ -528,16 +528,24 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl boolean isChecked = pref.isChecked(); if (isChecked) { - // Since we are enabling it we should confirm the user decision with a - // dialog box. - NewProviderConfirmationDialogFragment fragment = - newNewProviderConfirmationDialogFragment( - packageName, title, /* setActivityResult= */ false); - if (fragment == null || mFragmentManager == null) { - return true; - } + if (togglePackageNameEnabled(packageName)) { + // Enable all prefs. + if (mPrefs.containsKey(packageName)) { + mPrefs.get(packageName).setChecked(true); + } + } else { + // Since we failed to show toggle the switch back to off. + pref.setChecked(false); - fragment.show(mFragmentManager, NewProviderConfirmationDialogFragment.TAG); + // Show the error if too many enabled. + final DialogFragment fragment = newErrorDialogFragment(); + + if (fragment == null || mFragmentManager == null) { + return true; + } + + fragment.show(mFragmentManager, ErrorDialogFragment.TAG); + } return true; } else {