Properly handle the autofill provider names, making sure place holder

name is properly filtered out.

Bug: 337040395
Test: locally built and tested
Change-Id: I081064c6103f79fe966a36d0eea854ee9893bce3
This commit is contained in:
Jerry Shi
2024-05-14 17:15:00 -07:00
parent 4fc959d8c1
commit 07b7679319
3 changed files with 39 additions and 20 deletions

View File

@@ -183,16 +183,15 @@ public class DefaultCombinedPreferenceController extends DefaultAppPreferenceCon
final List<AutofillServiceInfo> autofillProviders =
AutofillServiceInfo.getAvailableServices(mContext, userId);
final String selectedAutofillProvider =
Settings.Secure.getStringForUser(
mContext.getContentResolver(),
DefaultCombinedPicker.AUTOFILL_SETTING,
userId);
CredentialManagerPreferenceController
.getSelectedAutofillProvider(mContext, userId, TAG);
final List<CredentialProviderInfo> credManProviders = new ArrayList<>();
if (mCredentialManager != null) {
credManProviders.addAll(
mCredentialManager.getCredentialProviderServices(
userId, CredentialManager.PROVIDER_FILTER_USER_PROVIDERS_ONLY));
userId,
CredentialManager.PROVIDER_FILTER_USER_PROVIDERS_INCLUDING_HIDDEN));
}
return CombinedProviderInfo.buildMergedList(
@@ -226,6 +225,12 @@ public class DefaultCombinedPreferenceController extends DefaultAppPreferenceCon
return;
}
// Clean the autofill provider settings
Settings.Secure.putStringForUser(
mContext.getContentResolver(),
DefaultCombinedPicker.AUTOFILL_SETTING, null, getUser());
// Clean the credman provider settings.
mCredentialManager.setEnabledProviders(
List.of(), // empty primary provider.
List.of(), // empty enabled providers.