DecodedBitStreamParser.smali
.class final Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;
.super Ljava/lang/Object;
.source "DecodedBitStreamParser.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/zxing/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 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_OPTIONAL_FIELD_ADDRESSEE:I = 0x4
.field private static final MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM:I = 0x6
.field private static final MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME:I = 0x0
.field private static final MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE:I = 0x5
.field private static final MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT:I = 0x1
.field private static final MACRO_PDF417_OPTIONAL_FIELD_SENDER:I = 0x3
.field private static final MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP:I = 0x2
.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
.line 76
nop
.line 77
const-string v0, ";<>@[\\]_`~!\r\t,:\n-.$/\"|*()?{}\'"
invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C
move-result-object v0
sput-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->PUNCT_CHARS:[C
.line 79
nop
.line 80
const-string v0, "0123456789&\r\t,:#-.$/+%*=^"
invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C
move-result-object v0
sput-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->MIXED_CHARS:[C
.line 89
const/16 v0, 0x10
new-array v0, v0, [Ljava/math/BigInteger;
.line 90
sput-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->EXP900:[Ljava/math/BigInteger;
sget-object v1, Ljava/math/BigInteger;->ONE:Ljava/math/BigInteger;
const/4 v2, 0x0
aput-object v1, v0, v2
.line 91
const-wide/16 v0, 0x384
invoke-static {v0, v1}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
move-result-object v0
.line 92
.local v0, "nineHundred":Ljava/math/BigInteger;
sget-object v1, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->EXP900:[Ljava/math/BigInteger;
const/4 v2, 0x1
aput-object v0, v1, v2
.line 93
const/4 v1, 0x2
.local v1, "i":I
:goto_29
sget-object v2, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->EXP900:[Ljava/math/BigInteger;
array-length v3, v2
if-ge v1, v3, :cond_3b
.line 94
add-int/lit8 v3, v1, -0x1
aget-object v3, v2, v3
invoke-virtual {v3, v0}, Ljava/math/BigInteger;->multiply(Ljava/math/BigInteger;)Ljava/math/BigInteger;
move-result-object v3
aput-object v3, v2, v1
.line 93
add-int/lit8 v1, v1, 0x1
goto :goto_29
.line 96
.end local v0 # "nineHundred":Ljava/math/BigInteger;
.end local v1 # "i":I
:cond_3b
return-void
.end method
.method private constructor <init>()V
.registers 1
.line 100
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 101
return-void
.end method
.method private static byteCompaction(I[ILjava/nio/charset/Charset;ILjava/lang/StringBuilder;)I
.registers 24
.param p0, "mode" # I
.param p1, "codewords" # [I
.param p2, "encoding" # Ljava/nio/charset/Charset;
.param p3, "codeIndex" # I
.param p4, "result" # Ljava/lang/StringBuilder;
.line 524
move/from16 v0, p0
new-instance v1, Ljava/io/ByteArrayOutputStream;
invoke-direct {v1}, Ljava/io/ByteArrayOutputStream;-><init>()V
.line 525
.local v1, "decodedBytes":Ljava/io/ByteArrayOutputStream;
const/4 v2, 0x0
.line 526
.local v2, "count":I
const-wide/16 v3, 0x0
.line 527
.local v3, "value":J
const/4 v5, 0x0
.line 529
.local v5, "end":Z
const/16 v6, 0x385
const-wide/16 v7, 0x384
const/16 v9, 0x3a0
const/16 v10, 0x384
const/4 v11, 0x6
const/4 v12, 0x0
if-eq v0, v6, :cond_6a
const/16 v6, 0x39c
if-eq v0, v6, :cond_22
move v6, v5
move-wide v4, v3
move v3, v2
move/from16 v2, p3
goto/16 :goto_d1
:cond_22
move v6, v5
const/4 v13, 0x0
move-wide v4, v3
move v3, v2
move/from16 v2, p3
.line 584
.end local v5 # "end":Z
.end local p3 # "codeIndex":I
.local v2, "codeIndex":I
.local v3, "count":I
.local v4, "value":J
.local v6, "end":Z
:goto_28
aget v14, p1, v12
if-ge v2, v14, :cond_d1
if-nez v6, :cond_d1
.line 585
add-int/lit8 v14, v2, 0x1
.end local v2 # "codeIndex":I
.local v14, "codeIndex":I
aget v2, p1, v2
.line 586
.local v13, "code":I
move v13, v2
if-ge v2, v10, :cond_3e
.line 587
add-int/lit8 v3, v3, 0x1
.line 589
mul-long v15, v4, v7
int-to-long v7, v13
add-long v4, v15, v7
move v2, v14
goto :goto_4d
.line 591
:cond_3e
if-eq v13, v9, :cond_48
packed-switch v13, :pswitch_data_e2
packed-switch v13, :pswitch_data_ec
move v2, v14
goto :goto_4d
.line 599
:cond_48
:pswitch_48
add-int/lit8 v14, v14, -0x1
.line 600
const/4 v2, 0x1
move v6, v2
move v2, v14
.line 604
.end local v14 # "codeIndex":I
.restart local v2 # "codeIndex":I
:goto_4d
rem-int/lit8 v7, v3, 0x5
if-nez v7, :cond_67
if-lez v3, :cond_67
.line 607
const/4 v7, 0x0
.local v7, "j":I
:goto_54
if-ge v7, v11, :cond_64
.line 608
rsub-int/lit8 v8, v7, 0x5
mul-int/lit8 v8, v8, 0x8
shr-long v14, v4, v8
long-to-int v8, v14
int-to-byte v8, v8
invoke-virtual {v1, v8}, Ljava/io/ByteArrayOutputStream;->write(I)V
.line 607
add-int/lit8 v7, v7, 0x1
goto :goto_54
.line 610
.end local v7 # "j":I
:cond_64
const-wide/16 v4, 0x0
.line 611
const/4 v3, 0x0
.line 613
.end local v13 # "code":I
:cond_67
const-wide/16 v7, 0x384
goto :goto_28
.line 534
.end local v4 # "value":J
.end local v6 # "end":Z
.local v2, "count":I
.local v3, "value":J
.restart local v5 # "end":Z
.restart local p3 # "codeIndex":I
:cond_6a
new-array v6, v11, [I
.line 535
.local v6, "byteCompactedCodewords":[I
add-int/lit8 v7, p3, 0x1
.end local p3 # "codeIndex":I
.local v7, "codeIndex":I
aget v8, p1, p3
.line 536
.local v8, "nextCode":I
:goto_70
aget v13, p1, v12
if-ge v7, v13, :cond_b6
if-nez v5, :cond_b6
.line 537
add-int/lit8 v13, v2, 0x1
.end local v2 # "count":I
.local v13, "count":I
aput v8, v6, v2
.line 539
const-wide/16 v14, 0x384
mul-long v16, v3, v14
int-to-long v14, v8
add-long v3, v16, v14
.line 540
add-int/lit8 v2, v7, 0x1
.end local v7 # "codeIndex":I
.local v2, "codeIndex":I
aget v7, p1, v7
.line 542
move v8, v7
if-eq v7, v9, :cond_b1
packed-switch v7, :pswitch_data_f6
packed-switch v7, :pswitch_data_100
.line 554
rem-int/lit8 v7, v13, 0x5
if-nez v7, :cond_ae
if-lez v13, :cond_ae
.line 557
const/4 v7, 0x0
.local v7, "j":I
:goto_95
if-ge v7, v11, :cond_a5
.line 558
rsub-int/lit8 v14, v7, 0x5
mul-int/lit8 v14, v14, 0x8
shr-long v14, v3, v14
long-to-int v15, v14
int-to-byte v14, v15
invoke-virtual {v1, v14}, Ljava/io/ByteArrayOutputStream;->write(I)V
.line 557
add-int/lit8 v7, v7, 0x1
goto :goto_95
.line 560
.end local v7 # "j":I
:cond_a5
const-wide/16 v3, 0x0
.line 561
const/4 v7, 0x0
move/from16 v18, v7
move v7, v2
move/from16 v2, v18
.end local v13 # "count":I
.local v7, "count":I
goto :goto_70
.line 536
.end local v7 # "count":I
.restart local v13 # "count":I
:cond_ae
move v7, v2
move v2, v13
goto :goto_70
.line 550
:cond_b1
:pswitch_b1
add-int/lit8 v7, v2, -0x1
.line 551
.end local v2 # "codeIndex":I
.local v7, "codeIndex":I
const/4 v5, 0x1
.line 552
move v2, v13
goto :goto_70
.line 568
.end local v13 # "count":I
.local v2, "count":I
:cond_b6
aget v9, p1, v12
if-ne v7, v9, :cond_c1
if-ge v8, v10, :cond_c1
.line 569
add-int/lit8 v9, v2, 0x1
.end local v2 # "count":I
.local v9, "count":I
aput v8, v6, v2
move v2, v9
.line 575
.end local v9 # "count":I
.restart local v2 # "count":I
:cond_c1
const/4 v9, 0x0
.local v9, "i":I
:goto_c2
if-ge v9, v2, :cond_cd
.line 576
aget v10, v6, v9
int-to-byte v10, v10
invoke-virtual {v1, v10}, Ljava/io/ByteArrayOutputStream;->write(I)V
.line 575
add-int/lit8 v9, v9, 0x1
goto :goto_c2
.line 579
.end local v9 # "i":I
:cond_cd
move v6, v5
move-wide v4, v3
move v3, v2
move v2, v7
.line 616
.end local v5 # "end":Z
.end local v7 # "codeIndex":I
.end local v8 # "nextCode":I
.local v2, "codeIndex":I
.local v3, "count":I
.restart local v4 # "value":J
.local v6, "end":Z
:cond_d1
:goto_d1
new-instance v7, Ljava/lang/String;
invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object v8
move-object/from16 v9, p2
invoke-direct {v7, v8, v9}, Ljava/lang/String;-><init>([BLjava/nio/charset/Charset;)V
move-object/from16 v8, p4
invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 617
return v2
:pswitch_data_e2
.packed-switch 0x384
:pswitch_48
:pswitch_48
:pswitch_48
.end packed-switch
:pswitch_data_ec
.packed-switch 0x39a
:pswitch_48
:pswitch_48
:pswitch_48
.end packed-switch
:pswitch_data_f6
.packed-switch 0x384
:pswitch_b1
:pswitch_b1
:pswitch_b1
.end packed-switch
:pswitch_data_100
.packed-switch 0x39a
:pswitch_b1
:pswitch_b1
:pswitch_b1
.end packed-switch
.end method
.method static decode([ILjava/lang/String;)Lcom/google/zxing/common/DecoderResult;
.registers 11
.param p0, "codewords" # [I
.param p1, "ecLevel" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/FormatException;
}
.end annotation
.line 104
new-instance v0, Ljava/lang/StringBuilder;
array-length v1, p0
const/4 v2, 0x1
shl-int/2addr v1, v2
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
.line 105
.local v0, "result":Ljava/lang/StringBuilder;
sget-object v1, Ljava/nio/charset/StandardCharsets;->ISO_8859_1:Ljava/nio/charset/Charset;
.line 107
.local v1, "encoding":Ljava/nio/charset/Charset;
const/4 v3, 0x1
.line 108
.local v3, "codeIndex":I
add-int/2addr v3, v2
aget v2, p0, v2
.line 109
.local v2, "code":I
new-instance v4, Lcom/google/zxing/pdf417/PDF417ResultMetadata;
invoke-direct {v4}, Lcom/google/zxing/pdf417/PDF417ResultMetadata;-><init>()V
.local v4, "resultMetadata":Lcom/google/zxing/pdf417/PDF417ResultMetadata;
const/4 v5, 0x0
move-object v6, v5
.line 110
:goto_15
const/4 v7, 0x0
aget v7, p0, v7
if-ge v3, v7, :cond_73
.line 111
const/16 v7, 0x391
if-eq v2, v7, :cond_5c
packed-switch v2, :pswitch_data_90
packed-switch v2, :pswitch_data_9a
.line 149
add-int/lit8 v3, v3, -0x1
.line 150
invoke-static {p0, v3, v0}, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->textCompaction([IILjava/lang/StringBuilder;)I
move-result v3
goto :goto_65
.line 139
:pswitch_2b
invoke-static {p0, v3, v4}, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->decodeMacroBlock([IILcom/google/zxing/pdf417/PDF417ResultMetadata;)I
move-result v3
.line 140
goto :goto_65
.line 126
:pswitch_30
add-int/lit8 v7, v3, 0x1
.end local v3 # "codeIndex":I
.local v7, "codeIndex":I
aget v3, p0, v3
.line 127
invoke-static {v3}, Lcom/google/zxing/common/CharacterSetECI;->getCharacterSetECIByValue(I)Lcom/google/zxing/common/CharacterSetECI;
move-result-object v3
.line 128
.local v6, "charsetECI":Lcom/google/zxing/common/CharacterSetECI;
invoke-virtual {v3}, Lcom/google/zxing/common/CharacterSetECI;->name()Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v1
.line 129
move v3, v7
goto :goto_65
.line 132
.end local v6 # "charsetECI":Lcom/google/zxing/common/CharacterSetECI;
.end local v7 # "codeIndex":I
.restart local v3 # "codeIndex":I
:pswitch_42
add-int/lit8 v3, v3, 0x2
.line 133
goto :goto_65
.line 136
:pswitch_45
add-int/lit8 v3, v3, 0x1
.line 137
goto :goto_65
.line 144
:pswitch_48
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object v5
throw v5
.line 123
:pswitch_4d
invoke-static {p0, v3, v0}, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->numericCompaction([IILjava/lang/StringBuilder;)I
move-result v3
.line 124
goto :goto_65
.line 117
:pswitch_52
invoke-static {v2, p0, v1, v3, v0}, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->byteCompaction(I[ILjava/nio/charset/Charset;ILjava/lang/StringBuilder;)I
move-result v3
.line 118
goto :goto_65
.line 113
:pswitch_57
invoke-static {p0, v3, v0}, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->textCompaction([IILjava/lang/StringBuilder;)I
move-result v3
.line 114
goto :goto_65
.line 120
:cond_5c
add-int/lit8 v7, v3, 0x1
.end local v3 # "codeIndex":I
.restart local v7 # "codeIndex":I
aget v3, p0, v3
int-to-char v3, v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 121
move v3, v7
.line 153
.end local v7 # "codeIndex":I
.restart local v3 # "codeIndex":I
:goto_65
array-length v7, p0
if-ge v3, v7, :cond_6e
.line 154
add-int/lit8 v7, v3, 0x1
.end local v3 # "codeIndex":I
.restart local v7 # "codeIndex":I
aget v2, p0, v3
move v3, v7
goto :goto_15
.line 156
.end local v7 # "codeIndex":I
.restart local v3 # "codeIndex":I
:cond_6e
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object v5
throw v5
.line 159
:cond_73
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v7
if-eqz v7, :cond_88
.line 162
new-instance v7, Lcom/google/zxing/common/DecoderResult;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
invoke-direct {v7, v5, v8, v5, p1}, Lcom/google/zxing/common/DecoderResult;-><init>([BLjava/lang/String;Ljava/util/List;Ljava/lang/String;)V
move-object v5, v6
.line 163
.local v5, "decoderResult":Lcom/google/zxing/common/DecoderResult;
move-object v5, v7
invoke-virtual {v7, v4}, Lcom/google/zxing/common/DecoderResult;->setOther(Ljava/lang/Object;)V
.line 164
return-object v5
.line 160
.end local v5 # "decoderResult":Lcom/google/zxing/common/DecoderResult;
:cond_88
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object v5
goto :goto_8e
:goto_8d
throw v5
:goto_8e
goto :goto_8d
nop
:pswitch_data_90
.packed-switch 0x384
:pswitch_57
:pswitch_52
:pswitch_4d
.end packed-switch
:pswitch_data_9a
.packed-switch 0x39a
:pswitch_48
:pswitch_48
:pswitch_52
:pswitch_45
:pswitch_42
:pswitch_30
:pswitch_2b
.end packed-switch
.end method
.method private static decodeBase900toBase10([II)Ljava/lang/String;
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/FormatException;
}
.end annotation
.line 711
sget-object v0, Ljava/math/BigInteger;->ZERO:Ljava/math/BigInteger;
.line 712
const/4 v1, 0x0
const/4 v2, 0x0
:goto_4
const/4 v3, 0x1
if-ge v2, p1, :cond_20
.line 713
sget-object v4, Lcom/google/zxing/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
.line 712
add-int/lit8 v2, v2, 0x1
goto :goto_4
.line 715
:cond_20
invoke-virtual {v0}, Ljava/math/BigInteger;->toString()Ljava/lang/String;
move-result-object p0
.line 716
invoke-virtual {p0, v1}, Ljava/lang/String;->charAt(I)C
move-result p1
const/16 v0, 0x31
if-ne p1, v0, :cond_31
.line 719
invoke-virtual {p0, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p0
return-object p0
.line 717
:cond_31
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
goto :goto_37
:goto_36
throw p0
:goto_37
goto :goto_36
.end method
.method static decodeMacroBlock([IILcom/google/zxing/pdf417/PDF417ResultMetadata;)I
.registers 11
.param p0, "codewords" # [I
.param p1, "codeIndex" # I
.param p2, "resultMetadata" # Lcom/google/zxing/pdf417/PDF417ResultMetadata;
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/FormatException;
}
.end annotation
.line 169
add-int/lit8 v0, p1, 0x2
const/4 v1, 0x0
aget v2, p0, v1
if-gt v0, v2, :cond_10e
.line 173
const/4 v0, 0x2
new-array v2, v0, [I
.line 174
.local v2, "segmentIndexArray":[I
const/4 v3, 0x0
.local v3, "i":I
:goto_b
if-ge v3, v0, :cond_16
.line 175
aget v4, p0, p1
aput v4, v2, v3
.line 174
add-int/lit8 v3, v3, 0x1
add-int/lit8 p1, p1, 0x1
goto :goto_b
.line 177
.end local v3 # "i":I
:cond_16
invoke-static {v2, v0}, Lcom/google/zxing/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/google/zxing/pdf417/PDF417ResultMetadata;->setSegmentIndex(I)V
.line 180
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 181
.local v0, "fileId":Ljava/lang/StringBuilder;
invoke-static {p0, p1, v0}, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->textCompaction([IILjava/lang/StringBuilder;)I
move-result p1
.line 182
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {p2, v3}, Lcom/google/zxing/pdf417/PDF417ResultMetadata;->setFileId(Ljava/lang/String;)V
.line 184
const/4 v3, -0x1
.line 185
.local v3, "optionalFieldsStart":I
aget v4, p0, p1
const/16 v5, 0x39b
if-ne v4, v5, :cond_3a
.line 186
add-int/lit8 v3, p1, 0x1
.line 189
:cond_3a
:goto_3a
aget v4, p0, v1
if-ge p1, v4, :cond_f7
.line 190
aget v4, p0, p1
const/16 v6, 0x39a
if-eq v4, v6, :cond_ef
if-ne v4, v5, :cond_ea
.line 192
add-int/lit8 p1, p1, 0x1
.line 193
aget v4, p0, p1
packed-switch v4, :pswitch_data_116
.line 230
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object v1
throw v1
.line 220
:pswitch_52
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
.line 221
.local v4, "checksum":Ljava/lang/StringBuilder;
add-int/lit8 v6, p1, 0x1
invoke-static {p0, v6, v4}, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->numericCompaction([IILjava/lang/StringBuilder;)I
move-result p1
.line 222
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-static {v6}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v6
invoke-virtual {p2, v6}, Lcom/google/zxing/pdf417/PDF417ResultMetadata;->setChecksum(I)V
.line 223
goto :goto_3a
.line 225
.end local v4 # "checksum":Ljava/lang/StringBuilder;
:pswitch_69
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
.line 226
.local v4, "fileSize":Ljava/lang/StringBuilder;
add-int/lit8 v6, p1, 0x1
invoke-static {p0, v6, v4}, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->numericCompaction([IILjava/lang/StringBuilder;)I
move-result p1
.line 227
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-static {v6}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v6
invoke-virtual {p2, v6, v7}, Lcom/google/zxing/pdf417/PDF417ResultMetadata;->setFileSize(J)V
.line 228
goto :goto_3a
.line 205
.end local v4 # "fileSize":Ljava/lang/StringBuilder;
:pswitch_80
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
.line 206
.local v4, "addressee":Ljava/lang/StringBuilder;
add-int/lit8 v6, p1, 0x1
invoke-static {p0, v6, v4}, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->textCompaction([IILjava/lang/StringBuilder;)I
move-result p1
.line 207
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-virtual {p2, v6}, Lcom/google/zxing/pdf417/PDF417ResultMetadata;->setAddressee(Ljava/lang/String;)V
.line 208
goto :goto_3a
.line 200
.end local v4 # "addressee":Ljava/lang/StringBuilder;
:pswitch_93
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
.line 201
.local v4, "sender":Ljava/lang/StringBuilder;
add-int/lit8 v6, p1, 0x1
invoke-static {p0, v6, v4}, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->textCompaction([IILjava/lang/StringBuilder;)I
move-result p1
.line 202
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-virtual {p2, v6}, Lcom/google/zxing/pdf417/PDF417ResultMetadata;->setSender(Ljava/lang/String;)V
.line 203
goto :goto_3a
.line 215
.end local v4 # "sender":Ljava/lang/StringBuilder;
:pswitch_a6
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
.line 216
.local v4, "timestamp":Ljava/lang/StringBuilder;
add-int/lit8 v6, p1, 0x1
invoke-static {p0, v6, v4}, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->numericCompaction([IILjava/lang/StringBuilder;)I
move-result p1
.line 217
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-static {v6}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v6
invoke-virtual {p2, v6, v7}, Lcom/google/zxing/pdf417/PDF417ResultMetadata;->setTimestamp(J)V
.line 218
goto/16 :goto_3a
.line 210
.end local v4 # "timestamp":Ljava/lang/StringBuilder;
:pswitch_be
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
.line 211
.local v4, "segmentCount":Ljava/lang/StringBuilder;
add-int/lit8 v6, p1, 0x1
invoke-static {p0, v6, v4}, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->numericCompaction([IILjava/lang/StringBuilder;)I
move-result p1
.line 212
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-static {v6}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v6
invoke-virtual {p2, v6}, Lcom/google/zxing/pdf417/PDF417ResultMetadata;->setSegmentCount(I)V
.line 213
goto/16 :goto_3a
.line 195
.end local v4 # "segmentCount":Ljava/lang/StringBuilder;
:pswitch_d6
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
.line 196
.local v4, "fileName":Ljava/lang/StringBuilder;
add-int/lit8 v6, p1, 0x1
invoke-static {p0, v6, v4}, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->textCompaction([IILjava/lang/StringBuilder;)I
move-result p1
.line 197
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-virtual {p2, v6}, Lcom/google/zxing/pdf417/PDF417ResultMetadata;->setFileName(Ljava/lang/String;)V
.line 198
goto/16 :goto_3a
.line 238
.end local v4 # "fileName":Ljava/lang/StringBuilder;
:cond_ea
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object v1
throw v1
.line 234
:cond_ef
add-int/lit8 p1, p1, 0x1
.line 235
const/4 v4, 0x1
invoke-virtual {p2, v4}, Lcom/google/zxing/pdf417/PDF417ResultMetadata;->setLastSegment(Z)V
.line 236
goto/16 :goto_3a
.line 243
:cond_f7
const/4 v1, -0x1
if-eq v3, v1, :cond_10d
.line 244
sub-int v1, p1, v3
.line 245
.local v1, "optionalFieldsLength":I
invoke-virtual {p2}, Lcom/google/zxing/pdf417/PDF417ResultMetadata;->isLastSegment()Z
move-result v4
if-eqz v4, :cond_104
.line 247
add-int/lit8 v1, v1, -0x1
.line 249
:cond_104
add-int v4, v3, v1
invoke-static {p0, v3, v4}, Ljava/util/Arrays;->copyOfRange([III)[I
move-result-object v4
invoke-virtual {p2, v4}, Lcom/google/zxing/pdf417/PDF417ResultMetadata;->setOptionalData([I)V
.line 252
.end local v1 # "optionalFieldsLength":I
:cond_10d
return p1
.line 171
.end local v0 # "fileId":Ljava/lang/StringBuilder;
.end local v2 # "segmentIndexArray":[I
.end local v3 # "optionalFieldsStart":I
:cond_10e
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object v0
goto :goto_114
:goto_113
throw v0
:goto_114
goto :goto_113
nop
:pswitch_data_116
.packed-switch 0x0
:pswitch_d6
:pswitch_be
:pswitch_a6
:pswitch_93
:pswitch_80
:pswitch_69
:pswitch_52
.end packed-switch
.end method
.method private static decodeTextCompaction([I[IILjava/lang/StringBuilder;)V
.registers 14
.param p0, "textCompactionData" # [I
.param p1, "byteCompactionData" # [I
.param p2, "length" # I
.param p3, "result" # Ljava/lang/StringBuilder;
.line 337
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 338
.local v0, "subMode":Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
sget-object v1, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 339
.local v1, "priorToShiftMode":Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
const/4 v2, 0x0
.line 340
.local v2, "i":I
:goto_5
if-ge v2, p2, :cond_fa
.line 341
aget v3, p0, v2
.line 342
.local v3, "subModeCh":I
const/4 v4, 0x0
.line 343
.local v4, "ch":C
sget-object v5, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$1;->$SwitchMap$com$google$zxing$pdf417$decoder$DecodedBitStreamParser$Mode:[I
invoke-virtual {v0}, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->ordinal()I
move-result v6
aget v5, v5, v6
const/16 v6, 0x1d
const/16 v7, 0x1a
const/16 v8, 0x391
const/16 v9, 0x384
packed-switch v5, :pswitch_data_fc
goto/16 :goto_f0
.line 479
:pswitch_1f
move-object v0, v1
.line 480
if-ge v3, v6, :cond_28
.line 481
sget-object v5, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->PUNCT_CHARS:[C
aget-char v4, v5, v3
goto/16 :goto_f0
.line 483
:cond_28
if-eq v3, v6, :cond_3c
if-eq v3, v9, :cond_38
if-eq v3, v8, :cond_30
goto/16 :goto_f0
.line 490
:cond_30
aget v5, p1, v2
int-to-char v5, v5
invoke-virtual {p3, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 491
goto/16 :goto_f0
.line 493
:cond_38
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
goto/16 :goto_f0
.line 485
:cond_3c
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 486
goto/16 :goto_f0
.line 462
:pswitch_40
move-object v0, v1
.line 463
if-ge v3, v7, :cond_48
.line 464
add-int/lit8 v5, v3, 0x41
int-to-char v4, v5
goto/16 :goto_f0
.line 466
:cond_48
if-eq v3, v7, :cond_51
if-eq v3, v9, :cond_4d
goto :goto_4f
.line 471
:cond_4d
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 475
:goto_4f
goto/16 :goto_f0
.line 468
:cond_51
const/16 v4, 0x20
.line 469
goto/16 :goto_f0
.line 443
:pswitch_55
if-ge v3, v6, :cond_5d
.line 444
sget-object v5, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->PUNCT_CHARS:[C
aget-char v4, v5, v3
goto/16 :goto_f0
.line 446
:cond_5d
if-eq v3, v6, :cond_70
if-eq v3, v9, :cond_6c
if-eq v3, v8, :cond_64
goto :goto_6e
.line 451
:cond_64
aget v5, p1, v2
int-to-char v5, v5
invoke-virtual {p3, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 452
goto/16 :goto_f0
.line 454
:cond_6c
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 458
:goto_6e
goto/16 :goto_f0
.line 448
:cond_70
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 449
goto/16 :goto_f0
.line 410
:pswitch_74
const/16 v5, 0x19
if-ge v3, v5, :cond_7e
.line 411
sget-object v5, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->MIXED_CHARS:[C
aget-char v4, v5, v3
goto/16 :goto_f0
.line 413
:cond_7e
if-eq v3, v9, :cond_a2
if-eq v3, v8, :cond_9b
packed-switch v3, :pswitch_data_10c
goto :goto_a4
.line 428
:pswitch_86
move-object v1, v0
.line 429
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->PUNCT_SHIFT:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 430
goto/16 :goto_f0
.line 424
:pswitch_8b
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 425
goto/16 :goto_f0
.line 421
:pswitch_8f
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->LOWER:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 422
goto/16 :goto_f0
.line 418
:pswitch_93
const/16 v4, 0x20
.line 419
goto/16 :goto_f0
.line 415
:pswitch_97
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->PUNCT:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 416
goto/16 :goto_f0
.line 432
:cond_9b
aget v5, p1, v2
int-to-char v5, v5
invoke-virtual {p3, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 433
goto :goto_f0
.line 435
:cond_a2
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 439
:goto_a4
goto :goto_f0
.line 377
:pswitch_a5
if-ge v3, v7, :cond_ab
.line 378
add-int/lit8 v5, v3, 0x61
int-to-char v4, v5
goto :goto_f0
.line 380
:cond_ab
if-eq v3, v9, :cond_c8
if-eq v3, v8, :cond_c1
packed-switch v3, :pswitch_data_11a
goto :goto_ca
.line 394
:pswitch_b3
move-object v1, v0
.line 395
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->PUNCT_SHIFT:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 396
goto :goto_f0
.line 390
:pswitch_b7
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->MIXED:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 391
goto :goto_f0
.line 386
:pswitch_ba
move-object v1, v0
.line 387
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA_SHIFT:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 388
goto :goto_f0
.line 382
:pswitch_be
const/16 v4, 0x20
.line 383
goto :goto_f0
.line 399
:cond_c1
aget v5, p1, v2
int-to-char v5, v5
invoke-virtual {p3, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 400
goto :goto_f0
.line 402
:cond_c8
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 406
:goto_ca
goto :goto_f0
.line 346
:pswitch_cb
if-ge v3, v7, :cond_d1
.line 348
add-int/lit8 v5, v3, 0x41
int-to-char v4, v5
goto :goto_f0
.line 350
:cond_d1
if-eq v3, v9, :cond_ed
if-eq v3, v8, :cond_e6
packed-switch v3, :pswitch_data_126
goto :goto_ef
.line 362
:pswitch_d9
move-object v1, v0
.line 363
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->PUNCT_SHIFT:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 364
goto :goto_f0
.line 358
:pswitch_dd
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->MIXED:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 359
goto :goto_f0
.line 355
:pswitch_e0
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->LOWER:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 356
goto :goto_f0
.line 352
:pswitch_e3
const/16 v4, 0x20
.line 353
goto :goto_f0
.line 366
:cond_e6
aget v5, p1, v2
int-to-char v5, v5
invoke-virtual {p3, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 367
goto :goto_f0
.line 369
:cond_ed
sget-object v0, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;->ALPHA:Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser$Mode;
.line 373
:goto_ef
nop
.line 499
:goto_f0
if-eqz v4, :cond_f5
.line 501
invoke-virtual {p3, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 503
:cond_f5
nop
.end local v3 # "subModeCh":I
.end local v4 # "ch":C
add-int/lit8 v2, v2, 0x1
.line 504
goto/16 :goto_5
.line 505
:cond_fa
return-void
nop
:pswitch_data_fc
.packed-switch 0x1
:pswitch_cb
:pswitch_a5
:pswitch_74
:pswitch_55
:pswitch_40
:pswitch_1f
.end packed-switch
:pswitch_data_10c
.packed-switch 0x19
:pswitch_97
:pswitch_93
:pswitch_8f
:pswitch_8b
:pswitch_86
.end packed-switch
:pswitch_data_11a
.packed-switch 0x1a
:pswitch_be
:pswitch_ba
:pswitch_b7
:pswitch_b3
.end packed-switch
:pswitch_data_126
.packed-switch 0x1a
:pswitch_e3
:pswitch_e0
:pswitch_dd
:pswitch_d9
.end packed-switch
.end method
.method private static numericCompaction([IILjava/lang/StringBuilder;)I
.registers 8
.param p0, "codewords" # [I
.param p1, "codeIndex" # I
.param p2, "result" # Ljava/lang/StringBuilder;
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/FormatException;
}
.end annotation
.line 629
const/4 v0, 0x0
.line 630
.local v0, "count":I
const/4 v1, 0x0
.line 632
.local v1, "end":Z
const/16 v2, 0xf
new-array v2, v2, [I
.line 634
.local v2, "numericCodewords":[I
:goto_6
const/4 v3, 0x0
aget v4, p0, v3
if-ge p1, v4, :cond_46
if-nez v1, :cond_46
.line 635
add-int/lit8 v4, p1, 0x1
.end local p1 # "codeIndex":I
.local v4, "codeIndex":I
aget p1, p0, p1
.line 636
.local p1, "code":I
aget v3, p0, v3
if-ne v4, v3, :cond_16
.line 637
const/4 v1, 0x1
.line 639
:cond_16
const/16 v3, 0x384
if-ge p1, v3, :cond_1f
.line 640
aput p1, v2, v0
.line 641
add-int/lit8 v0, v0, 0x1
goto :goto_30
.line 643
:cond_1f
if-eq p1, v3, :cond_2d
const/16 v3, 0x385
if-eq p1, v3, :cond_2d
const/16 v3, 0x3a0
if-eq p1, v3, :cond_2d
packed-switch p1, :pswitch_data_48
goto :goto_30
.line 650
:cond_2d
:pswitch_2d
add-int/lit8 v4, v4, -0x1
.line 651
const/4 v1, 0x1
.line 655
:goto_30
rem-int/lit8 v3, v0, 0xf
if-eqz v3, :cond_3a
const/16 v3, 0x386
if-eq p1, v3, :cond_3a
if-eqz v1, :cond_44
:cond_3a
if-lez v0, :cond_44
.line 660
invoke-static {v2, v0}, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->decodeBase900toBase10([II)Ljava/lang/String;
move-result-object v3
invoke-virtual {p2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 661
const/4 v0, 0x0
.line 663
.end local p1 # "code":I
:cond_44
move p1, v4
goto :goto_6
.line 664
.end local v4 # "codeIndex":I
.local p1, "codeIndex":I
:cond_46
return p1
nop
:pswitch_data_48
.packed-switch 0x39a
:pswitch_2d
:pswitch_2d
:pswitch_2d
.end packed-switch
.end method
.method private static textCompaction([IILjava/lang/StringBuilder;)I
.registers 11
.param p0, "codewords" # [I
.param p1, "codeIndex" # I
.param p2, "result" # Ljava/lang/StringBuilder;
.line 267
const/4 v0, 0x0
aget v1, p0, v0
sub-int/2addr v1, p1
shl-int/lit8 v1, v1, 0x1
new-array v1, v1, [I
.line 269
.local v1, "textCompactionData":[I
aget v2, p0, v0
sub-int/2addr v2, p1
shl-int/lit8 v2, v2, 0x1
new-array v2, v2, [I
.line 271
.local v2, "byteCompactionData":[I
const/4 v3, 0x0
.line 272
.local v3, "index":I
const/4 v4, 0x0
const/4 v5, 0x0
.line 273
.local v4, "end":Z
:goto_12
aget v6, p0, v0
if-ge p1, v6, :cond_55
if-nez v4, :cond_55
.line 274
add-int/lit8 v6, p1, 0x1
.end local p1 # "codeIndex":I
.local v6, "codeIndex":I
aget p1, p0, p1
.line 275
.local v5, "code":I
move v5, p1
const/16 v7, 0x384
if-ge p1, v7, :cond_2f
.line 276
div-int/lit8 p1, v5, 0x1e
aput p1, v1, v3
.line 277
add-int/lit8 p1, v3, 0x1
rem-int/lit8 v7, v5, 0x1e
aput v7, v1, p1
.line 278
add-int/lit8 v3, v3, 0x2
move p1, v6
goto :goto_12
.line 280
:cond_2f
const/16 p1, 0x391
if-eq v5, p1, :cond_4a
const/16 p1, 0x3a0
if-eq v5, p1, :cond_46
packed-switch v5, :pswitch_data_5a
packed-switch v5, :pswitch_data_64
move p1, v6
goto :goto_54
.line 283
:pswitch_3f
add-int/lit8 p1, v3, 0x1
.end local v3 # "index":I
.local p1, "index":I
aput v7, v1, v3
.line 284
move v3, p1
move p1, v6
goto :goto_12
.line 291
.end local p1 # "index":I
.restart local v3 # "index":I
:cond_46
:pswitch_46
add-int/lit8 p1, v6, -0x1
.line 292
.end local v6 # "codeIndex":I
.local p1, "codeIndex":I
const/4 v4, 0x1
.line 293
goto :goto_12
.line 301
.end local p1 # "codeIndex":I
.restart local v6 # "codeIndex":I
:cond_4a
aput p1, v1, v3
.line 302
add-int/lit8 p1, v6, 0x1
.end local v6 # "codeIndex":I
.restart local p1 # "codeIndex":I
aget v5, p0, v6
.line 303
aput v5, v2, v3
.line 304
add-int/lit8 v3, v3, 0x1
.line 308
.end local v5 # "code":I
:goto_54
goto :goto_12
.line 309
:cond_55
invoke-static {v1, v2, v3, p2}, Lcom/google/zxing/pdf417/decoder/DecodedBitStreamParser;->decodeTextCompaction([I[IILjava/lang/StringBuilder;)V
.line 310
return p1
nop
:pswitch_data_5a
.packed-switch 0x384
:pswitch_3f
:pswitch_46
:pswitch_46
.end packed-switch
:pswitch_data_64
.packed-switch 0x39a
:pswitch_46
:pswitch_46
:pswitch_46
.end packed-switch
.end method