- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
268 lines
17 KiB
Java
268 lines
17 KiB
Java
package androidx.credentials.playservices.controllers.GetRestoreCredential;
|
|
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.os.Bundle;
|
|
import android.os.CancellationSignal;
|
|
import android.os.Handler;
|
|
import android.os.Looper;
|
|
import android.os.ResultReceiver;
|
|
import android.util.Log;
|
|
import androidx.annotation.RequiresApi;
|
|
import androidx.annotation.VisibleForTesting;
|
|
import androidx.credentials.Credential;
|
|
import androidx.credentials.CredentialManagerCallback;
|
|
import androidx.credentials.CredentialOption;
|
|
import androidx.credentials.DigitalCredential;
|
|
import androidx.credentials.GetCredentialRequest;
|
|
import androidx.credentials.GetDigitalCredentialOption;
|
|
import androidx.credentials.exceptions.GetCredentialCancellationException;
|
|
import androidx.credentials.exceptions.GetCredentialException;
|
|
import androidx.credentials.exceptions.GetCredentialInterruptedException;
|
|
import androidx.credentials.exceptions.GetCredentialUnknownException;
|
|
import androidx.credentials.internal.ConversionUtilsKt;
|
|
import androidx.credentials.playservices.CredentialProviderPlayServicesImpl;
|
|
import androidx.credentials.playservices.IdentityCredentialApiHiddenActivity;
|
|
import androidx.credentials.playservices.controllers.CredentialProviderBaseController;
|
|
import androidx.credentials.playservices.controllers.CredentialProviderController;
|
|
import androidx.credentials.provider.PendingIntentHandler;
|
|
import com.google.android.gms.common.api.ApiException;
|
|
import com.google.android.gms.identitycredentials.GetCredentialResponse;
|
|
import com.google.android.gms.identitycredentials.IdentityCredentialManager;
|
|
import com.google.android.gms.identitycredentials.PendingGetCredentialHandle;
|
|
import com.google.android.gms.tasks.OnFailureListener;
|
|
import com.google.android.gms.tasks.OnSuccessListener;
|
|
import com.google.android.gms.tasks.Task;
|
|
import java.util.ArrayList;
|
|
import java.util.concurrent.Executor;
|
|
import kotlin.Unit;
|
|
import kotlin.jvm.functions.Function0;
|
|
import kotlin.jvm.functions.Function1;
|
|
import kotlin.jvm.functions.Function2;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import kotlin.jvm.internal.Intrinsics;
|
|
|
|
@RequiresApi(23)
|
|
/* loaded from: classes.dex */
|
|
public final class CredentialProviderGetDigitalCredentialController extends CredentialProviderController<GetCredentialRequest, com.google.android.gms.identitycredentials.GetCredentialRequest, GetCredentialResponse, androidx.credentials.GetCredentialResponse, GetCredentialException> {
|
|
private static final Companion Companion = new Companion(null);
|
|
private static final String TAG = "DigitalCredentialClient";
|
|
public CredentialManagerCallback<androidx.credentials.GetCredentialResponse, GetCredentialException> callback;
|
|
private CancellationSignal cancellationSignal;
|
|
private final Context context;
|
|
public Executor executor;
|
|
private final CredentialProviderGetDigitalCredentialController$resultReceiver$1 resultReceiver;
|
|
|
|
@VisibleForTesting
|
|
public static /* synthetic */ void getCallback$annotations() {
|
|
}
|
|
|
|
@VisibleForTesting
|
|
private static /* synthetic */ void getCancellationSignal$annotations() {
|
|
}
|
|
|
|
@VisibleForTesting
|
|
public static /* synthetic */ void getExecutor$annotations() {
|
|
}
|
|
|
|
private static /* synthetic */ void getResultReceiver$annotations() {
|
|
}
|
|
|
|
public final void setCallback(CredentialManagerCallback<androidx.credentials.GetCredentialResponse, GetCredentialException> credentialManagerCallback) {
|
|
Intrinsics.checkNotNullParameter(credentialManagerCallback, "<set-?>");
|
|
this.callback = credentialManagerCallback;
|
|
}
|
|
|
|
public final void setExecutor(Executor executor) {
|
|
Intrinsics.checkNotNullParameter(executor, "<set-?>");
|
|
this.executor = executor;
|
|
}
|
|
|
|
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
|
/* JADX WARN: Type inference failed for: r0v2, types: [androidx.credentials.playservices.controllers.GetRestoreCredential.CredentialProviderGetDigitalCredentialController$resultReceiver$1] */
|
|
public CredentialProviderGetDigitalCredentialController(Context context) {
|
|
super(context);
|
|
Intrinsics.checkNotNullParameter(context, "context");
|
|
this.context = context;
|
|
final Handler handler = new Handler(Looper.getMainLooper());
|
|
this.resultReceiver = new ResultReceiver(handler) { // from class: androidx.credentials.playservices.controllers.GetRestoreCredential.CredentialProviderGetDigitalCredentialController$resultReceiver$1
|
|
@Override // android.os.ResultReceiver
|
|
public void onReceiveResult(int i, Bundle resultData) {
|
|
CancellationSignal cancellationSignal;
|
|
boolean maybeReportErrorFromResultReceiver;
|
|
Intrinsics.checkNotNullParameter(resultData, "resultData");
|
|
CredentialProviderGetDigitalCredentialController credentialProviderGetDigitalCredentialController = CredentialProviderGetDigitalCredentialController.this;
|
|
CredentialProviderGetDigitalCredentialController$resultReceiver$1$onReceiveResult$1 credentialProviderGetDigitalCredentialController$resultReceiver$1$onReceiveResult$1 = new CredentialProviderGetDigitalCredentialController$resultReceiver$1$onReceiveResult$1(CredentialProviderBaseController.Companion);
|
|
Executor executor = CredentialProviderGetDigitalCredentialController.this.getExecutor();
|
|
CredentialManagerCallback<androidx.credentials.GetCredentialResponse, GetCredentialException> callback = CredentialProviderGetDigitalCredentialController.this.getCallback();
|
|
cancellationSignal = CredentialProviderGetDigitalCredentialController.this.cancellationSignal;
|
|
maybeReportErrorFromResultReceiver = credentialProviderGetDigitalCredentialController.maybeReportErrorFromResultReceiver(resultData, credentialProviderGetDigitalCredentialController$resultReceiver$1$onReceiveResult$1, executor, callback, cancellationSignal);
|
|
if (maybeReportErrorFromResultReceiver) {
|
|
return;
|
|
}
|
|
CredentialProviderGetDigitalCredentialController.this.handleResponse$credentials_play_services_auth_release(resultData.getInt(CredentialProviderBaseController.ACTIVITY_REQUEST_CODE_TAG), i, (Intent) resultData.getParcelable(CredentialProviderBaseController.RESULT_DATA_TAG));
|
|
}
|
|
};
|
|
}
|
|
|
|
public final CredentialManagerCallback<androidx.credentials.GetCredentialResponse, GetCredentialException> getCallback() {
|
|
CredentialManagerCallback<androidx.credentials.GetCredentialResponse, GetCredentialException> credentialManagerCallback = this.callback;
|
|
if (credentialManagerCallback != null) {
|
|
return credentialManagerCallback;
|
|
}
|
|
Intrinsics.throwUninitializedPropertyAccessException("callback");
|
|
return null;
|
|
}
|
|
|
|
public final Executor getExecutor() {
|
|
Executor executor = this.executor;
|
|
if (executor != null) {
|
|
return executor;
|
|
}
|
|
Intrinsics.throwUninitializedPropertyAccessException("executor");
|
|
return null;
|
|
}
|
|
|
|
public final void handleResponse$credentials_play_services_auth_release(int i, int i2, Intent intent) {
|
|
CredentialProviderBaseController.Companion companion = CredentialProviderBaseController.Companion;
|
|
if (i != companion.getCONTROLLER_REQUEST_CODE$credentials_play_services_auth_release()) {
|
|
Log.w(TAG, "Returned request code " + companion.getCONTROLLER_REQUEST_CODE$credentials_play_services_auth_release() + " which does not match what was given " + i);
|
|
return;
|
|
}
|
|
if (CredentialProviderController.maybeReportErrorResultCodeGet(i2, new Function2() { // from class: androidx.credentials.playservices.controllers.GetRestoreCredential.CredentialProviderGetDigitalCredentialController$handleResponse$1
|
|
@Override // kotlin.jvm.functions.Function2
|
|
public /* bridge */ /* synthetic */ Object invoke(Object obj, Object obj2) {
|
|
invoke((CancellationSignal) obj, (Function0) obj2);
|
|
return Unit.INSTANCE;
|
|
}
|
|
|
|
public final void invoke(CancellationSignal cancellationSignal, Function0 f) {
|
|
Intrinsics.checkNotNullParameter(f, "f");
|
|
CredentialProviderController.Companion companion2 = CredentialProviderController.Companion;
|
|
CredentialProviderController.cancelOrCallbackExceptionOrResult(cancellationSignal, f);
|
|
}
|
|
}, new CredentialProviderGetDigitalCredentialController$handleResponse$2(this), this.cancellationSignal)) {
|
|
return;
|
|
}
|
|
if (intent == null) {
|
|
CredentialProviderController.cancelOrCallbackExceptionOrResult(this.cancellationSignal, new CredentialProviderGetDigitalCredentialController$handleResponse$3(this));
|
|
return;
|
|
}
|
|
PendingIntentHandler.Companion companion2 = PendingIntentHandler.Companion;
|
|
androidx.credentials.GetCredentialResponse retrieveGetCredentialResponse = companion2.retrieveGetCredentialResponse(intent);
|
|
if (retrieveGetCredentialResponse != null) {
|
|
CredentialProviderController.cancelOrCallbackExceptionOrResult(this.cancellationSignal, new CredentialProviderGetDigitalCredentialController$handleResponse$4(this, retrieveGetCredentialResponse));
|
|
} else {
|
|
CredentialProviderController.cancelOrCallbackExceptionOrResult(this.cancellationSignal, new CredentialProviderGetDigitalCredentialController$handleResponse$5(this, companion2.retrieveGetCredentialException(intent)));
|
|
}
|
|
}
|
|
|
|
@Override // androidx.credentials.playservices.controllers.CredentialProviderController
|
|
public void invokePlayServices(GetCredentialRequest request, final CredentialManagerCallback<androidx.credentials.GetCredentialResponse, GetCredentialException> callback, final Executor executor, final CancellationSignal cancellationSignal) {
|
|
Intrinsics.checkNotNullParameter(request, "request");
|
|
Intrinsics.checkNotNullParameter(callback, "callback");
|
|
Intrinsics.checkNotNullParameter(executor, "executor");
|
|
this.cancellationSignal = cancellationSignal;
|
|
setCallback(callback);
|
|
setExecutor(executor);
|
|
if (CredentialProviderPlayServicesImpl.Companion.cancellationReviewer$credentials_play_services_auth_release(cancellationSignal)) {
|
|
return;
|
|
}
|
|
Task<PendingGetCredentialHandle> credential = IdentityCredentialManager.Companion.getClient(this.context).getCredential(convertRequestToPlayServices(request));
|
|
final Function1 function1 = new Function1() { // from class: androidx.credentials.playservices.controllers.GetRestoreCredential.CredentialProviderGetDigitalCredentialController$invokePlayServices$1
|
|
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
|
{
|
|
super(1);
|
|
}
|
|
|
|
@Override // kotlin.jvm.functions.Function1
|
|
public /* bridge */ /* synthetic */ Object invoke(Object obj) {
|
|
invoke((PendingGetCredentialHandle) obj);
|
|
return Unit.INSTANCE;
|
|
}
|
|
|
|
public final void invoke(PendingGetCredentialHandle pendingGetCredentialHandle) {
|
|
Context context;
|
|
CredentialProviderGetDigitalCredentialController$resultReceiver$1 credentialProviderGetDigitalCredentialController$resultReceiver$1;
|
|
Context context2;
|
|
if (CredentialProviderPlayServicesImpl.Companion.cancellationReviewer$credentials_play_services_auth_release(cancellationSignal)) {
|
|
return;
|
|
}
|
|
context = this.context;
|
|
Intent intent = new Intent(context, (Class<?>) IdentityCredentialApiHiddenActivity.class);
|
|
intent.setFlags(65536);
|
|
CredentialProviderGetDigitalCredentialController credentialProviderGetDigitalCredentialController = this;
|
|
credentialProviderGetDigitalCredentialController$resultReceiver$1 = credentialProviderGetDigitalCredentialController.resultReceiver;
|
|
intent.putExtra(CredentialProviderBaseController.RESULT_RECEIVER_TAG, credentialProviderGetDigitalCredentialController.toIpcFriendlyResultReceiver(credentialProviderGetDigitalCredentialController$resultReceiver$1));
|
|
intent.putExtra(CredentialProviderBaseController.EXTRA_GET_CREDENTIAL_INTENT, pendingGetCredentialHandle.getPendingIntent());
|
|
context2 = this.context;
|
|
context2.startActivity(intent);
|
|
}
|
|
};
|
|
credential.addOnSuccessListener(new OnSuccessListener() { // from class: androidx.credentials.playservices.controllers.GetRestoreCredential.CredentialProviderGetDigitalCredentialController$$ExternalSyntheticLambda0
|
|
@Override // com.google.android.gms.tasks.OnSuccessListener
|
|
public final void onSuccess(Object obj) {
|
|
Function1.this.invoke(obj);
|
|
}
|
|
}).addOnFailureListener(new OnFailureListener() { // from class: androidx.credentials.playservices.controllers.GetRestoreCredential.CredentialProviderGetDigitalCredentialController$$ExternalSyntheticLambda1
|
|
@Override // com.google.android.gms.tasks.OnFailureListener
|
|
public final void onFailure(Exception exc) {
|
|
CredentialProviderGetDigitalCredentialController.invokePlayServices$lambda$1(CredentialProviderGetDigitalCredentialController.this, cancellationSignal, executor, callback, exc);
|
|
}
|
|
});
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public static final void invokePlayServices$lambda$1(CredentialProviderGetDigitalCredentialController credentialProviderGetDigitalCredentialController, CancellationSignal cancellationSignal, Executor executor, CredentialManagerCallback credentialManagerCallback, Exception e) {
|
|
Intrinsics.checkNotNullParameter(e, "e");
|
|
CredentialProviderController.cancelOrCallbackExceptionOrResult(cancellationSignal, new CredentialProviderGetDigitalCredentialController$invokePlayServices$2$1(executor, credentialManagerCallback, credentialProviderGetDigitalCredentialController.fromGmsException(e)));
|
|
}
|
|
|
|
private final GetCredentialException fromGmsException(Throwable th) {
|
|
GetCredentialException getCredentialUnknownException;
|
|
if (th instanceof com.google.android.gms.identitycredentials.GetCredentialException) {
|
|
return ConversionUtilsKt.toJetpackGetException(((com.google.android.gms.identitycredentials.GetCredentialException) th).getType(), th.getMessage());
|
|
}
|
|
if (th instanceof ApiException) {
|
|
int statusCode = ((ApiException) th).getStatusCode();
|
|
if (statusCode == 16) {
|
|
getCredentialUnknownException = new GetCredentialCancellationException(th.getMessage());
|
|
} else if (CredentialProviderBaseController.Companion.getRetryables().contains(Integer.valueOf(statusCode))) {
|
|
getCredentialUnknownException = new GetCredentialInterruptedException(th.getMessage());
|
|
} else {
|
|
getCredentialUnknownException = new GetCredentialUnknownException("Get digital credential failed, failure: " + th);
|
|
}
|
|
} else {
|
|
getCredentialUnknownException = new GetCredentialUnknownException("Get digital credential failed, failure: " + th);
|
|
}
|
|
return getCredentialUnknownException;
|
|
}
|
|
|
|
@Override // androidx.credentials.playservices.controllers.CredentialProviderController
|
|
public com.google.android.gms.identitycredentials.GetCredentialRequest convertRequestToPlayServices(GetCredentialRequest request) {
|
|
Intrinsics.checkNotNullParameter(request, "request");
|
|
ArrayList arrayList = new ArrayList();
|
|
for (CredentialOption credentialOption : request.getCredentialOptions()) {
|
|
if (credentialOption instanceof GetDigitalCredentialOption) {
|
|
arrayList.add(new com.google.android.gms.identitycredentials.CredentialOption(credentialOption.getType(), credentialOption.getRequestData(), credentialOption.getCandidateQueryData(), ((GetDigitalCredentialOption) credentialOption).getRequestJson(), "", ""));
|
|
}
|
|
}
|
|
return new com.google.android.gms.identitycredentials.GetCredentialRequest(arrayList, GetCredentialRequest.Companion.getRequestMetadataBundle(request), request.getOrigin(), new ResultReceiver(null));
|
|
}
|
|
|
|
@Override // androidx.credentials.playservices.controllers.CredentialProviderController
|
|
public androidx.credentials.GetCredentialResponse convertResponseToCredentialManager(GetCredentialResponse response) {
|
|
Intrinsics.checkNotNullParameter(response, "response");
|
|
return new androidx.credentials.GetCredentialResponse(Credential.Companion.createFrom(DigitalCredential.TYPE_DIGITAL_CREDENTIAL, response.getCredential().getData()));
|
|
}
|
|
|
|
public static final class Companion {
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
private Companion() {
|
|
}
|
|
}
|
|
}
|