DecodedBitStreamParser.smali
.class final Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;
.super Ljava/lang/Object;
.source "DecodedBitStreamParser.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;
}
.end annotation
# static fields
.field private static final C40_BASIC_SET_CHARS:[C
.field private static final C40_SHIFT2_SET_CHARS:[C
.field private static final TEXT_BASIC_SET_CHARS:[C
.field private static final TEXT_SHIFT2_SET_CHARS:[C
.field private static final TEXT_SHIFT3_SET_CHARS:[C
# direct methods
.method static constructor <clinit>()V
.registers 2
const/16 v0, 0x28
new-array v1, v0, [C
.line 53
fill-array-data v1, :array_26
sput-object v1, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->C40_BASIC_SET_CHARS:[C
const/16 v1, 0x1b
new-array v1, v1, [C
.line 59
fill-array-data v1, :array_52
sput-object v1, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->C40_SHIFT2_SET_CHARS:[C
new-array v0, v0, [C
.line 68
fill-array-data v0, :array_72
sput-object v0, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->TEXT_BASIC_SET_CHARS:[C
.line 75
sput-object v1, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->TEXT_SHIFT2_SET_CHARS:[C
const/16 v0, 0x20
new-array v0, v0, [C
.line 77
fill-array-data v0, :array_9e
sput-object v0, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->TEXT_SHIFT3_SET_CHARS:[C
return-void
nop
:array_26
.array-data 2
0x2as
0x2as
0x2as
0x20s
0x30s
0x31s
0x32s
0x33s
0x34s
0x35s
0x36s
0x37s
0x38s
0x39s
0x41s
0x42s
0x43s
0x44s
0x45s
0x46s
0x47s
0x48s
0x49s
0x4as
0x4bs
0x4cs
0x4ds
0x4es
0x4fs
0x50s
0x51s
0x52s
0x53s
0x54s
0x55s
0x56s
0x57s
0x58s
0x59s
0x5as
.end array-data
:array_52
.array-data 2
0x21s
0x22s
0x23s
0x24s
0x25s
0x26s
0x27s
0x28s
0x29s
0x2as
0x2bs
0x2cs
0x2ds
0x2es
0x2fs
0x3as
0x3bs
0x3cs
0x3ds
0x3es
0x3fs
0x40s
0x5bs
0x5cs
0x5ds
0x5es
0x5fs
.end array-data
nop
:array_72
.array-data 2
0x2as
0x2as
0x2as
0x20s
0x30s
0x31s
0x32s
0x33s
0x34s
0x35s
0x36s
0x37s
0x38s
0x39s
0x61s
0x62s
0x63s
0x64s
0x65s
0x66s
0x67s
0x68s
0x69s
0x6as
0x6bs
0x6cs
0x6ds
0x6es
0x6fs
0x70s
0x71s
0x72s
0x73s
0x74s
0x75s
0x76s
0x77s
0x78s
0x79s
0x7as
.end array-data
:array_9e
.array-data 2
0x60s
0x41s
0x42s
0x43s
0x44s
0x45s
0x46s
0x47s
0x48s
0x49s
0x4as
0x4bs
0x4cs
0x4ds
0x4es
0x4fs
0x50s
0x51s
0x52s
0x53s
0x54s
0x55s
0x56s
0x57s
0x58s
0x59s
0x5as
0x7bs
0x7cs
0x7ds
0x7es
0x7fs
.end array-data
.end method
.method private constructor <init>()V
.registers 1
.line 82
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method static decode([B)Lcom/google/zxing/common/DecoderResult;
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/FormatException;
}
.end annotation
.line 86
new-instance v0, Lcom/google/zxing/common/BitSource;
invoke-direct {v0, p0}, Lcom/google/zxing/common/BitSource;-><init>([B)V
.line 87
new-instance v1, Ljava/lang/StringBuilder;
const/16 v2, 0x64
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(I)V
.line 88
new-instance v2, Ljava/lang/StringBuilder;
const/4 v3, 0x0
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(I)V
.line 89
new-instance v3, Ljava/util/ArrayList;
const/4 v4, 0x1
invoke-direct {v3, v4}, Ljava/util/ArrayList;-><init>(I)V
.line 90
sget-object v5, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;->ASCII_ENCODE:Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;
.line 92
:cond_1a
sget-object v6, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;->ASCII_ENCODE:Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;
if-ne v5, v6, :cond_23
.line 93
invoke-static {v0, v1, v2}, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->decodeAsciiSegment(Lcom/google/zxing/common/BitSource;Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;)Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;
move-result-object v5
goto :goto_53
.line 95
:cond_23
sget-object v6, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$1;->$SwitchMap$com$google$zxing$datamatrix$decoder$DecodedBitStreamParser$Mode:[I
invoke-virtual {v5}, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;->ordinal()I
move-result v5
aget v5, v6, v5
if-eq v5, v4, :cond_4e
const/4 v6, 0x2
if-eq v5, v6, :cond_4a
const/4 v6, 0x3
if-eq v5, v6, :cond_46
const/4 v6, 0x4
if-eq v5, v6, :cond_42
const/4 v6, 0x5
if-ne v5, v6, :cond_3d
.line 109
invoke-static {v0, v1, v3}, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->decodeBase256Segment(Lcom/google/zxing/common/BitSource;Ljava/lang/StringBuilder;Ljava/util/Collection;)V
goto :goto_51
.line 112
:cond_3d
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
.line 106
:cond_42
invoke-static {v0, v1}, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->decodeEdifactSegment(Lcom/google/zxing/common/BitSource;Ljava/lang/StringBuilder;)V
goto :goto_51
.line 103
:cond_46
invoke-static {v0, v1}, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->decodeAnsiX12Segment(Lcom/google/zxing/common/BitSource;Ljava/lang/StringBuilder;)V
goto :goto_51
.line 100
:cond_4a
invoke-static {v0, v1}, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->decodeTextSegment(Lcom/google/zxing/common/BitSource;Ljava/lang/StringBuilder;)V
goto :goto_51
.line 97
:cond_4e
invoke-static {v0, v1}, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->decodeC40Segment(Lcom/google/zxing/common/BitSource;Ljava/lang/StringBuilder;)V
.line 114
:goto_51
sget-object v5, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;->ASCII_ENCODE:Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;
.line 116
:goto_53
sget-object v6, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;->PAD_ENCODE:Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;
if-eq v5, v6, :cond_5d
invoke-virtual {v0}, Lcom/google/zxing/common/BitSource;->available()I
move-result v6
if-gtz v6, :cond_1a
.line 117
:cond_5d
invoke-virtual {v2}, Ljava/lang/StringBuilder;->length()I
move-result v0
if-lez v0, :cond_66
.line 118
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
.line 120
:cond_66
new-instance v0, Lcom/google/zxing/common/DecoderResult;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-interface {v3}, Ljava/util/List;->isEmpty()Z
move-result v2
const/4 v4, 0x0
if-eqz v2, :cond_74
move-object v3, v4
:cond_74
invoke-direct {v0, p0, v1, v3, v4}, Lcom/google/zxing/common/DecoderResult;-><init>([BLjava/lang/String;Ljava/util/List;Ljava/lang/String;)V
return-object v0
.end method
.method private static decodeAnsiX12Segment(Lcom/google/zxing/common/BitSource;Ljava/lang/StringBuilder;)V
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/FormatException;
}
.end annotation
const/4 v0, 0x3
new-array v1, v0, [I
.line 374
:cond_3
invoke-virtual {p0}, Lcom/google/zxing/common/BitSource;->available()I
move-result v2
const/16 v3, 0x8
if-ne v2, v3, :cond_c
return-void
.line 377
:cond_c
invoke-virtual {p0, v3}, Lcom/google/zxing/common/BitSource;->readBits(I)I
move-result v2
const/16 v4, 0xfe
if-ne v2, v4, :cond_15
return-void
.line 382
:cond_15
invoke-virtual {p0, v3}, Lcom/google/zxing/common/BitSource;->readBits(I)I
move-result v3
invoke-static {v2, v3, v1}, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->parseTwoBytes(II[I)V
const/4 v2, 0x0
:goto_1d
if-ge v2, v0, :cond_60
.line 385
aget v3, v1, v2
if-nez v3, :cond_29
const/16 v3, 0xd
.line 387
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_58
:cond_29
const/4 v4, 0x1
if-ne v3, v4, :cond_32
const/16 v3, 0x2a
.line 389
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_58
:cond_32
const/4 v4, 0x2
if-ne v3, v4, :cond_3b
const/16 v3, 0x3e
.line 391
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_58
:cond_3b
if-ne v3, v0, :cond_43
const/16 v3, 0x20
.line 393
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_58
:cond_43
const/16 v4, 0xe
if-ge v3, v4, :cond_4e
add-int/lit8 v3, v3, 0x2c
int-to-char v3, v3
.line 395
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_58
:cond_4e
const/16 v4, 0x28
if-ge v3, v4, :cond_5b
add-int/lit8 v3, v3, 0x33
int-to-char v3, v3
.line 397
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:goto_58
add-int/lit8 v2, v2, 0x1
goto :goto_1d
.line 399
:cond_5b
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
.line 402
:cond_60
invoke-virtual {p0}, Lcom/google/zxing/common/BitSource;->available()I
move-result v2
if-gtz v2, :cond_3
return-void
.end method
.method private static decodeAsciiSegment(Lcom/google/zxing/common/BitSource;Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;)Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/FormatException;
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x0
:cond_2
const/16 v2, 0x8
.line 131
invoke-virtual {p0, v2}, Lcom/google/zxing/common/BitSource;->readBits(I)I
move-result v2
if-eqz v2, :cond_ae
const/4 v3, 0x1
const/16 v4, 0x80
if-gt v2, v4, :cond_1b
if-eqz v1, :cond_13
add-int/lit16 v2, v2, 0x80
:cond_13
sub-int/2addr v2, v3
int-to-char p0, v2
.line 139
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 140
sget-object p0, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;->ASCII_ENCODE:Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;
return-object p0
:cond_1b
const/16 v4, 0x81
if-ne v2, v4, :cond_22
.line 142
sget-object p0, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;->PAD_ENCODE:Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;
return-object p0
:cond_22
const/16 v4, 0xe5
if-gt v2, v4, :cond_36
add-int/lit16 v2, v2, -0x82
const/16 v3, 0xa
if-ge v2, v3, :cond_31
const/16 v3, 0x30
.line 146
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 148
:cond_31
invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
goto/16 :goto_a5
:cond_36
const/16 v4, 0xe6
if-ne v2, v4, :cond_3d
.line 150
sget-object p0, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;->C40_ENCODE:Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;
return-object p0
:cond_3d
const/16 v4, 0xe7
if-ne v2, v4, :cond_44
.line 152
sget-object p0, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;->BASE256_ENCODE:Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;
return-object p0
:cond_44
const/16 v4, 0xe8
if-ne v2, v4, :cond_4e
const/16 v2, 0x1d
.line 155
invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_a5
:cond_4e
const/16 v4, 0xe9
if-eq v2, v4, :cond_a5
const/16 v4, 0xea
if-eq v2, v4, :cond_a5
const/16 v4, 0xeb
if-ne v2, v4, :cond_5c
const/4 v1, 0x1
goto :goto_a5
:cond_5c
const/16 v3, 0xec
const-string v4, "\u001e\u0004"
if-ne v2, v3, :cond_6b
const-string v2, "[)>\u001e05\u001d"
.line 163
invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 164
invoke-virtual {p2, v0, v4}, Ljava/lang/StringBuilder;->insert(ILjava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_a5
:cond_6b
const/16 v3, 0xed
if-ne v2, v3, :cond_78
const-string v2, "[)>\u001e06\u001d"
.line 166
invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 167
invoke-virtual {p2, v0, v4}, Ljava/lang/StringBuilder;->insert(ILjava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_a5
:cond_78
const/16 v3, 0xee
if-ne v2, v3, :cond_7f
.line 169
sget-object p0, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;->ANSIX12_ENCODE:Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;
return-object p0
:cond_7f
const/16 v3, 0xef
if-ne v2, v3, :cond_86
.line 171
sget-object p0, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;->TEXT_ENCODE:Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;
return-object p0
:cond_86
const/16 v3, 0xf0
if-ne v2, v3, :cond_8d
.line 173
sget-object p0, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;->EDIFACT_ENCODE:Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;
return-object p0
:cond_8d
const/16 v3, 0xf1
if-eq v2, v3, :cond_a5
const/16 v3, 0xf2
if-lt v2, v3, :cond_a5
const/16 v3, 0xfe
if-ne v2, v3, :cond_a0
.line 180
invoke-virtual {p0}, Lcom/google/zxing/common/BitSource;->available()I
move-result v2
if-nez v2, :cond_a0
goto :goto_a5
.line 181
:cond_a0
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
.line 184
:cond_a5
:goto_a5
invoke-virtual {p0}, Lcom/google/zxing/common/BitSource;->available()I
move-result v2
if-gtz v2, :cond_2
.line 185
sget-object p0, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;->ASCII_ENCODE:Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser$Mode;
return-object p0
.line 133
:cond_ae
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
.end method
.method private static decodeBase256Segment(Lcom/google/zxing/common/BitSource;Ljava/lang/StringBuilder;Ljava/util/Collection;)V
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/zxing/common/BitSource;",
"Ljava/lang/StringBuilder;",
"Ljava/util/Collection<",
"[B>;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/FormatException;
}
.end annotation
.line 454
invoke-virtual {p0}, Lcom/google/zxing/common/BitSource;->getByteOffset()I
move-result v0
add-int/lit8 v0, v0, 0x1
const/16 v1, 0x8
.line 455
invoke-virtual {p0, v1}, Lcom/google/zxing/common/BitSource;->readBits(I)I
move-result v2
add-int/lit8 v3, v0, 0x1
invoke-static {v2, v0}, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->unrandomize255State(II)I
move-result v0
if-nez v0, :cond_1a
.line 458
invoke-virtual {p0}, Lcom/google/zxing/common/BitSource;->available()I
move-result v0
div-int/2addr v0, v1
goto :goto_2f
:cond_1a
const/16 v2, 0xfa
if-ge v0, v2, :cond_1f
goto :goto_2f
:cond_1f
add-int/lit16 v0, v0, -0xf9
mul-int/lit16 v0, v0, 0xfa
.line 462
invoke-virtual {p0, v1}, Lcom/google/zxing/common/BitSource;->readBits(I)I
move-result v2
add-int/lit8 v4, v3, 0x1
invoke-static {v2, v3}, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->unrandomize255State(II)I
move-result v2
add-int/2addr v0, v2
move v3, v4
:goto_2f
if-ltz v0, :cond_75
.line 470
new-array v2, v0, [B
const/4 v4, 0x0
:goto_34
if-ge v4, v0, :cond_52
.line 474
invoke-virtual {p0}, Lcom/google/zxing/common/BitSource;->available()I
move-result v5
if-lt v5, v1, :cond_4d
.line 477
invoke-virtual {p0, v1}, Lcom/google/zxing/common/BitSource;->readBits(I)I
move-result v5
add-int/lit8 v6, v3, 0x1
invoke-static {v5, v3}, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->unrandomize255State(II)I
move-result v3
int-to-byte v3, v3
aput-byte v3, v2, v4
add-int/lit8 v4, v4, 0x1
move v3, v6
goto :goto_34
.line 475
:cond_4d
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
.line 479
:cond_52
invoke-interface {p2, v2}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
.line 481
:try_start_55
new-instance p0, Ljava/lang/String;
const-string p2, "ISO8859_1"
invoke-direct {p0, v2, p2}, Ljava/lang/String;-><init>([BLjava/lang/String;)V
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:try_end_5f
.catch Ljava/io/UnsupportedEncodingException; {:try_start_55 .. :try_end_5f} :catch_60
return-void
:catch_60
move-exception p0
.line 483
new-instance p1, Ljava/lang/IllegalStateException;
new-instance p2, Ljava/lang/StringBuilder;
const-string v0, "Platform does not support required encoding: "
invoke-direct {p2, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 467
:cond_75
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
.end method
.method private static decodeC40Segment(Lcom/google/zxing/common/BitSource;Ljava/lang/StringBuilder;)V
.registers 11
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/FormatException;
}
.end annotation
const/4 v0, 0x3
new-array v1, v0, [I
const/4 v2, 0x0
const/4 v3, 0x0
const/4 v4, 0x0
.line 202
:cond_6
invoke-virtual {p0}, Lcom/google/zxing/common/BitSource;->available()I
move-result v5
const/16 v6, 0x8
if-ne v5, v6, :cond_f
return-void
.line 205
:cond_f
invoke-virtual {p0, v6}, Lcom/google/zxing/common/BitSource;->readBits(I)I
move-result v5
const/16 v7, 0xfe
if-ne v5, v7, :cond_18
return-void
.line 210
:cond_18
invoke-virtual {p0, v6}, Lcom/google/zxing/common/BitSource;->readBits(I)I
move-result v6
invoke-static {v5, v6, v1}, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->parseTwoBytes(II[I)V
const/4 v5, 0x0
:goto_20
if-ge v5, v0, :cond_9e
.line 213
aget v6, v1, v5
if-eqz v4, :cond_7c
const/4 v7, 0x1
if-eq v4, v7, :cond_6c
const/4 v8, 0x2
if-eq v4, v8, :cond_43
if-ne v4, v0, :cond_3e
if-eqz v3, :cond_37
add-int/lit16 v6, v6, 0xe0
int-to-char v3, v6
.line 259
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_74
:cond_37
add-int/lit8 v6, v6, 0x60
int-to-char v4, v6
.line 262
invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_7a
.line 267
:cond_3e
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
.line 240
:cond_43
sget-object v4, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->C40_SHIFT2_SET_CHARS:[C
array-length v8, v4
if-ge v6, v8, :cond_57
.line 241
aget-char v4, v4, v6
if-eqz v3, :cond_53
add-int/lit16 v4, v4, 0x80
int-to-char v3, v4
.line 243
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_74
.line 246
:cond_53
invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_7a
:cond_57
const/16 v4, 0x1b
if-ne v6, v4, :cond_61
const/16 v4, 0x1d
.line 249
invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_7a
:cond_61
const/16 v3, 0x1e
if-ne v6, v3, :cond_67
const/4 v3, 0x1
goto :goto_7a
.line 253
:cond_67
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
:cond_6c
if-eqz v3, :cond_76
add-int/lit16 v6, v6, 0x80
int-to-char v3, v6
.line 232
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:goto_74
const/4 v3, 0x0
goto :goto_7a
:cond_76
int-to-char v4, v6
.line 235
invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:goto_7a
const/4 v4, 0x0
goto :goto_96
:cond_7c
if-ge v6, v0, :cond_82
add-int/lit8 v6, v6, 0x1
move v4, v6
goto :goto_96
.line 218
:cond_82
sget-object v7, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->C40_BASIC_SET_CHARS:[C
array-length v8, v7
if-ge v6, v8, :cond_99
.line 219
aget-char v6, v7, v6
if-eqz v3, :cond_93
add-int/lit16 v6, v6, 0x80
int-to-char v3, v6
.line 221
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/4 v3, 0x0
goto :goto_96
.line 224
:cond_93
invoke-virtual {p1, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:goto_96
add-int/lit8 v5, v5, 0x1
goto :goto_20
.line 227
:cond_99
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
.line 270
:cond_9e
invoke-virtual {p0}, Lcom/google/zxing/common/BitSource;->available()I
move-result v5
if-gtz v5, :cond_6
return-void
.end method
.method private static decodeEdifactSegment(Lcom/google/zxing/common/BitSource;Ljava/lang/StringBuilder;)V
.registers 5
.line 421
:cond_0
invoke-virtual {p0}, Lcom/google/zxing/common/BitSource;->available()I
move-result v0
const/16 v1, 0x10
if-gt v0, v1, :cond_9
return-void
:cond_9
const/4 v0, 0x0
:goto_a
const/4 v1, 0x4
if-ge v0, v1, :cond_31
const/4 v1, 0x6
.line 426
invoke-virtual {p0, v1}, Lcom/google/zxing/common/BitSource;->readBits(I)I
move-result v1
const/16 v2, 0x1f
if-ne v1, v2, :cond_24
.line 431
invoke-virtual {p0}, Lcom/google/zxing/common/BitSource;->getBitOffset()I
move-result p1
const/16 v0, 0x8
rsub-int/lit8 p1, p1, 0x8
if-eq p1, v0, :cond_23
.line 433
invoke-virtual {p0, p1}, Lcom/google/zxing/common/BitSource;->readBits(I)I
:cond_23
return-void
:cond_24
and-int/lit8 v2, v1, 0x20
if-nez v2, :cond_2a
or-int/lit8 v1, v1, 0x40
:cond_2a
int-to-char v1, v1
.line 441
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v0, v0, 0x1
goto :goto_a
.line 443
:cond_31
invoke-virtual {p0}, Lcom/google/zxing/common/BitSource;->available()I
move-result v0
if-gtz v0, :cond_0
return-void
.end method
.method private static decodeTextSegment(Lcom/google/zxing/common/BitSource;Ljava/lang/StringBuilder;)V
.registers 11
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/FormatException;
}
.end annotation
const/4 v0, 0x3
new-array v1, v0, [I
const/4 v2, 0x0
const/4 v3, 0x0
const/4 v4, 0x0
.line 286
:cond_6
invoke-virtual {p0}, Lcom/google/zxing/common/BitSource;->available()I
move-result v5
const/16 v6, 0x8
if-ne v5, v6, :cond_f
return-void
.line 289
:cond_f
invoke-virtual {p0, v6}, Lcom/google/zxing/common/BitSource;->readBits(I)I
move-result v5
const/16 v7, 0xfe
if-ne v5, v7, :cond_18
return-void
.line 294
:cond_18
invoke-virtual {p0, v6}, Lcom/google/zxing/common/BitSource;->readBits(I)I
move-result v6
invoke-static {v5, v6, v1}, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->parseTwoBytes(II[I)V
const/4 v5, 0x0
:goto_20
if-ge v5, v0, :cond_a8
.line 297
aget v6, v1, v5
if-eqz v4, :cond_85
const/4 v7, 0x1
if-eq v4, v7, :cond_75
const/4 v8, 0x2
if-eq v4, v8, :cond_4c
if-ne v4, v0, :cond_47
.line 343
sget-object v4, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->TEXT_SHIFT3_SET_CHARS:[C
array-length v7, v4
if-ge v6, v7, :cond_42
.line 344
aget-char v4, v4, v6
if-eqz v3, :cond_3e
add-int/lit16 v4, v4, 0x80
int-to-char v3, v4
.line 346
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_7d
.line 349
:cond_3e
invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_83
.line 353
:cond_42
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
.line 357
:cond_47
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
.line 325
:cond_4c
sget-object v4, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->TEXT_SHIFT2_SET_CHARS:[C
array-length v8, v4
if-ge v6, v8, :cond_60
.line 326
aget-char v4, v4, v6
if-eqz v3, :cond_5c
add-int/lit16 v4, v4, 0x80
int-to-char v3, v4
.line 328
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_7d
.line 331
:cond_5c
invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_83
:cond_60
const/16 v4, 0x1b
if-ne v6, v4, :cond_6a
const/16 v4, 0x1d
.line 334
invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_83
:cond_6a
const/16 v3, 0x1e
if-ne v6, v3, :cond_70
const/4 v3, 0x1
goto :goto_83
.line 338
:cond_70
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
:cond_75
if-eqz v3, :cond_7f
add-int/lit16 v6, v6, 0x80
int-to-char v3, v6
.line 316
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:goto_7d
const/4 v3, 0x0
goto :goto_83
:cond_7f
int-to-char v4, v6
.line 319
invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:goto_83
const/4 v4, 0x0
goto :goto_9f
:cond_85
if-ge v6, v0, :cond_8b
add-int/lit8 v6, v6, 0x1
move v4, v6
goto :goto_9f
.line 302
:cond_8b
sget-object v7, Lcom/google/zxing/datamatrix/decoder/DecodedBitStreamParser;->TEXT_BASIC_SET_CHARS:[C
array-length v8, v7
if-ge v6, v8, :cond_a3
.line 303
aget-char v6, v7, v6
if-eqz v3, :cond_9c
add-int/lit16 v6, v6, 0x80
int-to-char v3, v6
.line 305
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/4 v3, 0x0
goto :goto_9f
.line 308
:cond_9c
invoke-virtual {p1, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:goto_9f
add-int/lit8 v5, v5, 0x1
goto/16 :goto_20
.line 311
:cond_a3
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
.line 360
:cond_a8
invoke-virtual {p0}, Lcom/google/zxing/common/BitSource;->available()I
move-result v5
if-gtz v5, :cond_6
return-void
.end method
.method private static parseTwoBytes(II[I)V
.registers 5
shl-int/lit8 p0, p0, 0x8
add-int/2addr p0, p1
const/4 p1, 0x1
sub-int/2addr p0, p1
.line 407
div-int/lit16 v0, p0, 0x640
const/4 v1, 0x0
.line 408
aput v0, p2, v1
mul-int/lit16 v0, v0, 0x640
sub-int/2addr p0, v0
.line 410
div-int/lit8 v0, p0, 0x28
.line 411
aput v0, p2, p1
mul-int/lit8 v0, v0, 0x28
sub-int/2addr p0, v0
const/4 p1, 0x2
.line 412
aput p0, p2, p1
return-void
.end method
.method private static unrandomize255State(II)I
.registers 2
mul-int/lit16 p1, p1, 0x95
.line 492
rem-int/lit16 p1, p1, 0xff
add-int/lit8 p1, p1, 0x1
sub-int/2addr p0, p1
if-ltz p0, :cond_a
return p0
:cond_a
add-int/lit16 p0, p0, 0x100
return p0
.end method