Use isPrimary bit to determine top provider am: 3096997718 am: 6464b82525

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22997343

Change-Id: Ib2ca71277a44069e1b0f91ac704374e3056d72de
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Becca Hughes
2023-05-05 00:20:25 +00:00
committed by Automerger Merge Worker
4 changed files with 52 additions and 24 deletions

View File

@@ -321,7 +321,7 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
mEnabledPackageNames.clear();
for (CredentialProviderInfo cpi : availableServices) {
if (cpi.isEnabled()) {
if (cpi.isEnabled() && !cpi.isPrimary()) {
mEnabledPackageNames.add(cpi.getServiceInfo().packageName);
}
}
@@ -560,16 +560,25 @@ public class CredentialManagerPreferenceController extends BasePreferenceControl
return;
}
List<String> enabledServices = getEnabledSettings();
// Get the existing primary providers since we don't touch them in
// this part of the UI we should just copy them over.
Set<String> primaryServices = new HashSet<>();
for (CredentialProviderInfo service : mServices) {
if (service.isPrimary()) {
primaryServices.add(service.getServiceInfo().getComponentName().flattenToString());
}
}
mCredentialManager.setEnabledProviders(
new ArrayList<String>(), // TODO(240466271): pass down primary providers
enabledServices,
new ArrayList<>(primaryServices),
getEnabledSettings(),
getUser(),
mExecutor,
new OutcomeReceiver<Void, SetEnabledProvidersException>() {
@Override
public void onResult(Void result) {
Log.i(TAG, "setEnabledProviders success");
updateFromExternal();
}
@Override