DecodedBitStreamParser.smali
.class final Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
}
.end annotation
# static fields
.field private static final AL:I = 0x1c
.field private static final AS:I = 0x1b
.field private static final BEGIN_MACRO_PDF417_CONTROL_BLOCK:I = 0x3a0
.field private static final BEGIN_MACRO_PDF417_OPTIONAL_FIELD:I = 0x39b
.field private static final BYTE_COMPACTION_MODE_LATCH:I = 0x385
.field private static final BYTE_COMPACTION_MODE_LATCH_6:I = 0x39c
.field private static final DEFAULT_ENCODING:Ljava/nio/charset/Charset;
.field private static final ECI_CHARSET:I = 0x39f
.field private static final ECI_GENERAL_PURPOSE:I = 0x39e
.field private static final ECI_USER_DEFINED:I = 0x39d
.field private static final EXP900:[Ljava/math/BigInteger;
.field private static final LL:I = 0x1b
.field private static final MACRO_PDF417_TERMINATOR:I = 0x39a
.field private static final MAX_NUMERIC_CODEWORDS:I = 0xf
.field private static final MIXED_CHARS:[C
.field private static final ML:I = 0x1c
.field private static final MODE_SHIFT_TO_BYTE_COMPACTION_MODE:I = 0x391
.field private static final NUMBER_OF_SEQUENCE_CODEWORDS:I = 0x2
.field private static final NUMERIC_COMPACTION_MODE_LATCH:I = 0x386
.field private static final PAL:I = 0x1d
.field private static final PL:I = 0x19
.field private static final PS:I = 0x1d
.field private static final PUNCT_CHARS:[C
.field private static final TEXT_COMPACTION_MODE_LATCH:I = 0x384
# direct methods
.method static constructor <clinit>()V
.registers 4
const/16 v0, 0x1d
new-array v0, v0, [C
.line 1
fill-array-data v0, :array_42
sput-object v0, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->PUNCT_CHARS:[C
const/16 v0, 0x19
new-array v0, v0, [C
.line 6
fill-array-data v0, :array_64
sput-object v0, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->MIXED_CHARS:[C
const-string v0, "ISO-8859-1"
.line 11
invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v0
sput-object v0, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->DEFAULT_ENCODING:Ljava/nio/charset/Charset;
const/16 v0, 0x10
new-array v0, v0, [Ljava/math/BigInteger;
.line 19
sput-object v0, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->EXP900:[Ljava/math/BigInteger;
.line 20
sget-object v1, Ljava/math/BigInteger;->ONE:Ljava/math/BigInteger;
const/4 v2, 0x0
aput-object v1, v0, v2
const-wide/16 v1, 0x384
.line 21
invoke-static {v1, v2}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
move-result-object v1
const/4 v2, 0x1
aput-object v1, v0, v2
const/4 v0, 0x2
.line 23
:goto_2f
sget-object v2, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->EXP900:[Ljava/math/BigInteger;
array-length v3, v2
if-ge v0, v3, :cond_41
add-int/lit8 v3, v0, -0x1
.line 24
aget-object v3, v2, v3
invoke-virtual {v3, v1}, Ljava/math/BigInteger;->multiply(Ljava/math/BigInteger;)Ljava/math/BigInteger;
move-result-object v3
aput-object v3, v2, v0
add-int/lit8 v0, v0, 0x1
goto :goto_2f
:cond_41
return-void
:array_42
.array-data 2
0x3bs
0x3cs
0x3es
0x40s
0x5bs
0x5cs
0x5ds
0x5fs
0x60s
0x7es
0x21s
0xds
0x9s
0x2cs
0x3as
0xas
0x2ds
0x2es
0x24s
0x2fs
0x22s
0x7cs
0x2as
0x28s
0x29s
0x3fs
0x7bs
0x7ds
0x27s
.end array-data
nop
:array_64
.array-data 2
0x30s
0x31s
0x32s
0x33s
0x34s
0x35s
0x36s
0x37s
0x38s
0x39s
0x26s
0xds
0x9s
0x2cs
0x3as
0x23s
0x2ds
0x2es
0x24s
0x2fs
0x2bs
0x25s
0x2as
0x3ds
0x5es
.end array-data
.end method
.method private constructor <init>()V
.registers 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static byteCompaction(I[ILjava/nio/charset/Charset;ILjava/lang/StringBuilder;)I
.registers 25
move/from16 v0, p0
.line 1
new-instance v1, Ljava/io/ByteArrayOutputStream;
invoke-direct {v1}, Ljava/io/ByteArrayOutputStream;-><init>()V
const/16 v2, 0x39a
const/16 v3, 0x39b
const/16 v4, 0x3a0
const/16 v5, 0x386
const-wide/16 v6, 0x384
const/4 v8, 0x6
const/16 v9, 0x39c
const/16 v10, 0x385
const/16 v11, 0x384
const/4 v15, 0x0
if-ne v0, v10, :cond_9f
new-array v0, v8, [I
add-int/lit8 v16, p3, 0x1
.line 9
aget v17, p1, p3
move/from16 v12, v16
move/from16 v13, v17
const-wide/16 v18, 0x0
move/from16 v16, v15
move/from16 v17, v16
.line 10
:goto_2b
aget v14, p1, v15
if-ge v12, v14, :cond_87
if-nez v16, :cond_87
add-int/lit8 v14, v17, 0x1
.line 11
aput v13, v0, v17
mul-long v18, v18, v6
int-to-long v6, v13
add-long v18, v18, v6
add-int/lit8 v6, v12, 0x1
.line 14
aget v13, p1, v12
if-eq v13, v11, :cond_7a
if-eq v13, v10, :cond_7a
if-eq v13, v5, :cond_7a
if-eq v13, v9, :cond_7a
if-eq v13, v4, :cond_7a
if-eq v13, v3, :cond_7a
if-ne v13, v2, :cond_4d
goto :goto_7a
.line 26
:cond_4d
rem-int/lit8 v7, v14, 0x5
if-nez v7, :cond_70
if-lez v14, :cond_70
move v7, v15
:goto_54
if-ge v7, v8, :cond_68
rsub-int/lit8 v12, v7, 0x5
mul-int/lit8 v12, v12, 0x8
shr-long v2, v18, v12
long-to-int v2, v2
int-to-byte v2, v2
.line 30
invoke-virtual {v1, v2}, Ljava/io/ByteArrayOutputStream;->write(I)V
add-int/lit8 v7, v7, 0x1
const/16 v2, 0x39a
const/16 v3, 0x39b
goto :goto_54
:cond_68
move v12, v6
move/from16 v17, v15
const-wide/16 v6, 0x384
const-wide/16 v18, 0x0
goto :goto_2b
:cond_70
move v12, v6
move/from16 v17, v14
const/16 v2, 0x39a
const/16 v3, 0x39b
const-wide/16 v6, 0x384
goto :goto_2b
:cond_7a
:goto_7a
add-int/lit8 v12, v6, -0x1
move/from16 v17, v14
const/16 v2, 0x39a
const/16 v3, 0x39b
const-wide/16 v6, 0x384
const/16 v16, 0x1
goto :goto_2b
.line 39
:cond_87
aget v2, p1, v15
if-ne v12, v2, :cond_92
if-ge v13, v11, :cond_92
add-int/lit8 v2, v17, 0x1
.line 40
aput v13, v0, v17
goto :goto_94
:cond_92
move/from16 v2, v17
:goto_94
if-ge v15, v2, :cond_104
.line 47
aget v3, v0, v15
int-to-byte v3, v3
invoke-virtual {v1, v3}, Ljava/io/ByteArrayOutputStream;->write(I)V
add-int/lit8 v15, v15, 0x1
goto :goto_94
:cond_9f
if-ne v0, v9, :cond_102
move/from16 v0, p3
move v2, v15
move v3, v2
const-wide/16 v6, 0x0
.line 56
:goto_a7
aget v12, p1, v15
if-ge v0, v12, :cond_100
if-nez v2, :cond_100
add-int/lit8 v12, v0, 0x1
.line 57
aget v0, p1, v0
if-ge v0, v11, :cond_c0
add-int/lit8 v3, v3, 0x1
const-wide/16 v13, 0x384
mul-long/2addr v6, v13
int-to-long v13, v0
add-long/2addr v6, v13
move v0, v12
const/16 v13, 0x39b
const/16 v14, 0x39a
goto :goto_dd
:cond_c0
if-eq v0, v11, :cond_d5
if-eq v0, v10, :cond_d5
if-eq v0, v5, :cond_d5
if-eq v0, v9, :cond_d5
if-eq v0, v4, :cond_d5
const/16 v13, 0x39b
const/16 v14, 0x39a
if-eq v0, v13, :cond_d9
if-ne v0, v14, :cond_d3
goto :goto_d9
:cond_d3
move v0, v12
goto :goto_dd
:cond_d5
const/16 v13, 0x39b
const/16 v14, 0x39a
:cond_d9
:goto_d9
add-int/lit8 v12, v12, -0x1
move v0, v12
const/4 v2, 0x1
.line 74
:goto_dd
rem-int/lit8 v12, v3, 0x5
if-nez v12, :cond_fb
if-lez v3, :cond_fb
move v3, v15
:goto_e4
if-ge v3, v8, :cond_f8
rsub-int/lit8 v12, v3, 0x5
mul-int/lit8 v12, v12, 0x8
shr-long v4, v6, v12
long-to-int v4, v4
int-to-byte v4, v4
.line 78
invoke-virtual {v1, v4}, Ljava/io/ByteArrayOutputStream;->write(I)V
add-int/lit8 v3, v3, 0x1
const/16 v4, 0x3a0
const/16 v5, 0x386
goto :goto_e4
:cond_f8
move v3, v15
const-wide/16 v6, 0x0
:cond_fb
const/16 v4, 0x3a0
const/16 v5, 0x386
goto :goto_a7
:cond_100
move v12, v0
goto :goto_104
:cond_102
move/from16 v12, p3
.line 85
:cond_104
:goto_104
new-instance v0, Ljava/lang/String;
invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object v1
move-object/from16 v2, p2
invoke-direct {v0, v1, v2}, Ljava/lang/String;-><init>([BLjava/nio/charset/Charset;)V
move-object/from16 v1, p4
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
return v12
.end method
.method static decode([ILjava/lang/String;)Lcom/dcloud/zxing2/common/DecoderResult;
.registers 9
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/dcloud/zxing2/FormatException;
}
.end annotation
.line 1
new-instance v0, Ljava/lang/StringBuilder;
array-length v1, p0
const/4 v2, 0x2
mul-int/2addr v1, v2
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "UTF-8"
.line 3
invoke-static {v1}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v1
const/4 v3, 0x1
.line 6
aget v3, p0, v3
.line 8
new-instance v4, Lcom/dcloud/zxing2/pdf417/PDF417ResultMetadata;
invoke-direct {v4}, Lcom/dcloud/zxing2/pdf417/PDF417ResultMetadata;-><init>()V
:goto_16
const/4 v5, 0x0
.line 9
aget v5, p0, v5
if-ge v2, v5, :cond_78
const/16 v5, 0x391
if-eq v3, v5, :cond_5f
packed-switch v3, :pswitch_data_92
packed-switch v3, :pswitch_data_9c
add-int/lit8 v2, v2, -0x1
.line 50
invoke-static {p0, v2, v0}, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->textCompaction([IILjava/lang/StringBuilder;)I
move-result v2
goto :goto_68
.line 71
:pswitch_2c
invoke-static {p0, v2, v0}, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->numericCompaction([IILjava/lang/StringBuilder;)I
move-result v2
goto :goto_68
.line 73
:pswitch_31
invoke-static {p0, v2, v0}, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->textCompaction([IILjava/lang/StringBuilder;)I
move-result v2
goto :goto_68
.line 51
:pswitch_36
invoke-static {p0, v2, v4}, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->decodeMacroBlock([IILcom/dcloud/zxing2/pdf417/PDF417ResultMetadata;)I
move-result v2
goto :goto_68
:pswitch_3b
add-int/lit8 v1, v2, 0x1
.line 52
aget v2, p0, v2
.line 53
invoke-static {v2}, Lcom/dcloud/zxing2/common/CharacterSetECI;->getCharacterSetECIByValue(I)Lcom/dcloud/zxing2/common/CharacterSetECI;
move-result-object v2
.line 54
invoke-virtual {v2}, Ljava/lang/Enum;->name()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v2
move-object v6, v2
move v2, v1
move-object v1, v6
goto :goto_68
:pswitch_4f
add-int/lit8 v2, v2, 0x2
goto :goto_68
:pswitch_52
add-int/lit8 v2, v2, 0x1
goto :goto_68
.line 72
:pswitch_55
invoke-static {v3, p0, v1, v2, v0}, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->byteCompaction(I[ILjava/nio/charset/Charset;ILjava/lang/StringBuilder;)I
move-result v2
goto :goto_68
.line 70
:pswitch_5a
invoke-static {}, Lcom/dcloud/zxing2/FormatException;->getFormatInstance()Lcom/dcloud/zxing2/FormatException;
move-result-object p0
throw p0
:cond_5f
add-int/lit8 v3, v2, 0x1
.line 80
aget v2, p0, v2
int-to-char v2, v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
move v2, v3
.line 113
:goto_68
array-length v3, p0
if-ge v2, v3, :cond_73
add-int/lit8 v3, v2, 0x1
.line 114
aget v2, p0, v2
move v6, v3
move v3, v2
move v2, v6
goto :goto_16
.line 116
:cond_73
invoke-static {}, Lcom/dcloud/zxing2/FormatException;->getFormatInstance()Lcom/dcloud/zxing2/FormatException;
move-result-object p0
throw p0
.line 119
:cond_78
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result p0
if-eqz p0, :cond_8c
.line 122
new-instance p0, Lcom/dcloud/zxing2/common/DecoderResult;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const/4 v1, 0x0
invoke-direct {p0, v1, v0, v1, p1}, Lcom/dcloud/zxing2/common/DecoderResult;-><init>([BLjava/lang/String;Ljava/util/List;Ljava/lang/String;)V
.line 123
invoke-virtual {p0, v4}, Lcom/dcloud/zxing2/common/DecoderResult;->setOther(Ljava/lang/Object;)V
return-object p0
.line 124
:cond_8c
invoke-static {}, Lcom/dcloud/zxing2/FormatException;->getFormatInstance()Lcom/dcloud/zxing2/FormatException;
move-result-object p0
throw p0
nop
:pswitch_data_92
.packed-switch 0x384
:pswitch_31
:pswitch_55
:pswitch_2c
.end packed-switch
:pswitch_data_9c
.packed-switch 0x39a
:pswitch_5a
:pswitch_5a
:pswitch_55
:pswitch_52
:pswitch_4f
:pswitch_3b
:pswitch_36
.end packed-switch
.end method
.method private static decodeBase900toBase10([II)Ljava/lang/String;
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/dcloud/zxing2/FormatException;
}
.end annotation
.line 1
sget-object v0, Ljava/math/BigInteger;->ZERO:Ljava/math/BigInteger;
const/4 v1, 0x0
move v2, v1
:goto_4
const/4 v3, 0x1
if-ge v2, p1, :cond_20
.line 3
sget-object v4, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->EXP900:[Ljava/math/BigInteger;
sub-int v5, p1, v2
sub-int/2addr v5, v3
aget-object v3, v4, v5
aget v4, p0, v2
int-to-long v4, v4
invoke-static {v4, v5}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/math/BigInteger;->multiply(Ljava/math/BigInteger;)Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/math/BigInteger;->add(Ljava/math/BigInteger;)Ljava/math/BigInteger;
move-result-object v0
add-int/lit8 v2, v2, 0x1
goto :goto_4
.line 5
:cond_20
invoke-virtual {v0}, Ljava/math/BigInteger;->toString()Ljava/lang/String;
move-result-object p0
.line 6
invoke-virtual {p0, v1}, Ljava/lang/String;->charAt(I)C
move-result p1
const/16 v0, 0x31
if-ne p1, v0, :cond_31
.line 9
invoke-virtual {p0, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p0
return-object p0
.line 10
:cond_31
invoke-static {}, Lcom/dcloud/zxing2/FormatException;->getFormatInstance()Lcom/dcloud/zxing2/FormatException;
move-result-object p0
throw p0
.end method
.method private static decodeMacroBlock([IILcom/dcloud/zxing2/pdf417/PDF417ResultMetadata;)I
.registers 11
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/dcloud/zxing2/FormatException;
}
.end annotation
add-int/lit8 v0, p1, 0x2
const/4 v1, 0x0
.line 1
aget v2, p0, v1
if-gt v0, v2, :cond_79
const/4 v0, 0x2
new-array v2, v0, [I
move v3, v1
:goto_b
if-ge v3, v0, :cond_16
.line 7
aget v4, p0, p1
aput v4, v2, v3
add-int/lit8 v3, v3, 0x1
add-int/lit8 p1, p1, 0x1
goto :goto_b
.line 9
:cond_16
invoke-static {v2, v0}, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->decodeBase900toBase10([II)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
invoke-virtual {p2, v0}, Lcom/dcloud/zxing2/pdf417/PDF417ResultMetadata;->setSegmentIndex(I)V
.line 12
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 13
invoke-static {p0, p1, v0}, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->textCompaction([IILjava/lang/StringBuilder;)I
move-result p1
.line 14
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p2, v0}, Lcom/dcloud/zxing2/pdf417/PDF417ResultMetadata;->setFileId(Ljava/lang/String;)V
.line 16
aget v0, p0, p1
const/16 v2, 0x39b
const/16 v3, 0x39a
const/4 v4, 0x1
if-ne v0, v2, :cond_6f
add-int/lit8 p1, p1, 0x1
.line 18
aget v0, p0, v1
sub-int/2addr v0, p1
new-array v0, v0, [I
move v2, v1
move v5, v2
.line 22
:goto_43
aget v6, p0, v1
if-ge p1, v6, :cond_67
if-nez v2, :cond_67
add-int/lit8 v6, p1, 0x1
.line 23
aget p1, p0, p1
const/16 v7, 0x384
if-ge p1, v7, :cond_58
add-int/lit8 v7, v5, 0x1
.line 25
aput p1, v0, v5
move p1, v6
move v5, v7
goto :goto_43
:cond_58
if-ne p1, v3, :cond_62
.line 29
invoke-virtual {p2, v4}, Lcom/dcloud/zxing2/pdf417/PDF417ResultMetadata;->setLastSegment(Z)V
add-int/lit8 v6, v6, 0x1
move v2, v4
move p1, v6
goto :goto_43
.line 34
:cond_62
invoke-static {}, Lcom/dcloud/zxing2/FormatException;->getFormatInstance()Lcom/dcloud/zxing2/FormatException;
move-result-object p0
throw p0
.line 39
:cond_67
invoke-static {v0, v5}, Ljava/util/Arrays;->copyOf([II)[I
move-result-object p0
invoke-virtual {p2, p0}, Lcom/dcloud/zxing2/pdf417/PDF417ResultMetadata;->setOptionalData([I)V
goto :goto_78
.line 40
:cond_6f
aget p0, p0, p1
if-ne p0, v3, :cond_78
.line 41
invoke-virtual {p2, v4}, Lcom/dcloud/zxing2/pdf417/PDF417ResultMetadata;->setLastSegment(Z)V
add-int/lit8 p1, p1, 0x1
:cond_78
:goto_78
return p1
.line 42
:cond_79
invoke-static {}, Lcom/dcloud/zxing2/FormatException;->getFormatInstance()Lcom/dcloud/zxing2/FormatException;
move-result-object p0
throw p0
.end method
.method private static decodeTextCompaction([I[IILjava/lang/StringBuilder;)V
.registers 20
move-object/from16 v0, p3
.line 1
sget-object v1, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
const/4 v2, 0x0
move/from16 v4, p2
move-object v3, v1
move v5, v2
:goto_9
if-ge v5, v4, :cond_101
.line 5
aget v6, p0, v5
.line 7
sget-object v7, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$1;->$SwitchMap$com$dcloud$zxing2$pdf417$decoder$DecodedBitStreamParser$Mode:[I
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v8
aget v7, v7, v8
const/16 v8, 0x20
const/16 v9, 0x1c
const/16 v10, 0x1b
const/16 v11, 0x391
const/16 v12, 0x384
const/16 v13, 0x1d
const/16 v14, 0x1a
packed-switch v7, :pswitch_data_102
goto/16 :goto_f7
:pswitch_28
if-ge v6, v13, :cond_2f
.line 116
sget-object v1, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->PUNCT_CHARS:[C
aget-char v1, v1, v6
goto :goto_47
:cond_2f
if-ne v6, v13, :cond_34
.line 119
sget-object v1, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
goto :goto_7f
:cond_34
if-ne v6, v11, :cond_3d
.line 123
aget v1, p1, v5
int-to-char v1, v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_53
:cond_3d
if-ne v6, v12, :cond_53
.line 125
sget-object v1, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
goto :goto_7f
:pswitch_42
if-ge v6, v14, :cond_4b
add-int/lit8 v6, v6, 0x41
int-to-char v1, v6
:goto_47
move v8, v1
:goto_48
move-object v1, v3
goto/16 :goto_f3
:cond_4b
if-ne v6, v14, :cond_4e
goto :goto_48
:cond_4e
if-ne v6, v12, :cond_53
.line 126
sget-object v1, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
goto :goto_7f
:cond_53
:goto_53
move v8, v2
goto :goto_48
:pswitch_55
if-ge v6, v13, :cond_5d
.line 127
sget-object v7, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->PUNCT_CHARS:[C
aget-char v8, v7, v6
goto/16 :goto_f8
:cond_5d
if-ne v6, v13, :cond_62
.line 130
sget-object v1, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
goto :goto_7f
:cond_62
if-ne v6, v11, :cond_6c
.line 132
aget v6, p1, v5
int-to-char v6, v6
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto/16 :goto_f7
:cond_6c
if-ne v6, v12, :cond_f7
.line 134
sget-object v1, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
goto :goto_7f
:pswitch_71
const/16 v7, 0x19
if-ge v6, v7, :cond_7b
.line 135
sget-object v7, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->MIXED_CHARS:[C
aget-char v8, v7, v6
goto/16 :goto_f8
:cond_7b
if-ne v6, v7, :cond_85
.line 138
sget-object v1, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->PUNCT:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
:goto_7f
move v8, v2
move-object v15, v3
move-object v3, v1
move-object v1, v15
goto/16 :goto_f3
:cond_85
if-ne v6, v14, :cond_89
goto/16 :goto_f8
:cond_89
if-ne v6, v10, :cond_8e
.line 142
sget-object v1, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->LOWER:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
goto :goto_7f
:cond_8e
if-ne v6, v9, :cond_93
.line 144
sget-object v1, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
goto :goto_7f
:cond_93
if-ne v6, v13, :cond_98
.line 148
sget-object v3, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->PUNCT_SHIFT:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
goto :goto_b3
:cond_98
if-ne v6, v11, :cond_a2
.line 150
aget v6, p1, v5
int-to-char v6, v6
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto/16 :goto_f7
:cond_a2
if-ne v6, v12, :cond_f7
.line 152
sget-object v1, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
goto :goto_7f
:pswitch_a7
if-ge v6, v14, :cond_ac
add-int/lit8 v6, v6, 0x61
goto :goto_d1
:cond_ac
if-ne v6, v14, :cond_af
goto :goto_f8
:cond_af
if-ne v6, v10, :cond_b5
.line 153
sget-object v3, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA_SHIFT:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
:goto_b3
move v8, v2
goto :goto_f3
:cond_b5
if-ne v6, v9, :cond_ba
.line 155
sget-object v1, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->MIXED:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
goto :goto_7f
:cond_ba
if-ne v6, v13, :cond_bf
.line 159
sget-object v3, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->PUNCT_SHIFT:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
goto :goto_b3
:cond_bf
if-ne v6, v11, :cond_c8
.line 162
aget v6, p1, v5
int-to-char v6, v6
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_f7
:cond_c8
if-ne v6, v12, :cond_f7
.line 164
sget-object v1, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
goto :goto_7f
:pswitch_cd
if-ge v6, v14, :cond_d3
add-int/lit8 v6, v6, 0x41
:goto_d1
int-to-char v8, v6
goto :goto_f8
:cond_d3
if-ne v6, v14, :cond_d6
goto :goto_f8
:cond_d6
if-ne v6, v10, :cond_db
.line 165
sget-object v1, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->LOWER:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
goto :goto_7f
:cond_db
if-ne v6, v9, :cond_e0
.line 167
sget-object v1, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->MIXED:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
goto :goto_7f
:cond_e0
if-ne v6, v13, :cond_e5
.line 171
sget-object v3, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->PUNCT_SHIFT:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
goto :goto_b3
:cond_e5
if-ne v6, v11, :cond_ee
.line 173
aget v6, p1, v5
int-to-char v6, v6
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_f7
:cond_ee
if-ne v6, v12, :cond_f7
.line 175
sget-object v1, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser$Mode;
goto :goto_7f
:goto_f3
move-object v15, v3
move-object v3, v1
move-object v1, v15
goto :goto_f8
:cond_f7
:goto_f7
move v8, v2
:goto_f8
if-eqz v8, :cond_fd
.line 280
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:cond_fd
add-int/lit8 v5, v5, 0x1
goto/16 :goto_9
:cond_101
return-void
:pswitch_data_102
.packed-switch 0x1
:pswitch_cd
:pswitch_a7
:pswitch_71
:pswitch_55
:pswitch_42
:pswitch_28
.end packed-switch
.end method
.method private static numericCompaction([IILjava/lang/StringBuilder;)I
.registers 10
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/dcloud/zxing2/FormatException;
}
.end annotation
const/16 v0, 0xf
new-array v0, v0, [I
const/4 v1, 0x0
move v2, v1
move v3, v2
.line 3
:goto_7
aget v4, p0, v1
if-ge p1, v4, :cond_4f
if-nez v2, :cond_4f
add-int/lit8 v4, p1, 0x1
.line 4
aget p1, p0, p1
.line 5
aget v5, p0, v1
const/4 v6, 0x1
if-ne v4, v5, :cond_17
move v2, v6
:cond_17
const/16 v5, 0x384
if-ge p1, v5, :cond_20
.line 9
aput p1, v0, v3
add-int/lit8 v3, v3, 0x1
goto :goto_39
:cond_20
if-eq p1, v5, :cond_36
const/16 v5, 0x385
if-eq p1, v5, :cond_36
const/16 v5, 0x39c
if-eq p1, v5, :cond_36
const/16 v5, 0x3a0
if-eq p1, v5, :cond_36
const/16 v5, 0x39b
if-eq p1, v5, :cond_36
const/16 v5, 0x39a
if-ne p1, v5, :cond_39
:cond_36
add-int/lit8 v4, v4, -0x1
move v2, v6
.line 22
:cond_39
:goto_39
rem-int/lit8 v5, v3, 0xf
if-eqz v5, :cond_43
const/16 v5, 0x386
if-eq p1, v5, :cond_43
if-eqz v2, :cond_4d
:cond_43
if-lez v3, :cond_4d
.line 30
invoke-static {v0, v3}, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->decodeBase900toBase10([II)Ljava/lang/String;
move-result-object p1
.line 31
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move v3, v1
:cond_4d
move p1, v4
goto :goto_7
:cond_4f
return p1
.end method
.method private static textCompaction([IILjava/lang/StringBuilder;)I
.registers 11
const/4 v0, 0x0
.line 1
aget v1, p0, v0
sub-int/2addr v1, p1
mul-int/lit8 v1, v1, 0x2
new-array v1, v1, [I
.line 3
aget v2, p0, v0
sub-int/2addr v2, p1
mul-int/lit8 v2, v2, 0x2
new-array v2, v2, [I
move v3, v0
move v4, v3
.line 7
:goto_11
aget v5, p0, v0
if-ge p1, v5, :cond_51
if-nez v3, :cond_51
add-int/lit8 v5, p1, 0x1
.line 8
aget p1, p0, p1
const/16 v6, 0x384
if-ge p1, v6, :cond_2d
.line 10
div-int/lit8 v6, p1, 0x1e
aput v6, v1, v4
add-int/lit8 v6, v4, 0x1
.line 11
rem-int/lit8 p1, p1, 0x1e
aput p1, v1, v6
add-int/lit8 v4, v4, 0x2
:goto_2b
move p1, v5
goto :goto_11
:cond_2d
const/16 v7, 0x391
if-eq p1, v7, :cond_46
const/16 v7, 0x3a0
if-eq p1, v7, :cond_42
packed-switch p1, :pswitch_data_56
packed-switch p1, :pswitch_data_60
goto :goto_2b
:pswitch_3c
add-int/lit8 p1, v4, 0x1
.line 38
aput v6, v1, v4
move v4, p1
goto :goto_2b
:cond_42
:pswitch_42
add-int/lit8 p1, v5, -0x1
const/4 v3, 0x1
goto :goto_11
.line 35
:cond_46
aput v7, v1, v4
add-int/lit8 p1, v5, 0x1
.line 36
aget v5, p0, v5
.line 37
aput v5, v2, v4
add-int/lit8 v4, v4, 0x1
goto :goto_11
.line 64
:cond_51
invoke-static {v1, v2, v4, p2}, Lcom/dcloud/zxing2/pdf417/decoder/DecodedBitStreamParser;->decodeTextCompaction([I[IILjava/lang/StringBuilder;)V
return p1
nop
:pswitch_data_56
.packed-switch 0x384
:pswitch_3c
:pswitch_42
:pswitch_42
.end packed-switch
:pswitch_data_60
.packed-switch 0x39a
:pswitch_42
:pswitch_42
:pswitch_42
.end packed-switch
.end method