a.smali

.class public final Lcom/google/zxing/multi/qrcode/detector/a;
.super Lcom/google/zxing/qrcode/a/c;
.source "MultiDetector.java"


# static fields
.field private static final bpm:[Lcom/google/zxing/common/f;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .prologue
    .line 41
    const/4 v0, 0x0

    new-array v0, v0, [Lcom/google/zxing/common/f;

    sput-object v0, Lcom/google/zxing/multi/qrcode/detector/a;->bpm:[Lcom/google/zxing/common/f;

    return-void
.end method

.method public constructor <init>(Lcom/google/zxing/common/b;)V
    .registers 2

    .prologue
    .line 44
    invoke-direct {p0, p1}, Lcom/google/zxing/qrcode/a/c;-><init>(Lcom/google/zxing/common/b;)V

    .line 45
    return-void
.end method


# virtual methods
.method public final q(Ljava/util/Map;)[Lcom/google/zxing/common/f;
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/Map",
            "<",
            "Lcom/google/zxing/DecodeHintType;",
            "*>;)[",
            "Lcom/google/zxing/common/f;"
        }
    .end annotation

    .prologue
    .line 48
    .line 1049
    iget-object v0, p0, Lcom/google/zxing/qrcode/a/c;->bpO:Lcom/google/zxing/common/b;

    .line 49
    if-eqz p1, :cond_9

    sget-object v1, Lcom/google/zxing/DecodeHintType;->NEED_RESULT_POINT_CALLBACK:Lcom/google/zxing/DecodeHintType;

    .line 50
    invoke-interface {p1, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    .line 51
    :cond_9
    new-instance v1, Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder;

    invoke-direct {v1, v0}, Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder;-><init>(Lcom/google/zxing/common/b;)V

    .line 52
    invoke-virtual {v1, p1}, Lcom/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder;->r(Ljava/util/Map;)[Lcom/google/zxing/qrcode/a/f;

    move-result-object v1

    .line 54
    array-length v0, v1

    if-nez v0, :cond_1a

    .line 55
    invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;

    move-result-object v0

    throw v0

    .line 58
    :cond_1a
    new-instance v2, Ljava/util/ArrayList;

    invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V

    .line 59
    array-length v3, v1

    const/4 v0, 0x0

    :goto_21
    if-ge v0, v3, :cond_2f

    aget-object v4, v1, v0

    .line 61
    :try_start_25
    invoke-virtual {p0, v4}, Lcom/google/zxing/multi/qrcode/detector/a;->a(Lcom/google/zxing/qrcode/a/f;)Lcom/google/zxing/common/f;

    move-result-object v4

    invoke-interface {v2, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
    :try_end_2c
    .catch Lcom/google/zxing/ReaderException; {:try_start_25 .. :try_end_2c} :catch_45

    .line 59
    :goto_2c
    add-int/lit8 v0, v0, 0x1

    goto :goto_21

    .line 66
    :cond_2f
    invoke-interface {v2}, Ljava/util/List;->isEmpty()Z

    move-result v0

    if-eqz v0, :cond_38

    .line 67
    sget-object v0, Lcom/google/zxing/multi/qrcode/detector/a;->bpm:[Lcom/google/zxing/common/f;

    .line 69
    :goto_37
    return-object v0

    :cond_38
    invoke-interface {v2}, Ljava/util/List;->size()I

    move-result v0

    new-array v0, v0, [Lcom/google/zxing/common/f;

    invoke-interface {v2, v0}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [Lcom/google/zxing/common/f;

    goto :goto_37

    :catch_45
    move-exception v4

    goto :goto_2c
.end method