From 0f533628efc759866d87e62a69028c55951167a2 Mon Sep 17 00:00:00 2001 From: Reema Bajwa Date: Fri, 28 Apr 2023 00:17:30 +0000 Subject: [PATCH] Wire up isSystemProviderRequest for the create flow It is already wired up for get. Test: Locally built & deployed Bug: 279955902 Change-Id: Ie1cd170866626bd7bcb7db960916f163b73654ac --- .../server/credentials/ProviderCreateSession.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/services/credentials/java/com/android/server/credentials/ProviderCreateSession.java b/services/credentials/java/com/android/server/credentials/ProviderCreateSession.java index 520b937d24c5b..40514b2a997ff 100644 --- a/services/credentials/java/com/android/server/credentials/ProviderCreateSession.java +++ b/services/credentials/java/com/android/server/credentials/ProviderCreateSession.java @@ -75,7 +75,8 @@ public final class ProviderCreateSession extends ProviderSession< CreateCredentialRequest providerCreateRequest = createProviderRequest(providerInfo.getCapabilities(), createRequestSession.mClientRequest, - createRequestSession.mClientAppInfo); + createRequestSession.mClientAppInfo, + providerInfo.isSystemProvider()); if (providerCreateRequest != null) { return new ProviderCreateSession( context, @@ -114,9 +115,16 @@ public final class ProviderCreateSession extends ProviderSession< } @Nullable - private static CreateCredentialRequest createProviderRequest(List providerCapabilities, + private static CreateCredentialRequest createProviderRequest( + List providerCapabilities, android.credentials.CreateCredentialRequest clientRequest, - CallingAppInfo callingAppInfo) { + CallingAppInfo callingAppInfo, + boolean isSystemProvider) { + if (clientRequest.isSystemProviderRequired() && !isSystemProvider) { + // Request requires system provider but this session does not correspond to a + // system service + return null; + } String capability = clientRequest.getType(); if (providerCapabilities.contains(capability)) { return new CreateCredentialRequest(callingAppInfo, capability,