Hide enable dialog and prefix pref wrongly enabled

Test: ondevice
Bug: 281329396
Bug: 280905737
Change-Id: I82652a2520a2f9ca9bc7f8f78cf020bef7af0b15
This commit is contained in:
Becca Hughes
2023-05-09 17:13:30 +00:00
parent 9c67ee1eb1
commit e513c71189

View File

@@ -528,16 +528,24 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
boolean isChecked = pref.isChecked(); boolean isChecked = pref.isChecked();
if (isChecked) { if (isChecked) {
// Since we are enabling it we should confirm the user decision with a if (togglePackageNameEnabled(packageName)) {
// dialog box. // Enable all prefs.
NewProviderConfirmationDialogFragment fragment = if (mPrefs.containsKey(packageName)) {
newNewProviderConfirmationDialogFragment( mPrefs.get(packageName).setChecked(true);
packageName, title, /* setActivityResult= */ false); }
} else {
// Since we failed to show toggle the switch back to off.
pref.setChecked(false);
// Show the error if too many enabled.
final DialogFragment fragment = newErrorDialogFragment();
if (fragment == null || mFragmentManager == null) { if (fragment == null || mFragmentManager == null) {
return true; return true;
} }
fragment.show(mFragmentManager, NewProviderConfirmationDialogFragment.TAG); fragment.show(mFragmentManager, ErrorDialogFragment.TAG);
}
return true; return true;
} else { } else {