From b89ee43ee3a4adb6dd9e761cdafb47f9ed134292 Mon Sep 17 00:00:00 2001 From: Reema Bajwa Date: Tue, 9 May 2023 19:08:02 +0000 Subject: [PATCH] Propagate SEET_ALLOWED_PROVIDERS permission to get flow Test: Built locally Bug: 281599707 Change-Id: I94db6c7a3b68ac2dc40da09be2a777225bdeb169 --- core/java/android/credentials/ui/RequestInfo.java | 15 +++++++++++++++ .../server/credentials/GetRequestSession.java | 6 +++++- .../credentials/PrepareGetRequestSession.java | 4 +++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/core/java/android/credentials/ui/RequestInfo.java b/core/java/android/credentials/ui/RequestInfo.java index 3fc3be58f0224..4fedc8353bf78 100644 --- a/core/java/android/credentials/ui/RequestInfo.java +++ b/core/java/android/credentials/ui/RequestInfo.java @@ -113,6 +113,21 @@ public final class RequestInfo implements Parcelable { hasPermissionToOverrideDefault, defaultProviderIds); } + /** + * Creates new {@code RequestInfo} for a get-credential flow. + * + * @hide + */ + @NonNull + public static RequestInfo newGetRequestInfo( + @NonNull IBinder token, @NonNull GetCredentialRequest getCredentialRequest, + @NonNull String appPackageName, boolean hasPermissionToOverrideDefault) { + return new RequestInfo( + token, TYPE_GET, appPackageName, null, getCredentialRequest, + hasPermissionToOverrideDefault, + /*defaultProviderIds=*/ new ArrayList<>()); + } + /** Creates new {@code RequestInfo} for a get-credential flow. */ @NonNull public static RequestInfo newGetRequestInfo( diff --git a/services/credentials/java/com/android/server/credentials/GetRequestSession.java b/services/credentials/java/com/android/server/credentials/GetRequestSession.java index 9eb3b3b5b7cd3..6b5b7f3398f80 100644 --- a/services/credentials/java/com/android/server/credentials/GetRequestSession.java +++ b/services/credentials/java/com/android/server/credentials/GetRequestSession.java @@ -16,6 +16,7 @@ package com.android.server.credentials; +import android.Manifest; import android.annotation.Nullable; import android.content.ComponentName; import android.content.Context; @@ -30,6 +31,7 @@ import android.credentials.ui.RequestInfo; import android.os.CancellationSignal; import android.os.RemoteException; import android.service.credentials.CallingAppInfo; +import android.service.credentials.PermissionUtils; import android.util.Slog; import com.android.server.credentials.metrics.ProviderSessionMetric; @@ -101,7 +103,9 @@ public class GetRequestSession extends RequestSession