PassBiometricDefaultFactory.smali

.class public Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory;
.super Lcom/baidu/pass/biometrics/base/PassBiometricFactory;
.source "PassBiometricDefaultFactory.java"


# static fields
.field public static final VERSION_CODE:I = 0x6

.field public static final VERSION_NAME:Ljava/lang/String; = "1.1.0"

.field private static defaultFactory:Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory;


# direct methods
.method private constructor <init>()V
    .registers 1

    .prologue
    .line 28
    invoke-direct {p0}, Lcom/baidu/pass/biometrics/base/PassBiometricFactory;-><init>()V

    .line 29
    return-void
.end method

.method private defaultBiometric()Lcom/baidu/pass/biometrics/base/PassBiometric;
    .registers 2

    .prologue
    .line 65
    new-instance v0, Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory$1;

    invoke-direct {v0, p0}, Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory$1;-><init>(Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory;)V

    return-object v0
.end method

.method public static getInstance()Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory;
    .registers 2

    .prologue
    .line 32
    sget-object v0, Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory;->defaultFactory:Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory;

    if-nez v0, :cond_13

    .line 33
    const-class v1, Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory;

    monitor-enter v1

    .line 34
    :try_start_7
    sget-object v0, Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory;->defaultFactory:Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory;

    if-nez v0, :cond_12

    .line 35
    new-instance v0, Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory;

    invoke-direct {v0}, Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory;-><init>()V

    sput-object v0, Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory;->defaultFactory:Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory;

    .line 37
    :cond_12
    monitor-exit v1
    :try_end_13
    .catchall {:try_start_7 .. :try_end_13} :catchall_16

    .line 39
    :cond_13
    sget-object v0, Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory;->defaultFactory:Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory;

    return-object v0

    .line 37
    :catchall_16
    move-exception v0

    :try_start_17
    monitor-exit v1
    :try_end_18
    .catchall {:try_start_17 .. :try_end_18} :catchall_16

    throw v0
.end method


# virtual methods
.method public getBiometric(I)Lcom/baidu/pass/biometrics/base/PassBiometric;
    .registers 5

    .prologue
    .line 48
    :try_start_0
    invoke-static {p1}, Lcom/baidu/pass/biometrics/base/BiometricType;->getClass(I)Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;

    move-result-object v0

    const-string v1, "getInstance"

    const/4 v2, 0x0

    new-array v2, v2, [Ljava/lang/Class;

    .line 49
    invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    const/4 v1, 0x0

    const/4 v2, 0x0

    new-array v2, v2, [Ljava/lang/Object;

    invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/baidu/pass/biometrics/base/PassBiometric;
    :try_end_1b
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_1b} :catch_1c

    .line 55
    :goto_1b
    return-object v0

    .line 50
    :catch_1c
    move-exception v0

    .line 51
    invoke-static {v0}, Lcom/baidu/pass/biometrics/base/debug/Log;->e(Ljava/lang/Throwable;)V

    .line 55
    invoke-direct {p0}, Lcom/baidu/pass/biometrics/base/PassBiometricDefaultFactory;->defaultBiometric()Lcom/baidu/pass/biometrics/base/PassBiometric;

    move-result-object v0

    goto :goto_1b
.end method