.class public final Landroidx/core/hardware/fingerprint/FingerprintManagerCompat; .super Ljava/lang/Object; .source "FingerprintManagerCompat.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$AuthenticationCallback;, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$AuthenticationResult;, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$CryptoObject; } .end annotation # instance fields .field private final mContext:Landroid/content/Context; # direct methods .method private constructor (Landroid/content/Context;)V .registers 2 .line 52 invoke-direct {p0}, Ljava/lang/Object;->()V .line 53 iput-object p1, p0, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat;->mContext:Landroid/content/Context; return-void .end method .method public static from(Landroid/content/Context;)Landroidx/core/hardware/fingerprint/FingerprintManagerCompat; .registers 2 .line 49 new-instance v0, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat; invoke-direct {v0, p0}, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat;->(Landroid/content/Context;)V return-object v0 .end method .method private static getFingerprintManagerOrNull(Landroid/content/Context;)Landroid/hardware/fingerprint/FingerprintManager; .registers 3 .line 123 invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager; move-result-object v0 const-string v1, "android.hardware.fingerprint" invoke-virtual {v0, v1}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z move-result v0 if-eqz v0, :cond_15 .line 124 const-class v0, Landroid/hardware/fingerprint/FingerprintManager; invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object; move-result-object p0 check-cast p0, Landroid/hardware/fingerprint/FingerprintManager; return-object p0 :cond_15 const/4 p0, 0x0 return-object p0 .end method .method static unwrapCryptoObject(Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;)Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$CryptoObject; .registers 3 const/4 v0, 0x0 if-nez p0, :cond_4 return-object v0 .line 149 :cond_4 invoke-virtual {p0}, Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;->getCipher()Ljavax/crypto/Cipher; move-result-object v1 if-eqz v1, :cond_14 .line 150 new-instance v0, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$CryptoObject; invoke-virtual {p0}, Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;->getCipher()Ljavax/crypto/Cipher; move-result-object p0 invoke-direct {v0, p0}, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$CryptoObject;->(Ljavax/crypto/Cipher;)V return-object v0 .line 151 :cond_14 invoke-virtual {p0}, Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;->getSignature()Ljava/security/Signature; move-result-object v1 if-eqz v1, :cond_24 .line 152 new-instance v0, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$CryptoObject; invoke-virtual {p0}, Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;->getSignature()Ljava/security/Signature; move-result-object p0 invoke-direct {v0, p0}, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$CryptoObject;->(Ljava/security/Signature;)V return-object v0 .line 153 :cond_24 invoke-virtual {p0}, Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;->getMac()Ljavax/crypto/Mac; move-result-object v1 if-eqz v1, :cond_33 .line 154 new-instance v0, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$CryptoObject; invoke-virtual {p0}, Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;->getMac()Ljavax/crypto/Mac; move-result-object p0 invoke-direct {v0, p0}, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$CryptoObject;->(Ljavax/crypto/Mac;)V :cond_33 return-object v0 .end method .method private static wrapCallback(Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$AuthenticationCallback;)Landroid/hardware/fingerprint/FingerprintManager$AuthenticationCallback; .registers 2 .line 163 new-instance v0, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$1; invoke-direct {v0, p0}, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$1;->(Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$AuthenticationCallback;)V return-object v0 .end method .method private static wrapCryptoObject(Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$CryptoObject;)Landroid/hardware/fingerprint/FingerprintManager$CryptoObject; .registers 3 const/4 v0, 0x0 if-nez p0, :cond_4 return-object v0 .line 134 :cond_4 invoke-virtual {p0}, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$CryptoObject;->getCipher()Ljavax/crypto/Cipher; move-result-object v1 if-eqz v1, :cond_14 .line 135 new-instance v0, Landroid/hardware/fingerprint/FingerprintManager$CryptoObject; invoke-virtual {p0}, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$CryptoObject;->getCipher()Ljavax/crypto/Cipher; move-result-object p0 invoke-direct {v0, p0}, Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;->(Ljavax/crypto/Cipher;)V return-object v0 .line 136 :cond_14 invoke-virtual {p0}, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$CryptoObject;->getSignature()Ljava/security/Signature; move-result-object v1 if-eqz v1, :cond_24 .line 137 new-instance v0, Landroid/hardware/fingerprint/FingerprintManager$CryptoObject; invoke-virtual {p0}, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$CryptoObject;->getSignature()Ljava/security/Signature; move-result-object p0 invoke-direct {v0, p0}, Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;->(Ljava/security/Signature;)V return-object v0 .line 138 :cond_24 invoke-virtual {p0}, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$CryptoObject;->getMac()Ljavax/crypto/Mac; move-result-object v1 if-eqz v1, :cond_33 .line 139 new-instance v0, Landroid/hardware/fingerprint/FingerprintManager$CryptoObject; invoke-virtual {p0}, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$CryptoObject;->getMac()Ljavax/crypto/Mac; move-result-object p0 invoke-direct {v0, p0}, Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;->(Ljavax/crypto/Mac;)V :cond_33 return-object v0 .end method # virtual methods .method public authenticate(Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$CryptoObject;ILandroidx/core/os/CancellationSignal;Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$AuthenticationCallback;Landroid/os/Handler;)V .registers 13 .line 105 iget-object v0, p0, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat;->mContext:Landroid/content/Context; invoke-static {v0}, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat;->getFingerprintManagerOrNull(Landroid/content/Context;)Landroid/hardware/fingerprint/FingerprintManager; move-result-object v1 if-eqz v1, :cond_20 if-eqz p3, :cond_11 .line 108 invoke-virtual {p3}, Landroidx/core/os/CancellationSignal;->getCancellationSignalObject()Ljava/lang/Object; move-result-object p3 check-cast p3, Landroid/os/CancellationSignal; goto :goto_12 :cond_11 const/4 p3, 0x0 :goto_12 move-object v3, p3 .line 111 invoke-static {p1}, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat;->wrapCryptoObject(Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$CryptoObject;)Landroid/hardware/fingerprint/FingerprintManager$CryptoObject; move-result-object v2 .line 114 invoke-static {p4}, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat;->wrapCallback(Landroidx/core/hardware/fingerprint/FingerprintManagerCompat$AuthenticationCallback;)Landroid/hardware/fingerprint/FingerprintManager$AuthenticationCallback; move-result-object v5 move v4, p2 move-object v6, p5 .line 110 invoke-virtual/range {v1 .. v6}, Landroid/hardware/fingerprint/FingerprintManager;->authenticate(Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;Landroid/os/CancellationSignal;ILandroid/hardware/fingerprint/FingerprintManager$AuthenticationCallback;Landroid/os/Handler;)V :cond_20 return-void .end method .method public hasEnrolledFingerprints()Z .registers 2 .line 64 iget-object v0, p0, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat;->mContext:Landroid/content/Context; invoke-static {v0}, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat;->getFingerprintManagerOrNull(Landroid/content/Context;)Landroid/hardware/fingerprint/FingerprintManager; move-result-object v0 if-eqz v0, :cond_10 .line 65 invoke-virtual {v0}, Landroid/hardware/fingerprint/FingerprintManager;->hasEnrolledFingerprints()Z move-result v0 if-eqz v0, :cond_10 const/4 v0, 0x1 goto :goto_11 :cond_10 const/4 v0, 0x0 :goto_11 return v0 .end method .method public isHardwareDetected()Z .registers 2 .line 79 iget-object v0, p0, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat;->mContext:Landroid/content/Context; invoke-static {v0}, Landroidx/core/hardware/fingerprint/FingerprintManagerCompat;->getFingerprintManagerOrNull(Landroid/content/Context;)Landroid/hardware/fingerprint/FingerprintManager; move-result-object v0 if-eqz v0, :cond_10 .line 80 invoke-virtual {v0}, Landroid/hardware/fingerprint/FingerprintManager;->isHardwareDetected()Z move-result v0 if-eqz v0, :cond_10 const/4 v0, 0x1 goto :goto_11 :cond_10 const/4 v0, 0x0 :goto_11 return v0 .end method