diff options
| author | 2022-11-29 16:34:07 +0000 | |
|---|---|---|
| committer | 2022-11-29 16:34:07 +0000 | |
| commit | d2b7eea233d6d73e0ec00cb23d24b90a68e7a82f (patch) | |
| tree | 309ec684cd939fa26d9a3965f21b6729ba8a0a4b /services | |
| parent | 4e5d42f47093d62c5a84bbb221878adc758f9790 (diff) | |
| parent | 22934ad92b2cb3fd65d2d8ace159457e1a4ac44d (diff) | |
Merge "Use the right two create requests for the first and second round respectively Test: Built & deployed locally"
Diffstat (limited to 'services')
| -rw-r--r-- | services/credentials/java/com/android/server/credentials/ProviderCreateSession.java | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/services/credentials/java/com/android/server/credentials/ProviderCreateSession.java b/services/credentials/java/com/android/server/credentials/ProviderCreateSession.java index 14fee78baacb..332a75ea566b 100644 --- a/services/credentials/java/com/android/server/credentials/ProviderCreateSession.java +++ b/services/credentials/java/com/android/server/credentials/ProviderCreateSession.java @@ -28,6 +28,7 @@ import android.credentials.ui.ProviderPendingIntentResponse; import android.os.Bundle; import android.service.credentials.BeginCreateCredentialRequest; import android.service.credentials.BeginCreateCredentialResponse; +import android.service.credentials.CreateCredentialRequest; import android.service.credentials.CreateEntry; import android.service.credentials.CredentialProviderInfo; import android.service.credentials.CredentialProviderService; @@ -53,7 +54,7 @@ public final class ProviderCreateSession extends ProviderSession< @NonNull private final Map<String, CreateEntry> mUiSaveEntries = new HashMap<>(); /** The complete request to be used in the second round. */ - private final BeginCreateCredentialRequest mCompleteRequest; + private final CreateCredentialRequest mCompleteRequest; /** Creates a new provider session to be used by the request session. */ @Nullable public static ProviderCreateSession createNewSession( @@ -62,52 +63,48 @@ public final class ProviderCreateSession extends ProviderSession< CredentialProviderInfo providerInfo, CreateRequestSession createRequestSession, RemoteCredentialService remoteCredentialService) { - BeginCreateCredentialRequest providerRequest = + CreateCredentialRequest providerCreateRequest = createProviderRequest(providerInfo.getCapabilities(), createRequestSession.mClientRequest, createRequestSession.mClientCallingPackage); - if (providerRequest != null) { + if (providerCreateRequest != null) { + // TODO : Replace with proper splitting of request + BeginCreateCredentialRequest providerBeginCreateRequest = + new BeginCreateCredentialRequest( + providerCreateRequest.getCallingPackage(), + providerCreateRequest.getType(), + new Bundle()); return new ProviderCreateSession(context, providerInfo, createRequestSession, userId, - remoteCredentialService, providerRequest); + remoteCredentialService, providerBeginCreateRequest, providerCreateRequest); } Log.i(TAG, "Unable to create provider session"); return null; } @Nullable - private static BeginCreateCredentialRequest createProviderRequest( - List<String> providerCapabilities, + private static CreateCredentialRequest createProviderRequest(List<String> providerCapabilities, android.credentials.CreateCredentialRequest clientRequest, String clientCallingPackage) { String capability = clientRequest.getType(); if (providerCapabilities.contains(capability)) { - return new BeginCreateCredentialRequest(clientCallingPackage, capability, + return new CreateCredentialRequest(clientCallingPackage, capability, clientRequest.getData()); } Log.i(TAG, "Unable to create provider request - capabilities do not match"); return null; } - private static BeginCreateCredentialRequest getFirstRoundRequest( - BeginCreateCredentialRequest request) { - // TODO: Replace with first round bundle from request when ready - return new BeginCreateCredentialRequest( - request.getCallingPackage(), - request.getType(), - new Bundle()); - } - private ProviderCreateSession( @NonNull Context context, @NonNull CredentialProviderInfo info, @NonNull ProviderInternalCallback callbacks, @UserIdInt int userId, @NonNull RemoteCredentialService remoteCredentialService, - @NonNull BeginCreateCredentialRequest request) { - super(context, info, getFirstRoundRequest(request), callbacks, userId, + @NonNull BeginCreateCredentialRequest beginCreateRequest, + @NonNull CreateCredentialRequest completeCreateRequest) { + super(context, info, beginCreateRequest, callbacks, userId, remoteCredentialService); - // TODO : Replace with proper splitting of request - mCompleteRequest = request; + mCompleteRequest = completeCreateRequest; setStatus(Status.PENDING); } |