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

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

Merge "Change IAutofillManagerClient to IBinder for getCandidateCreds API" into main

parents a5edc40e fbdd33f8
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -33,12 +33,12 @@ import android.content.Context;
import android.content.IntentSender;
import android.content.IntentSender;
import android.os.Binder;
import android.os.Binder;
import android.os.CancellationSignal;
import android.os.CancellationSignal;
import android.os.IBinder;
import android.os.ICancellationSignal;
import android.os.ICancellationSignal;
import android.os.OutcomeReceiver;
import android.os.OutcomeReceiver;
import android.os.RemoteException;
import android.os.RemoteException;
import android.provider.DeviceConfig;
import android.provider.DeviceConfig;
import android.util.Log;
import android.util.Log;
import android.view.autofill.IAutoFillManagerClient;


import java.lang.annotation.Retention;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.RetentionPolicy;
@@ -138,7 +138,7 @@ public final class CredentialManager {
            @CallbackExecutor @NonNull Executor executor,
            @CallbackExecutor @NonNull Executor executor,
            @NonNull OutcomeReceiver<GetCandidateCredentialsResponse,
            @NonNull OutcomeReceiver<GetCandidateCredentialsResponse,
                    GetCandidateCredentialsException> callback,
                    GetCandidateCredentialsException> callback,
            @NonNull IAutoFillManagerClient clientCallback
            @NonNull IBinder clientCallback
    ) {
    ) {
        requireNonNull(request, "request must not be null");
        requireNonNull(request, "request must not be null");
        requireNonNull(callingPackage, "callingPackage must not be null");
        requireNonNull(callingPackage, "callingPackage must not be null");
+2 −2
Original line number Original line Diff line number Diff line
@@ -22,7 +22,6 @@ import android.credentials.CredentialProviderInfo;
import android.credentials.ClearCredentialStateRequest;
import android.credentials.ClearCredentialStateRequest;
import android.credentials.CreateCredentialRequest;
import android.credentials.CreateCredentialRequest;
import android.credentials.GetCandidateCredentialsRequest;
import android.credentials.GetCandidateCredentialsRequest;
import android.view.autofill.IAutoFillManagerClient;
import android.credentials.GetCredentialRequest;
import android.credentials.GetCredentialRequest;
import android.credentials.RegisterCredentialDescriptionRequest;
import android.credentials.RegisterCredentialDescriptionRequest;
import android.credentials.UnregisterCredentialDescriptionRequest;
import android.credentials.UnregisterCredentialDescriptionRequest;
@@ -33,6 +32,7 @@ import android.credentials.IGetCandidateCredentialsCallback;
import android.credentials.IPrepareGetCredentialCallback;
import android.credentials.IPrepareGetCredentialCallback;
import android.credentials.ISetEnabledProvidersCallback;
import android.credentials.ISetEnabledProvidersCallback;
import android.content.ComponentName;
import android.content.ComponentName;
import android.os.IBinder;
import android.os.ICancellationSignal;
import android.os.ICancellationSignal;


/**
/**
@@ -48,7 +48,7 @@ interface ICredentialManager {


    @nullable ICancellationSignal executeCreateCredential(in CreateCredentialRequest request, in ICreateCredentialCallback callback, String callingPackage);
    @nullable ICancellationSignal executeCreateCredential(in CreateCredentialRequest request, in ICreateCredentialCallback callback, String callingPackage);


    @nullable ICancellationSignal getCandidateCredentials(in GetCredentialRequest request, in IGetCandidateCredentialsCallback callback, in IAutoFillManagerClient clientCallback, String callingPackage);
    @nullable ICancellationSignal getCandidateCredentials(in GetCredentialRequest request, in IGetCandidateCredentialsCallback callback, in IBinder clientCallback, String callingPackage);


    @nullable ICancellationSignal clearCredentialState(in ClearCredentialStateRequest request, in IClearCredentialStateCallback callback, String callingPackage);
    @nullable ICancellationSignal clearCredentialState(in ClearCredentialStateRequest request, in IClearCredentialStateCallback callback, String callingPackage);


+3 −3
Original line number Original line Diff line number Diff line
@@ -173,7 +173,7 @@ class CredentialAutofillService : AutofillService() {
                CancellationSignal(),
                CancellationSignal(),
                Executors.newSingleThreadExecutor(),
                Executors.newSingleThreadExecutor(),
                outcome,
                outcome,
                autofillCallback
                autofillCallback.asBinder()
        )
        )
    }
    }


@@ -358,8 +358,8 @@ class CredentialAutofillService : AutofillService() {
                } else {
                } else {
                    spec = inlinePresentationSpecs[inlinePresentationSpecsCount - 1]
                    spec = inlinePresentationSpecs[inlinePresentationSpecsCount - 1]
                }
                }
                val displayName: String = if (primaryEntry.credentialType == CredentialType.PASSKEY
                val displayName: String = if (primaryEntry.credentialType ==
                        && primaryEntry.displayName != null) {
                        CredentialType.PASSKEY && primaryEntry.displayName != null) {
                    primaryEntry.displayName!!
                    primaryEntry.displayName!!
                } else {
                } else {
                    primaryEntry.userName
                    primaryEntry.userName
+2 −3
Original line number Original line Diff line number Diff line
@@ -63,7 +63,6 @@ import android.text.TextUtils;
import android.util.Pair;
import android.util.Pair;
import android.util.Slog;
import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseArray;
import android.view.autofill.IAutoFillManagerClient;


import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.GuardedBy;
import com.android.server.credentials.metrics.ApiName;
import com.android.server.credentials.metrics.ApiName;
@@ -484,7 +483,7 @@ public final class CredentialManagerService
        public ICancellationSignal getCandidateCredentials(
        public ICancellationSignal getCandidateCredentials(
                GetCredentialRequest request,
                GetCredentialRequest request,
                IGetCandidateCredentialsCallback callback,
                IGetCandidateCredentialsCallback callback,
                IAutoFillManagerClient clientCallback,
                IBinder clientBinder,
                final String callingPackage) {
                final String callingPackage) {
            Slog.i(TAG, "starting getCandidateCredentials with callingPackage: "
            Slog.i(TAG, "starting getCandidateCredentials with callingPackage: "
                    + callingPackage);
                    + callingPackage);
@@ -506,7 +505,7 @@ public final class CredentialManagerService
                            constructCallingAppInfo(callingPackage, userId, request.getOrigin()),
                            constructCallingAppInfo(callingPackage, userId, request.getOrigin()),
                            getEnabledProvidersForUser(userId),
                            getEnabledProvidersForUser(userId),
                            CancellationSignal.fromTransport(cancelTransport),
                            CancellationSignal.fromTransport(cancelTransport),
                            clientCallback
                            clientBinder
                    );
                    );
            addSessionLocked(userId, session);
            addSessionLocked(userId, session);


+6 −6
Original line number Original line Diff line number Diff line
@@ -30,11 +30,11 @@ import android.credentials.ui.GetCredentialProviderData;
import android.credentials.ui.ProviderData;
import android.credentials.ui.ProviderData;
import android.credentials.ui.RequestInfo;
import android.credentials.ui.RequestInfo;
import android.os.CancellationSignal;
import android.os.CancellationSignal;
import android.os.IBinder;
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.service.credentials.PermissionUtils;
import android.util.Slog;
import android.util.Slog;
import android.view.autofill.IAutoFillManagerClient;


import java.util.ArrayList;
import java.util.ArrayList;
import java.util.List;
import java.util.List;
@@ -52,7 +52,7 @@ public class GetCandidateRequestSession extends RequestSession<GetCredentialRequ
    private static final String SESSION_ID_KEY = "autofill_session_id";
    private static final String SESSION_ID_KEY = "autofill_session_id";
    private static final String REQUEST_ID_KEY = "autofill_request_id";
    private static final String REQUEST_ID_KEY = "autofill_request_id";


    private final IAutoFillManagerClient mAutoFillCallback;
    private final IBinder mClientBinder;
    private final int mAutofillSessionId;
    private final int mAutofillSessionId;
    private final int mAutofillRequestId;
    private final int mAutofillRequestId;


@@ -62,15 +62,15 @@ public class GetCandidateRequestSession extends RequestSession<GetCredentialRequ
            IGetCandidateCredentialsCallback callback, GetCredentialRequest request,
            IGetCandidateCredentialsCallback callback, GetCredentialRequest request,
            CallingAppInfo callingAppInfo, Set<ComponentName> enabledProviders,
            CallingAppInfo callingAppInfo, Set<ComponentName> enabledProviders,
            CancellationSignal cancellationSignal,
            CancellationSignal cancellationSignal,
            IAutoFillManagerClient autoFillCallback) {
            IBinder clientBinder) {
        super(context, sessionCallback, lock, userId, callingUid, request, callback,
        super(context, sessionCallback, lock, userId, callingUid, request, callback,
                RequestInfo.TYPE_GET, callingAppInfo, enabledProviders,
                RequestInfo.TYPE_GET, callingAppInfo, enabledProviders,
                cancellationSignal, 0L, /*shouldBindClientToDeath=*/ false);
                cancellationSignal, 0L, /*shouldBindClientToDeath=*/ false);
        mAutoFillCallback = autoFillCallback;
        mClientBinder = clientBinder;
        mAutofillSessionId = request.getData().getInt(SESSION_ID_KEY, -1);
        mAutofillSessionId = request.getData().getInt(SESSION_ID_KEY, -1);
        mAutofillRequestId = request.getData().getInt(REQUEST_ID_KEY, -1);
        mAutofillRequestId = request.getData().getInt(REQUEST_ID_KEY, -1);
        if (mAutoFillCallback != null) {
        if (mClientBinder != null) {
            setUpClientCallbackListener(mAutoFillCallback.asBinder());
            setUpClientCallbackListener(mClientBinder);
        }
        }
    }
    }