.class public final Landroidx/credentials/provider/utils/CryptoObjectUtils; .super Ljava/lang/Object; .source "SourceFile" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/credentials/provider/utils/CryptoObjectUtils$Api28Impl;, Landroidx/credentials/provider/utils/CryptoObjectUtils$Api30Impl;, Landroidx/credentials/provider/utils/CryptoObjectUtils$Api35Impl; } .end annotation # static fields .field public static final INSTANCE:Landroidx/credentials/provider/utils/CryptoObjectUtils; # direct methods .method static constructor ()V .locals 1 new-instance v0, Landroidx/credentials/provider/utils/CryptoObjectUtils; invoke-direct {v0}, Landroidx/credentials/provider/utils/CryptoObjectUtils;->()V sput-object v0, Landroidx/credentials/provider/utils/CryptoObjectUtils;->INSTANCE:Landroidx/credentials/provider/utils/CryptoObjectUtils; return-void .end method .method private constructor ()V .locals 0 .line 37 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method # virtual methods .method public final getOperationHandle(Landroidx/biometric/BiometricPrompt$CryptoObject;)J .locals 2 .annotation build Landroidx/annotation/RequiresApi; value = 0x23 .end annotation .line 96 invoke-virtual {p0, p1}, Landroidx/credentials/provider/utils/CryptoObjectUtils;->wrapForBiometricPrompt(Landroidx/biometric/BiometricPrompt$CryptoObject;)Landroid/hardware/biometrics/BiometricPrompt$CryptoObject; move-result-object p1 if-eqz p1, :cond_0 .line 98 sget-object v0, Landroidx/credentials/provider/utils/CryptoObjectUtils$Api35Impl;->INSTANCE:Landroidx/credentials/provider/utils/CryptoObjectUtils$Api35Impl; invoke-virtual {v0, p1}, Landroidx/credentials/provider/utils/CryptoObjectUtils$Api35Impl;->getOperationHandle(Landroid/hardware/biometrics/BiometricPrompt$CryptoObject;)J move-result-wide v0 return-wide v0 :cond_0 const-wide/16 v0, 0x0 return-wide v0 .end method .method public final wrapForBiometricPrompt(Landroidx/biometric/BiometricPrompt$CryptoObject;)Landroid/hardware/biometrics/BiometricPrompt$CryptoObject; .locals 3 .annotation build Landroidx/annotation/RequiresApi; value = 0x1c .end annotation const/4 v0, 0x0 if-nez p1, :cond_0 return-object v0 .line 55 :cond_0 invoke-virtual {p1}, Landroidx/biometric/BiometricPrompt$CryptoObject;->getCipher()Ljavax/crypto/Cipher; move-result-object v1 if-eqz v1, :cond_1 .line 57 sget-object p1, Landroidx/credentials/provider/utils/CryptoObjectUtils$Api28Impl;->INSTANCE:Landroidx/credentials/provider/utils/CryptoObjectUtils$Api28Impl; invoke-virtual {p1, v1}, Landroidx/credentials/provider/utils/CryptoObjectUtils$Api28Impl;->create(Ljavax/crypto/Cipher;)Landroid/hardware/biometrics/BiometricPrompt$CryptoObject; move-result-object p1 return-object p1 .line 60 :cond_1 invoke-virtual {p1}, Landroidx/biometric/BiometricPrompt$CryptoObject;->getSignature()Ljava/security/Signature; move-result-object v1 if-eqz v1, :cond_2 .line 62 sget-object p1, Landroidx/credentials/provider/utils/CryptoObjectUtils$Api28Impl;->INSTANCE:Landroidx/credentials/provider/utils/CryptoObjectUtils$Api28Impl; invoke-virtual {p1, v1}, Landroidx/credentials/provider/utils/CryptoObjectUtils$Api28Impl;->create(Ljava/security/Signature;)Landroid/hardware/biometrics/BiometricPrompt$CryptoObject; move-result-object p1 return-object p1 .line 65 :cond_2 invoke-virtual {p1}, Landroidx/biometric/BiometricPrompt$CryptoObject;->getMac()Ljavax/crypto/Mac; move-result-object v1 if-eqz v1, :cond_3 .line 67 sget-object p1, Landroidx/credentials/provider/utils/CryptoObjectUtils$Api28Impl;->INSTANCE:Landroidx/credentials/provider/utils/CryptoObjectUtils$Api28Impl; invoke-virtual {p1, v1}, Landroidx/credentials/provider/utils/CryptoObjectUtils$Api28Impl;->create(Ljavax/crypto/Mac;)Landroid/hardware/biometrics/BiometricPrompt$CryptoObject; move-result-object p1 return-object p1 :cond_3 sget v1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v2, 0x1e if-lt v1, v2, :cond_4 .line 72 invoke-virtual {p1}, Landroidx/biometric/BiometricPrompt$CryptoObject;->getIdentityCredential()Landroid/security/identity/IdentityCredential; move-result-object p1 if-eqz p1, :cond_4 .line 74 sget-object v0, Landroidx/credentials/provider/utils/CryptoObjectUtils$Api30Impl;->INSTANCE:Landroidx/credentials/provider/utils/CryptoObjectUtils$Api30Impl; invoke-virtual {v0, p1}, Landroidx/credentials/provider/utils/CryptoObjectUtils$Api30Impl;->create(Landroid/security/identity/IdentityCredential;)Landroid/hardware/biometrics/BiometricPrompt$CryptoObject; move-result-object p1 return-object p1 :cond_4 return-object v0 .end method