From 68470a4f2768bdc42c35a373da46e973b0ecc778 Mon Sep 17 00:00:00 2001 From: Becca Hughes Date: Tue, 9 May 2023 21:45:09 +0000 Subject: [PATCH] Warn earlier about 5 provider limit Test: ondevice Bug: 281616441 Change-Id: I4c4d257e1a0a6396b3948a2b50462bbef1987729 --- .../CredentialManagerPreferenceController.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java b/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java index d6808a4014c..9b959c5f622 100644 --- a/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java +++ b/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java @@ -533,16 +533,9 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl boolean isChecked = pref.isChecked(); if (isChecked) { - 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); - + if (mEnabledPackageNames.size() >= MAX_SELECTABLE_PROVIDERS) { // Show the error if too many enabled. + pref.setChecked(false); final DialogFragment fragment = newErrorDialogFragment(); if (fragment == null || mFragmentManager == null) { @@ -550,8 +543,15 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl } fragment.show(mFragmentManager, ErrorDialogFragment.TAG); + return true; } + togglePackageNameEnabled(packageName); + + // Enable all prefs. + if (mPrefs.containsKey(packageName)) { + mPrefs.get(packageName).setChecked(true); + } return true; } else { // If we are disabling the last enabled provider then show a warning.