public class android.hardware.biometrics.BiometricPrompt implements android.hardware.biometrics.BiometricAuthenticator, android.hardware.biometrics.BiometricConstants
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.hardware.biometrics.BiometricPrompt
super_class: java.lang.Object
{
public static final java.lang.String KEY_TITLE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "title"
public static final java.lang.String KEY_SUBTITLE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "subtitle"
public static final java.lang.String KEY_DESCRIPTION;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "description"
public static final java.lang.String KEY_POSITIVE_TEXT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "positive_text"
public static final java.lang.String KEY_NEGATIVE_TEXT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "negative_text"
public static final int HIDE_DIALOG_DELAY;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2000
public static final int DISMISSED_REASON_POSITIVE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int DISMISSED_REASON_NEGATIVE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int DISMISSED_REASON_USER_CANCEL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private android.content.pm.PackageManager mPackageManager;
descriptor: Landroid/content/pm/PackageManager;
flags: (0x0002) ACC_PRIVATE
private android.hardware.fingerprint.FingerprintManager mFingerprintManager;
descriptor: Landroid/hardware/fingerprint/FingerprintManager;
flags: (0x0002) ACC_PRIVATE
private android.os.Bundle mBundle;
descriptor: Landroid/os/Bundle;
flags: (0x0002) ACC_PRIVATE
private android.hardware.biometrics.BiometricPrompt$ButtonInfo mPositiveButtonInfo;
descriptor: Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;
flags: (0x0002) ACC_PRIVATE
private android.hardware.biometrics.BiometricPrompt$ButtonInfo mNegativeButtonInfo;
descriptor: Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;
flags: (0x0002) ACC_PRIVATE
android.hardware.biometrics.IBiometricPromptReceiver mDialogReceiver;
descriptor: Landroid/hardware/biometrics/IBiometricPromptReceiver;
flags: (0x0000)
private void <init>(android.content.Context, android.os.Bundle, android.hardware.biometrics.BiometricPrompt$ButtonInfo, android.hardware.biometrics.BiometricPrompt$ButtonInfo);
descriptor: (Landroid/content/Context;Landroid/os/Bundle;Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new android.hardware.biometrics.BiometricPrompt$1
dup
aload 0
invokespecial android.hardware.biometrics.BiometricPrompt$1.<init>:(Landroid/hardware/biometrics/BiometricPrompt;)V
putfield android.hardware.biometrics.BiometricPrompt.mDialogReceiver:Landroid/hardware/biometrics/IBiometricPromptReceiver;
2: aload 0
aload 2
putfield android.hardware.biometrics.BiometricPrompt.mBundle:Landroid/os/Bundle;
3: aload 0
aload 3
putfield android.hardware.biometrics.BiometricPrompt.mPositiveButtonInfo:Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;
4: aload 0
aload 4
putfield android.hardware.biometrics.BiometricPrompt.mNegativeButtonInfo:Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;
5: aload 0
aload 1
ldc Landroid/hardware/fingerprint/FingerprintManager;
invokevirtual android.content.Context.getSystemService:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast android.hardware.fingerprint.FingerprintManager
putfield android.hardware.biometrics.BiometricPrompt.mFingerprintManager:Landroid/hardware/fingerprint/FingerprintManager;
6: aload 0
aload 1
invokevirtual android.content.Context.getPackageManager:()Landroid/content/pm/PackageManager;
putfield android.hardware.biometrics.BiometricPrompt.mPackageManager:Landroid/content/pm/PackageManager;
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/hardware/biometrics/BiometricPrompt;
0 8 1 context Landroid/content/Context;
0 8 2 bundle Landroid/os/Bundle;
0 8 3 positiveButtonInfo Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;
0 8 4 negativeButtonInfo Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;
MethodParameters:
Name Flags
context
bundle
positiveButtonInfo
negativeButtonInfo
public void authenticate(android.hardware.biometrics.CryptoObject, android.os.CancellationSignal, java.util.concurrent.Executor, android.hardware.biometrics.BiometricAuthenticator$AuthenticationCallback);
descriptor: (Landroid/hardware/biometrics/CryptoObject;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
instanceof android.hardware.biometrics.BiometricPrompt$AuthenticationCallback
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "Callback cannot be casted"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
checkcast android.hardware.biometrics.BiometricPrompt$AuthenticationCallback
invokevirtual android.hardware.biometrics.BiometricPrompt.authenticate:(Landroid/hardware/biometrics/CryptoObject;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/hardware/biometrics/BiometricPrompt;
0 4 1 crypto Landroid/hardware/biometrics/CryptoObject;
0 4 2 cancel Landroid/os/CancellationSignal;
0 4 3 executor Ljava/util/concurrent/Executor;
0 4 4 callback Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;
MethodParameters:
Name Flags
crypto
cancel
executor
callback
public void authenticate(android.os.CancellationSignal, java.util.concurrent.Executor, android.hardware.biometrics.BiometricAuthenticator$AuthenticationCallback);
descriptor: (Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
instanceof android.hardware.biometrics.BiometricPrompt$AuthenticationCallback
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "Callback cannot be casted"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
checkcast android.hardware.biometrics.BiometricPrompt$AuthenticationCallback
invokevirtual android.hardware.biometrics.BiometricPrompt.authenticate:(Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/hardware/biometrics/BiometricPrompt;
0 4 1 cancel Landroid/os/CancellationSignal;
0 4 2 executor Ljava/util/concurrent/Executor;
0 4 3 callback Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback;
MethodParameters:
Name Flags
cancel
executor
callback
public void authenticate(android.hardware.biometrics.BiometricPrompt$CryptoObject, android.os.CancellationSignal, java.util.concurrent.Executor, android.hardware.biometrics.BiometricPrompt$AuthenticationCallback);
descriptor: (Landroid/hardware/biometrics/BiometricPrompt$CryptoObject;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=5
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tUSE_BIOMETRIC cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/hardware/biometrics/BiometricPrompt;
MethodParameters:
Name Flags
crypto
cancel
executor
callback
public void authenticate(android.os.CancellationSignal, java.util.concurrent.Executor, android.hardware.biometrics.BiometricPrompt$AuthenticationCallback);
descriptor: (Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tUSE_BIOMETRIC cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/hardware/biometrics/BiometricPrompt;
MethodParameters:
Name Flags
cancel
executor
callback
private boolean handlePreAuthenticationErrors(android.hardware.biometrics.BiometricPrompt$AuthenticationCallback, java.util.concurrent.Executor);
descriptor: (Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;Ljava/util/concurrent/Executor;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.hardware.biometrics.BiometricPrompt.mPackageManager:Landroid/content/pm/PackageManager;
ldc "android.hardware.fingerprint"
invokevirtual android.content.pm.PackageManager.hasSystemFeature:(Ljava/lang/String;)Z
ifne 5
1: aload 0
bipush 12
aload 1
2: aload 2
3: invokevirtual android.hardware.biometrics.BiometricPrompt.sendError:(ILandroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;Ljava/util/concurrent/Executor;)V
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.biometrics.BiometricPrompt.mFingerprintManager:Landroid/hardware/fingerprint/FingerprintManager;
invokevirtual android.hardware.fingerprint.FingerprintManager.isHardwareDetected:()Z
ifne 10
6: aload 0
iconst_1
aload 1
7: aload 2
8: invokevirtual android.hardware.biometrics.BiometricPrompt.sendError:(ILandroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;Ljava/util/concurrent/Executor;)V
9: iconst_1
ireturn
10: StackMap locals:
StackMap stack:
aload 0
getfield android.hardware.biometrics.BiometricPrompt.mFingerprintManager:Landroid/hardware/fingerprint/FingerprintManager;
invokevirtual android.hardware.fingerprint.FingerprintManager.hasEnrolledFingerprints:()Z
ifne 15
11: aload 0
bipush 11
aload 1
12: aload 2
13: invokevirtual android.hardware.biometrics.BiometricPrompt.sendError:(ILandroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;Ljava/util/concurrent/Executor;)V
14: iconst_1
ireturn
15: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Landroid/hardware/biometrics/BiometricPrompt;
0 16 1 callback Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;
0 16 2 executor Ljava/util/concurrent/Executor;
MethodParameters:
Name Flags
callback
executor
private void sendError(int, android.hardware.biometrics.BiometricPrompt$AuthenticationCallback, java.util.concurrent.Executor);
descriptor: (ILandroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;Ljava/util/concurrent/Executor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
aload 0
aload 2
iload 1
invokedynamic run(Landroid/hardware/biometrics/BiometricPrompt;Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;I)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
android/hardware/biometrics/BiometricPrompt.lambda$0(Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;I)V (7)
()V
invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/hardware/biometrics/BiometricPrompt;
0 2 1 error I
0 2 2 callback Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;
0 2 3 executor Ljava/util/concurrent/Executor;
MethodParameters:
Name Flags
error
callback
executor
private void lambda$0(android.hardware.biometrics.BiometricPrompt$AuthenticationCallback, int);
descriptor: (Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;I)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=3, args_size=3
start local 0 0: aload 1
iload 2
aload 0
getfield android.hardware.biometrics.BiometricPrompt.mFingerprintManager:Landroid/hardware/fingerprint/FingerprintManager;
1: iload 2
iconst_0
2: invokevirtual android.hardware.fingerprint.FingerprintManager.getErrorString:(II)Ljava/lang/String;
invokevirtual android.hardware.biometrics.BiometricPrompt$AuthenticationCallback.onAuthenticationError:(ILjava/lang/CharSequence;)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/hardware/biometrics/BiometricPrompt;
}
SourceFile: "BiometricPrompt.java"
NestMembers:
android.hardware.biometrics.BiometricPrompt$1 android.hardware.biometrics.BiometricPrompt$AuthenticationCallback android.hardware.biometrics.BiometricPrompt$AuthenticationResult android.hardware.biometrics.BiometricPrompt$Builder android.hardware.biometrics.BiometricPrompt$ButtonInfo android.hardware.biometrics.BiometricPrompt$CryptoObject
InnerClasses:
public abstract AuthenticationCallback = android.hardware.biometrics.BiometricAuthenticator$AuthenticationCallback of android.hardware.biometrics.BiometricAuthenticator
android.hardware.biometrics.BiometricPrompt$1
public abstract AuthenticationCallback = android.hardware.biometrics.BiometricPrompt$AuthenticationCallback of android.hardware.biometrics.BiometricPrompt
public AuthenticationResult = android.hardware.biometrics.BiometricPrompt$AuthenticationResult of android.hardware.biometrics.BiometricPrompt
public Builder = android.hardware.biometrics.BiometricPrompt$Builder of android.hardware.biometrics.BiometricPrompt
private ButtonInfo = android.hardware.biometrics.BiometricPrompt$ButtonInfo of android.hardware.biometrics.BiometricPrompt
public final CryptoObject = android.hardware.biometrics.BiometricPrompt$CryptoObject of android.hardware.biometrics.BiometricPrompt
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles