summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Reema Bajwa <reemabajwa@google.com> 2023-04-28 00:17:30 +0000
committer Reema Bajwa <reemabajwa@google.com> 2023-04-28 00:17:34 +0000
commit0f533628efc759866d87e62a69028c55951167a2 (patch)
tree86a08a2df36a50339aa7d26928f6f21190cd8218
parentf0a411d69cea73756492e97a4ae86c7b06315fc8 (diff)
Wire up isSystemProviderRequest for the create flow
It is already wired up for get. Test: Locally built & deployed Bug: 279955902 Change-Id: Ie1cd170866626bd7bcb7db960916f163b73654ac
-rw-r--r--services/credentials/java/com/android/server/credentials/ProviderCreateSession.java14
1 files 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 520b937d24c5..40514b2a997f 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<String> providerCapabilities,
+ private static CreateCredentialRequest createProviderRequest(
+ List<String> 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,