package androidx.credentials.playservices.controllers.CreatePublicKeyCredential; 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.VisibleForTesting; import androidx.credentials.CreateCredentialResponse; import androidx.credentials.CreatePublicKeyCredentialRequest; import androidx.credentials.CreatePublicKeyCredentialResponse; import androidx.credentials.CredentialManagerCallback; import androidx.credentials.exceptions.CreateCredentialException; import androidx.credentials.exceptions.CreateCredentialUnknownException; import androidx.credentials.exceptions.domerrors.EncodingError; import androidx.credentials.exceptions.domerrors.UnknownError; import androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialDomException; import androidx.credentials.playservices.CredentialProviderPlayServicesImpl; import androidx.credentials.playservices.HiddenActivity; import androidx.credentials.playservices.controllers.CredentialProviderBaseController; import androidx.credentials.playservices.controllers.CredentialProviderController; import com.google.android.gms.fido.Fido; import com.google.android.gms.fido.fido2.api.common.PublicKeyCredential; import com.google.android.gms.fido.fido2.api.common.PublicKeyCredentialCreationOptions; import java.util.concurrent.Executor; import kotlin.Unit; import kotlin.jvm.functions.Function0; import kotlin.jvm.functions.Function2; import kotlin.jvm.internal.DefaultConstructorMarker; import kotlin.jvm.internal.Intrinsics; import org.json.JSONException; /* loaded from: classes.dex */ public final class CredentialProviderCreatePublicKeyCredentialController extends CredentialProviderController { public static final Companion Companion = new Companion(null); private static final String TAG = "CreatePublicKey"; private CredentialManagerCallback callback; private CancellationSignal cancellationSignal; private final Context context; private Executor executor; private final CredentialProviderCreatePublicKeyCredentialController$resultReceiver$1 resultReceiver; @VisibleForTesting(otherwise = 2) private static /* synthetic */ void getCallback$annotations() { } @VisibleForTesting(otherwise = 2) private static /* synthetic */ void getCancellationSignal$annotations() { } @VisibleForTesting(otherwise = 2) private static /* synthetic */ void getExecutor$annotations() { } public static final CredentialProviderCreatePublicKeyCredentialController getInstance(Context context) { return Companion.getInstance(context); } /* 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.CreatePublicKeyCredential.CredentialProviderCreatePublicKeyCredentialController$resultReceiver$1] */ public CredentialProviderCreatePublicKeyCredentialController(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.CreatePublicKeyCredential.CredentialProviderCreatePublicKeyCredentialController$resultReceiver$1 @Override // android.os.ResultReceiver public void onReceiveResult(int i, Bundle resultData) { Executor executor; Executor executor2; CredentialManagerCallback credentialManagerCallback; CredentialManagerCallback credentialManagerCallback2; CancellationSignal cancellationSignal; boolean maybeReportErrorFromResultReceiver; Intrinsics.checkNotNullParameter(resultData, "resultData"); CredentialProviderCreatePublicKeyCredentialController credentialProviderCreatePublicKeyCredentialController = CredentialProviderCreatePublicKeyCredentialController.this; CredentialProviderCreatePublicKeyCredentialController$resultReceiver$1$onReceiveResult$1 credentialProviderCreatePublicKeyCredentialController$resultReceiver$1$onReceiveResult$1 = new CredentialProviderCreatePublicKeyCredentialController$resultReceiver$1$onReceiveResult$1(CredentialProviderBaseController.Companion); executor = CredentialProviderCreatePublicKeyCredentialController.this.executor; if (executor == null) { Intrinsics.throwUninitializedPropertyAccessException("executor"); executor2 = null; } else { executor2 = executor; } credentialManagerCallback = CredentialProviderCreatePublicKeyCredentialController.this.callback; if (credentialManagerCallback == null) { Intrinsics.throwUninitializedPropertyAccessException("callback"); credentialManagerCallback2 = null; } else { credentialManagerCallback2 = credentialManagerCallback; } cancellationSignal = CredentialProviderCreatePublicKeyCredentialController.this.cancellationSignal; maybeReportErrorFromResultReceiver = credentialProviderCreatePublicKeyCredentialController.maybeReportErrorFromResultReceiver(resultData, credentialProviderCreatePublicKeyCredentialController$resultReceiver$1$onReceiveResult$1, executor2, credentialManagerCallback2, cancellationSignal); if (maybeReportErrorFromResultReceiver) { return; } CredentialProviderCreatePublicKeyCredentialController.this.handleResponse$credentials_play_services_auth_release(resultData.getInt(CredentialProviderBaseController.ACTIVITY_REQUEST_CODE_TAG), i, (Intent) resultData.getParcelable(CredentialProviderBaseController.RESULT_DATA_TAG)); } }; } @Override // androidx.credentials.playservices.controllers.CredentialProviderController public void invokePlayServices(CreatePublicKeyCredentialRequest request, CredentialManagerCallback callback, Executor executor, CancellationSignal cancellationSignal) { Intrinsics.checkNotNullParameter(request, "request"); Intrinsics.checkNotNullParameter(callback, "callback"); Intrinsics.checkNotNullParameter(executor, "executor"); this.cancellationSignal = cancellationSignal; this.callback = callback; this.executor = executor; try { PublicKeyCredentialCreationOptions convertRequestToPlayServices = convertRequestToPlayServices(request); if (CredentialProviderPlayServicesImpl.Companion.cancellationReviewer$credentials_play_services_auth_release(cancellationSignal)) { return; } Intent intent = new Intent(this.context, (Class) HiddenActivity.class); intent.putExtra(CredentialProviderBaseController.REQUEST_TAG, convertRequestToPlayServices); generateHiddenActivityIntent(this.resultReceiver, intent, CredentialProviderBaseController.CREATE_PUBLIC_KEY_CREDENTIAL_TAG); try { this.context.startActivity(intent); } catch (Exception unused) { CredentialProviderController.cancelOrCallbackExceptionOrResult(cancellationSignal, new CredentialProviderCreatePublicKeyCredentialController$invokePlayServices$3(this)); } } catch (JSONException e) { CredentialProviderController.cancelOrCallbackExceptionOrResult(cancellationSignal, new CredentialProviderCreatePublicKeyCredentialController$invokePlayServices$1(this, e)); } catch (Throwable th) { CredentialProviderController.cancelOrCallbackExceptionOrResult(cancellationSignal, new CredentialProviderCreatePublicKeyCredentialController$invokePlayServices$2(this, th)); } } 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() + " does not match what was given " + i); return; } if (CredentialProviderController.maybeReportErrorResultCodeCreate(i2, new Function2() { // from class: androidx.credentials.playservices.controllers.CreatePublicKeyCredential.CredentialProviderCreatePublicKeyCredentialController$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 CredentialProviderCreatePublicKeyCredentialController$handleResponse$2(this), this.cancellationSignal)) { return; } Executor executor = null; byte[] byteArrayExtra = intent != null ? intent.getByteArrayExtra(Fido.FIDO2_KEY_CREDENTIAL_EXTRA) : null; if (byteArrayExtra == null) { if (CredentialProviderPlayServicesImpl.Companion.cancellationReviewer$credentials_play_services_auth_release(this.cancellationSignal)) { return; } Executor executor2 = this.executor; if (executor2 == null) { Intrinsics.throwUninitializedPropertyAccessException("executor"); } else { executor = executor2; } executor.execute(new Runnable() { // from class: androidx.credentials.playservices.controllers.CreatePublicKeyCredential.CredentialProviderCreatePublicKeyCredentialController$$ExternalSyntheticLambda0 @Override // java.lang.Runnable public final void run() { CredentialProviderCreatePublicKeyCredentialController.handleResponse$lambda$0(CredentialProviderCreatePublicKeyCredentialController.this); } }); return; } PublicKeyCredential deserializeFromBytes = PublicKeyCredential.deserializeFromBytes(byteArrayExtra); Intrinsics.checkNotNullExpressionValue(deserializeFromBytes, "deserializeFromBytes(...)"); CreateCredentialException publicKeyCredentialResponseContainsError = PublicKeyCredentialControllerUtility.Companion.publicKeyCredentialResponseContainsError(deserializeFromBytes); if (publicKeyCredentialResponseContainsError != null) { CredentialProviderController.cancelOrCallbackExceptionOrResult(this.cancellationSignal, new CredentialProviderCreatePublicKeyCredentialController$handleResponse$4(this, publicKeyCredentialResponseContainsError)); return; } try { CredentialProviderController.cancelOrCallbackExceptionOrResult(this.cancellationSignal, new CredentialProviderCreatePublicKeyCredentialController$handleResponse$5(this, convertResponseToCredentialManager(deserializeFromBytes))); } catch (JSONException e) { CredentialProviderController.cancelOrCallbackExceptionOrResult(this.cancellationSignal, new CredentialProviderCreatePublicKeyCredentialController$handleResponse$6(this, e)); } catch (Throwable th) { CredentialProviderController.cancelOrCallbackExceptionOrResult(this.cancellationSignal, new CredentialProviderCreatePublicKeyCredentialController$handleResponse$7(this, th)); } } /* JADX INFO: Access modifiers changed from: private */ public static final void handleResponse$lambda$0(CredentialProviderCreatePublicKeyCredentialController credentialProviderCreatePublicKeyCredentialController) { CredentialManagerCallback credentialManagerCallback = credentialProviderCreatePublicKeyCredentialController.callback; if (credentialManagerCallback == null) { Intrinsics.throwUninitializedPropertyAccessException("callback"); credentialManagerCallback = null; } credentialManagerCallback.onError(new CreatePublicKeyCredentialDomException(new UnknownError(), "Upon handling create public key credential response, fido module giving null bytes indicating internal error")); } @Override // androidx.credentials.playservices.controllers.CredentialProviderController @VisibleForTesting(otherwise = 4) public PublicKeyCredentialCreationOptions convertRequestToPlayServices(CreatePublicKeyCredentialRequest request) { Intrinsics.checkNotNullParameter(request, "request"); return PublicKeyCredentialControllerUtility.Companion.convert(request, this.context); } @Override // androidx.credentials.playservices.controllers.CredentialProviderController @VisibleForTesting(otherwise = 4) public CreateCredentialResponse convertResponseToCredentialManager(PublicKeyCredential response) { Intrinsics.checkNotNullParameter(response, "response"); try { String json = response.toJson(); Intrinsics.checkNotNullExpressionValue(json, "toJson(...)"); return new CreatePublicKeyCredentialResponse(json); } catch (Throwable th) { throw new CreateCredentialUnknownException("The PublicKeyCredential response json had an unexpected exception when parsing: " + th.getMessage()); } } /* JADX INFO: Access modifiers changed from: private */ public final CreatePublicKeyCredentialDomException JSONExceptionToPKCError(JSONException jSONException) { String message = jSONException.getMessage(); if (message != null && message.length() > 0) { return new CreatePublicKeyCredentialDomException(new EncodingError(), message); } return new CreatePublicKeyCredentialDomException(new EncodingError(), "Unknown error"); } public static final class Companion { public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) { this(); } private Companion() { } public final CredentialProviderCreatePublicKeyCredentialController getInstance(Context context) { Intrinsics.checkNotNullParameter(context, "context"); return new CredentialProviderCreatePublicKeyCredentialController(context); } } }