c.smali

.class public final Lcom/google/zxing/qrcode/encoder/c;
.super Ljava/lang/Object;
.source "SourceFile"


# static fields
.field public static final a:[I


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

    const/16 v0, 0x60

    new-array v0, v0, [I

    fill-array-data v0, :array_a

    sput-object v0, Lcom/google/zxing/qrcode/encoder/c;->a:[I

    return-void

    :array_a
    .array-data 4
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        0x24
        -0x1
        -0x1
        -0x1
        0x25
        0x26
        -0x1
        -0x1
        -0x1
        -0x1
        0x27
        0x28
        -0x1
        0x29
        0x2a
        0x2b
        0x0
        0x1
        0x2
        0x3
        0x4
        0x5
        0x6
        0x7
        0x8
        0x9
        0x2c
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
        0xa
        0xb
        0xc
        0xd
        0xe
        0xf
        0x10
        0x11
        0x12
        0x13
        0x14
        0x15
        0x16
        0x17
        0x18
        0x19
        0x1a
        0x1b
        0x1c
        0x1d
        0x1e
        0x1f
        0x20
        0x21
        0x22
        0x23
        -0x1
        -0x1
        -0x1
        -0x1
        -0x1
    .end array-data
.end method

.method public static a(Lcom/google/zxing/qrcode/decoder/b;Lcom/google/zxing/common/a;Lcom/google/zxing/common/a;Lcom/google/zxing/qrcode/decoder/c;)I
    .registers 4

    .line 1
    iget p1, p1, Lcom/google/zxing/common/a;->b:I

    .line 2
    invoke-virtual {p0, p3}, Lcom/google/zxing/qrcode/decoder/b;->getCharacterCountBits(Lcom/google/zxing/qrcode/decoder/c;)I

    move-result p0

    add-int/2addr p0, p1

    .line 3
    iget p1, p2, Lcom/google/zxing/common/a;->b:I

    add-int/2addr p0, p1

    return p0
.end method

.method public static b(ILcom/google/zxing/qrcode/decoder/a;)Lcom/google/zxing/qrcode/decoder/c;
    .registers 5
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/google/zxing/h;
        }
    .end annotation

    const/4 v0, 0x1

    :goto_1
    const/16 v1, 0x28

    if-gt v0, v1, :cond_13

    .line 1
    invoke-static {v0}, Lcom/google/zxing/qrcode/decoder/c;->b(I)Lcom/google/zxing/qrcode/decoder/c;

    move-result-object v1

    .line 2
    invoke-static {p0, v1, p1}, Lcom/google/zxing/qrcode/encoder/c;->d(ILcom/google/zxing/qrcode/decoder/c;Lcom/google/zxing/qrcode/decoder/a;)Z

    move-result v2

    if-eqz v2, :cond_10

    return-object v1

    :cond_10
    add-int/lit8 v0, v0, 0x1

    goto :goto_1

    .line 3
    :cond_13
    new-instance p0, Lcom/google/zxing/h;

    const-string p1, "Data too big"

    invoke-direct {p0, p1}, Lcom/google/zxing/h;-><init>(Ljava/lang/String;)V

    throw p0
.end method

.method public static c(I)I
    .registers 3

    .line 1
    sget-object v0, Lcom/google/zxing/qrcode/encoder/c;->a:[I

    const/16 v1, 0x60

    if-ge p0, v1, :cond_9

    .line 2
    aget p0, v0, p0

    return p0

    :cond_9
    const/4 p0, -0x1

    return p0
.end method

.method public static d(ILcom/google/zxing/qrcode/decoder/c;Lcom/google/zxing/qrcode/decoder/a;)Z
    .registers 9

    .line 1
    iget v0, p1, Lcom/google/zxing/qrcode/decoder/c;->c:I

    .line 2
    iget-object p1, p1, Lcom/google/zxing/qrcode/decoder/c;->b:[Lcom/google/zxing/qrcode/decoder/c$b;

    invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I

    move-result p2

    aget-object p1, p1, p2

    .line 3
    iget p2, p1, Lcom/google/zxing/qrcode/decoder/c$b;->a:I

    .line 4
    iget-object p1, p1, Lcom/google/zxing/qrcode/decoder/c$b;->b:[Lcom/google/zxing/qrcode/decoder/c$a;

    array-length v1, p1

    const/4 v2, 0x0

    const/4 v3, 0x0

    const/4 v4, 0x0

    :goto_12
    if-ge v3, v1, :cond_1c

    aget-object v5, p1, v3

    .line 5
    iget v5, v5, Lcom/google/zxing/qrcode/decoder/c$a;->a:I

    add-int/2addr v4, v5

    add-int/lit8 v3, v3, 0x1

    goto :goto_12

    :cond_1c
    mul-int p2, p2, v4

    sub-int/2addr v0, p2

    add-int/lit8 p0, p0, 0x7

    .line 6
    div-int/lit8 p0, p0, 0x8

    if-lt v0, p0, :cond_27

    const/4 p0, 0x1

    return p0

    :cond_27
    return v2
.end method