Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 45af4086 authored by Reema Bajwa's avatar Reema Bajwa Committed by Android (Google) Code Review
Browse files

Merge "Propagate SEET_ALLOWED_PROVIDERS permission to get flow" into udc-dev

parents fb2ee3d2 b89ee43e
Loading
Loading
Loading
Loading
+15 −0
Original line number Original line Diff line number Diff line
@@ -113,6 +113,21 @@ public final class RequestInfo implements Parcelable {
                hasPermissionToOverrideDefault, defaultProviderIds);
                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. */
    /** Creates new {@code RequestInfo} for a get-credential flow. */
    @NonNull
    @NonNull
    public static RequestInfo newGetRequestInfo(
    public static RequestInfo newGetRequestInfo(
+5 −1
Original line number Original line Diff line number Diff line
@@ -16,6 +16,7 @@


package com.android.server.credentials;
package com.android.server.credentials;


import android.Manifest;
import android.annotation.Nullable;
import android.annotation.Nullable;
import android.content.ComponentName;
import android.content.ComponentName;
import android.content.Context;
import android.content.Context;
@@ -30,6 +31,7 @@ import android.credentials.ui.RequestInfo;
import android.os.CancellationSignal;
import android.os.CancellationSignal;
import android.os.RemoteException;
import android.os.RemoteException;
import android.service.credentials.CallingAppInfo;
import android.service.credentials.CallingAppInfo;
import android.service.credentials.PermissionUtils;
import android.util.Slog;
import android.util.Slog;


import com.android.server.credentials.metrics.ProviderSessionMetric;
import com.android.server.credentials.metrics.ProviderSessionMetric;
@@ -101,7 +103,9 @@ public class GetRequestSession extends RequestSession<GetCredentialRequest,
        try {
        try {
            mPendingIntent = mCredentialManagerUi.createPendingIntent(
            mPendingIntent = mCredentialManagerUi.createPendingIntent(
                    RequestInfo.newGetRequestInfo(
                    RequestInfo.newGetRequestInfo(
                            mRequestId, mClientRequest, mClientAppInfo.getPackageName()),
                            mRequestId, mClientRequest, mClientAppInfo.getPackageName(),
                            PermissionUtils.hasPermission(mContext, mClientAppInfo.getPackageName(),
                                    Manifest.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS)),
                    providerDataList);
                    providerDataList);
            mClientCallback.onPendingIntent(mPendingIntent);
            mClientCallback.onPendingIntent(mPendingIntent);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
+3 −1
Original line number Original line Diff line number Diff line
@@ -189,7 +189,9 @@ public class PrepareGetRequestSession extends GetRequestSession {
        if (!providerDataList.isEmpty()) {
        if (!providerDataList.isEmpty()) {
            return mCredentialManagerUi.createPendingIntent(
            return mCredentialManagerUi.createPendingIntent(
                    RequestInfo.newGetRequestInfo(
                    RequestInfo.newGetRequestInfo(
                            mRequestId, mClientRequest, mClientAppInfo.getPackageName()),
                            mRequestId, mClientRequest, mClientAppInfo.getPackageName(),
                            PermissionUtils.hasPermission(mContext, mClientAppInfo.getPackageName(),
                                    Manifest.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS)),
                    providerDataList);
                    providerDataList);
        } else {
        } else {
            return null;
            return null;