Merge "Set the primary provider list to UI" into udc-dev am: 6bcbecdd34
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23016277 Change-Id: I2b956db2a6837461e7613ed908bbe8cf662a8d8a Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
committed by
Automerger Merge Worker
commit
a4302436fb
@@ -49,6 +49,7 @@ public final class CreateRequestSession extends RequestSession<CreateCredentialR
|
|||||||
ICreateCredentialCallback, CreateCredentialResponse>
|
ICreateCredentialCallback, CreateCredentialResponse>
|
||||||
implements ProviderSession.ProviderInternalCallback<CreateCredentialResponse> {
|
implements ProviderSession.ProviderInternalCallback<CreateCredentialResponse> {
|
||||||
private static final String TAG = "CreateRequestSession";
|
private static final String TAG = "CreateRequestSession";
|
||||||
|
private final Set<String> mPrimaryProviders;
|
||||||
|
|
||||||
CreateRequestSession(@NonNull Context context, RequestSession.SessionLifetime sessionCallback,
|
CreateRequestSession(@NonNull Context context, RequestSession.SessionLifetime sessionCallback,
|
||||||
Object lock, int userId, int callingUid,
|
Object lock, int userId, int callingUid,
|
||||||
@@ -56,6 +57,7 @@ public final class CreateRequestSession extends RequestSession<CreateCredentialR
|
|||||||
ICreateCredentialCallback callback,
|
ICreateCredentialCallback callback,
|
||||||
CallingAppInfo callingAppInfo,
|
CallingAppInfo callingAppInfo,
|
||||||
Set<ComponentName> enabledProviders,
|
Set<ComponentName> enabledProviders,
|
||||||
|
Set<String> primaryProviders,
|
||||||
CancellationSignal cancellationSignal,
|
CancellationSignal cancellationSignal,
|
||||||
long startedTimestamp) {
|
long startedTimestamp) {
|
||||||
super(context, sessionCallback, lock, userId, callingUid, request, callback,
|
super(context, sessionCallback, lock, userId, callingUid, request, callback,
|
||||||
@@ -63,6 +65,7 @@ public final class CreateRequestSession extends RequestSession<CreateCredentialR
|
|||||||
callingAppInfo, enabledProviders, cancellationSignal, startedTimestamp);
|
callingAppInfo, enabledProviders, cancellationSignal, startedTimestamp);
|
||||||
mRequestSessionMetric.collectCreateFlowInitialMetricInfo(
|
mRequestSessionMetric.collectCreateFlowInitialMetricInfo(
|
||||||
/*origin=*/request.getOrigin() != null);
|
/*origin=*/request.getOrigin() != null);
|
||||||
|
mPrimaryProviders = primaryProviders;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -99,8 +102,7 @@ public final class CreateRequestSession extends RequestSession<CreateCredentialR
|
|||||||
mClientAppInfo.getPackageName(),
|
mClientAppInfo.getPackageName(),
|
||||||
PermissionUtils.hasPermission(mContext, mClientAppInfo.getPackageName(),
|
PermissionUtils.hasPermission(mContext, mClientAppInfo.getPackageName(),
|
||||||
Manifest.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS),
|
Manifest.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS),
|
||||||
// TODO(b/279480457): populate
|
/*defaultProviderId=*/new ArrayList<String>(mPrimaryProviders)),
|
||||||
/*defaultProviderId=*/new ArrayList<>()),
|
|
||||||
providerDataList);
|
providerDataList);
|
||||||
mClientCallback.onPendingIntent(mPendingIntent);
|
mClientCallback.onPendingIntent(mPendingIntent);
|
||||||
} catch (RemoteException e) {
|
} 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(
|
final int resolvedUserId = ActivityManager.handleIncomingUser(
|
||||||
Binder.getCallingPid(), Binder.getCallingUid(),
|
Binder.getCallingPid(), Binder.getCallingUid(),
|
||||||
userId, false, false,
|
userId, false, false,
|
||||||
"getPrimaryProvidersForUserId", null);
|
"getPrimaryProvidersForUserId", null);
|
||||||
SecureSettingsServiceNameResolver resolver = new SecureSettingsServiceNameResolver(
|
SecureSettingsServiceNameResolver resolver = new SecureSettingsServiceNameResolver(
|
||||||
mContext, Settings.Secure.CREDENTIAL_SERVICE_PRIMARY,
|
context, Settings.Secure.CREDENTIAL_SERVICE_PRIMARY,
|
||||||
/* isMultipleMode= */ true);
|
/* isMultipleMode= */ true);
|
||||||
String[] serviceNames = resolver.readServiceNameList(resolvedUserId);
|
String[] serviceNames = resolver.readServiceNameList(resolvedUserId);
|
||||||
if (serviceNames == null) {
|
if (serviceNames == null) {
|
||||||
@@ -656,6 +656,7 @@ public final class CredentialManagerService
|
|||||||
callback,
|
callback,
|
||||||
constructCallingAppInfo(callingPackage, userId, request.getOrigin()),
|
constructCallingAppInfo(callingPackage, userId, request.getOrigin()),
|
||||||
getEnabledProviders(),
|
getEnabledProviders(),
|
||||||
|
getPrimaryProvidersForUserId(getContext(), userId),
|
||||||
CancellationSignal.fromTransport(cancelTransport),
|
CancellationSignal.fromTransport(cancelTransport),
|
||||||
timestampBegan);
|
timestampBegan);
|
||||||
addSessionLocked(userId, session);
|
addSessionLocked(userId, session);
|
||||||
@@ -804,7 +805,7 @@ public final class CredentialManagerService
|
|||||||
|
|
||||||
return CredentialProviderInfoFactory.getCredentialProviderServices(
|
return CredentialProviderInfoFactory.getCredentialProviderServices(
|
||||||
mContext, userId, providerFilter, getEnabledProviders(),
|
mContext, userId, providerFilter, getEnabledProviders(),
|
||||||
getPrimaryProvidersForUserId(userId));
|
getPrimaryProvidersForUserId(mContext, userId));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -815,7 +816,7 @@ public final class CredentialManagerService
|
|||||||
final int userId = UserHandle.getCallingUserId();
|
final int userId = UserHandle.getCallingUserId();
|
||||||
return CredentialProviderInfoFactory.getCredentialProviderServicesForTesting(
|
return CredentialProviderInfoFactory.getCredentialProviderServicesForTesting(
|
||||||
mContext, userId, providerFilter, getEnabledProviders(),
|
mContext, userId, providerFilter, getEnabledProviders(),
|
||||||
getPrimaryProvidersForUserId(userId));
|
getPrimaryProvidersForUserId(mContext, userId));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user