Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6bcbecdd authored by Guangjie (Jerry) Shi's avatar Guangjie (Jerry) Shi Committed by Android (Google) Code Review
Browse files

Merge "Set the primary provider list to UI" into udc-dev

parents 7fbed032 20f6a57d
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ public final class CreateRequestSession extends RequestSession<CreateCredentialR
        ICreateCredentialCallback, CreateCredentialResponse>
        implements ProviderSession.ProviderInternalCallback<CreateCredentialResponse> {
    private static final String TAG = "CreateRequestSession";
    private final Set<String> mPrimaryProviders;

    CreateRequestSession(@NonNull Context context, RequestSession.SessionLifetime sessionCallback,
            Object lock, int userId, int callingUid,
@@ -56,6 +57,7 @@ public final class CreateRequestSession extends RequestSession<CreateCredentialR
            ICreateCredentialCallback callback,
            CallingAppInfo callingAppInfo,
            Set<ComponentName> enabledProviders,
            Set<String> primaryProviders,
            CancellationSignal cancellationSignal,
            long startedTimestamp) {
        super(context, sessionCallback, lock, userId, callingUid, request, callback,
@@ -63,6 +65,7 @@ public final class CreateRequestSession extends RequestSession<CreateCredentialR
                callingAppInfo, enabledProviders, cancellationSignal, startedTimestamp);
        mRequestSessionMetric.collectCreateFlowInitialMetricInfo(
                /*origin=*/request.getOrigin() != null);
        mPrimaryProviders = primaryProviders;
    }

    /**
@@ -99,8 +102,7 @@ public final class CreateRequestSession extends RequestSession<CreateCredentialR
                            mClientAppInfo.getPackageName(),
                            PermissionUtils.hasPermission(mContext, mClientAppInfo.getPackageName(),
                                    Manifest.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS),
                            // TODO(b/279480457): populate
                            /*defaultProviderId=*/new ArrayList<>()),
                            /*defaultProviderId=*/new ArrayList<String>(mPrimaryProviders)),
                    providerDataList);
            mClientCallback.onPendingIntent(mPendingIntent);
        } catch (RemoteException e) {
+5 −4
Original line number Diff line number Diff line
@@ -281,13 +281,13 @@ public final class CredentialManagerService
        }
    }

    private Set<String> getPrimaryProvidersForUserId(int userId) {
    private static Set<String> getPrimaryProvidersForUserId(Context context, int userId) {
        final int resolvedUserId = ActivityManager.handleIncomingUser(
                Binder.getCallingPid(), Binder.getCallingUid(),
                userId, false, false,
                "getPrimaryProvidersForUserId", null);
        SecureSettingsServiceNameResolver resolver = new SecureSettingsServiceNameResolver(
                mContext, Settings.Secure.CREDENTIAL_SERVICE_PRIMARY,
                context, Settings.Secure.CREDENTIAL_SERVICE_PRIMARY,
                /* isMultipleMode= */ true);
        String[] serviceNames = resolver.readServiceNameList(resolvedUserId);
        if (serviceNames == null) {
@@ -656,6 +656,7 @@ public final class CredentialManagerService
                            callback,
                            constructCallingAppInfo(callingPackage, userId, request.getOrigin()),
                            getEnabledProviders(),
                            getPrimaryProvidersForUserId(getContext(), userId),
                            CancellationSignal.fromTransport(cancelTransport),
                            timestampBegan);
            addSessionLocked(userId, session);
@@ -804,7 +805,7 @@ public final class CredentialManagerService

            return CredentialProviderInfoFactory.getCredentialProviderServices(
                    mContext, userId, providerFilter, getEnabledProviders(),
                    getPrimaryProvidersForUserId(userId));
                    getPrimaryProvidersForUserId(mContext, userId));
        }

        @Override
@@ -815,7 +816,7 @@ public final class CredentialManagerService
            final int userId = UserHandle.getCallingUserId();
            return CredentialProviderInfoFactory.getCredentialProviderServicesForTesting(
                    mContext, userId, providerFilter, getEnabledProviders(),
                    getPrimaryProvidersForUserId(userId));
                    getPrimaryProvidersForUserId(mContext, userId));
        }

        @Override