Merge "Set the primary provider list to UI" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
6bcbecdd34
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user