From f7b23ffc4cb8bea3d2b7a6bb07d2fd9c950ff3e1 Mon Sep 17 00:00:00 2001 From: Reema Bajwa Date: Fri, 12 May 2023 08:24:00 +0000 Subject: Fix bug that filters out system providers When setAllowedProvider is specified, currently we are filtering out all the system providers. With this change, we will always ping the system providers + the providers specified in the allow list. Bug: 277773297 Test: built locally & deployed on devive Change-Id: I8a82f68edbd75b9a879d7e32aa32413af3a35cd9 --- .../com/android/server/credentials/ProviderGetSession.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/services/credentials/java/com/android/server/credentials/ProviderGetSession.java b/services/credentials/java/com/android/server/credentials/ProviderGetSession.java index 14260f0e1ad4..d490cda1e8ee 100644 --- a/services/credentials/java/com/android/server/credentials/ProviderGetSession.java +++ b/services/credentials/java/com/android/server/credentials/ProviderGetSession.java @@ -150,7 +150,7 @@ public final class ProviderGetSession extends ProviderSession filteredOptions = new ArrayList<>(); for (CredentialOption option : clientRequest.getCredentialOptions()) { if (providerCapabilities.contains(option.getType()) - && isProviderAllowed(option, info.getComponentName()) + && isProviderAllowed(option, info) && checkSystemProviderRequirement(option, info.isSystemProvider())) { Slog.i(TAG, "Option of type: " + option.getType() + " meets all filtering" + "conditions"); @@ -167,9 +167,14 @@ public final class ProviderGetSession extends ProviderSession