Files
vtosters/smali/smali_classes7/com/google/zxing/pdf417/encoder/PDF417HighLevelEncoder.smali
T
2022-03-24 19:37:43 +03:00

1646 lines
32 KiB
Smali

.class final Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;
.super Ljava/lang/Object;
.source "PDF417HighLevelEncoder.java"
# static fields
.field private static final BYTE_COMPACTION:I = 0x1
.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 LATCH_TO_BYTE:I = 0x39c
.field private static final LATCH_TO_BYTE_PADDED:I = 0x385
.field private static final LATCH_TO_NUMERIC:I = 0x386
.field private static final LATCH_TO_TEXT:I = 0x384
.field private static final MIXED:[B
.field private static final NUMERIC_COMPACTION:I = 0x2
.field private static final PUNCTUATION:[B
.field private static final SHIFT_TO_BYTE:I = 0x391
.field private static final SUBMODE_ALPHA:I = 0x0
.field private static final SUBMODE_LOWER:I = 0x1
.field private static final SUBMODE_MIXED:I = 0x2
.field private static final SUBMODE_PUNCTUATION:I = 0x3
.field private static final TEXT_COMPACTION:I
.field private static final TEXT_MIXED_RAW:[B
.field private static final TEXT_PUNCTUATION_RAW:[B
# direct methods
.method static constructor <clinit>()V
.locals 6
const/16 v0, 0x1e
.line 115
new-array v1, v0, [B
fill-array-data v1, :array_0
sput-object v1, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->TEXT_MIXED_RAW:[B
.line 122
new-array v0, v0, [B
fill-array-data v0, :array_1
sput-object v0, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->TEXT_PUNCTUATION_RAW:[B
const/16 v0, 0x80
.line 126
new-array v1, v0, [B
sput-object v1, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->MIXED:[B
.line 127
new-array v0, v0, [B
sput-object v0, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->PUNCTUATION:[B
const-string v0, "ISO-8859-1"
.line 129
invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v0
sput-object v0, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->DEFAULT_ENCODING:Ljava/nio/charset/Charset;
.line 136
sget-object v0, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->MIXED:[B
const/4 v1, -0x1
invoke-static {v0, v1}, Ljava/util/Arrays;->fill([BB)V
const/4 v0, 0x0
const/4 v2, 0x0
.line 137
:goto_0
sget-object v3, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->TEXT_MIXED_RAW:[B
array-length v3, v3
if-ge v2, v3, :cond_1
.line 138
sget-object v3, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->TEXT_MIXED_RAW:[B
aget-byte v3, v3, v2
if-lez v3, :cond_0
.line 140
sget-object v4, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->MIXED:[B
int-to-byte v5, v2
aput-byte v5, v4, v3
:cond_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 143
:cond_1
sget-object v2, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->PUNCTUATION:[B
invoke-static {v2, v1}, Ljava/util/Arrays;->fill([BB)V
.line 144
:goto_1
sget-object v1, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->TEXT_PUNCTUATION_RAW:[B
array-length v1, v1
if-ge v0, v1, :cond_3
.line 145
sget-object v1, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->TEXT_PUNCTUATION_RAW:[B
aget-byte v1, v1, v0
if-lez v1, :cond_2
.line 147
sget-object v2, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->PUNCTUATION:[B
int-to-byte v3, v0
aput-byte v3, v2, v1
:cond_2
add-int/lit8 v0, v0, 0x1
goto :goto_1
:cond_3
return-void
:array_0
.array-data 1
0x30t
0x31t
0x32t
0x33t
0x34t
0x35t
0x36t
0x37t
0x38t
0x39t
0x26t
0xdt
0x9t
0x2ct
0x3at
0x23t
0x2dt
0x2et
0x24t
0x2ft
0x2bt
0x25t
0x2at
0x3dt
0x5et
0x0t
0x20t
0x0t
0x0t
0x0t
.end array-data
nop
:array_1
.array-data 1
0x3bt
0x3ct
0x3et
0x40t
0x5bt
0x5ct
0x5dt
0x5ft
0x60t
0x7et
0x21t
0xdt
0x9t
0x2ct
0x3at
0xat
0x2dt
0x2et
0x24t
0x2ft
0x22t
0x7ct
0x2at
0x28t
0x29t
0x3ft
0x7bt
0x7dt
0x27t
0x0t
.end array-data
.end method
.method private constructor <init>()V
.locals 0
.line 131
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static determineConsecutiveBinaryCount(Ljava/lang/String;ILjava/nio/charset/Charset;)I
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/WriterException;
}
.end annotation
.line 536
invoke-virtual {p2}, Ljava/nio/charset/Charset;->newEncoder()Ljava/nio/charset/CharsetEncoder;
move-result-object p2
.line 537
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
move v1, p1
:goto_0
if-ge v1, v0, :cond_3
.line 540
invoke-virtual {p0, v1}, Ljava/lang/String;->charAt(I)C
move-result v2
const/4 v3, 0x0
:goto_1
const/16 v4, 0xd
if-ge v3, v4, :cond_0
.line 543
invoke-static {v2}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->isDigit(C)Z
move-result v2
if-eqz v2, :cond_0
add-int/lit8 v3, v3, 0x1
add-int v2, v1, v3
if-ge v2, v0, :cond_0
.line 550
invoke-virtual {p0, v2}, Ljava/lang/String;->charAt(I)C
move-result v2
goto :goto_1
:cond_0
if-lt v3, v4, :cond_1
sub-int/2addr v1, p1
return v1
.line 555
:cond_1
invoke-virtual {p0, v1}, Ljava/lang/String;->charAt(I)C
move-result v2
.line 557
invoke-virtual {p2, v2}, Ljava/nio/charset/CharsetEncoder;->canEncode(C)Z
move-result v3
if-nez v3, :cond_2
.line 558
new-instance p0, Lcom/google/zxing/WriterException;
new-instance p1, Ljava/lang/StringBuilder;
const-string p2, "Non-encodable character detected: "
invoke-direct {p1, p2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const-string p2, " (Unicode: "
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/16 p2, 0x29
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
throw p0
:cond_2
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_3
sub-int/2addr v1, p1
return v1
.end method
.method private static determineConsecutiveDigitCount(Ljava/lang/CharSequence;I)I
.locals 4
.line 473
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
const/4 v1, 0x0
if-ge p1, v0, :cond_1
.line 476
invoke-interface {p0, p1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v2
.line 477
:cond_0
:goto_0
invoke-static {v2}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->isDigit(C)Z
move-result v3
if-eqz v3, :cond_1
if-ge p1, v0, :cond_1
add-int/lit8 v1, v1, 0x1
add-int/lit8 p1, p1, 0x1
if-ge p1, v0, :cond_0
.line 481
invoke-interface {p0, p1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v2
goto :goto_0
:cond_1
return v1
.end method
.method private static determineConsecutiveTextCount(Ljava/lang/CharSequence;I)I
.locals 6
.line 496
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
move v1, p1
:cond_0
:goto_0
if-ge v1, v0, :cond_4
.line 499
invoke-interface {p0, v1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v2
const/4 v3, 0x0
:cond_1
:goto_1
const/16 v4, 0xd
if-ge v3, v4, :cond_2
.line 501
invoke-static {v2}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->isDigit(C)Z
move-result v5
if-eqz v5, :cond_2
if-ge v1, v0, :cond_2
add-int/lit8 v3, v3, 0x1
add-int/lit8 v1, v1, 0x1
if-ge v1, v0, :cond_1
.line 505
invoke-interface {p0, v1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v2
goto :goto_1
:cond_2
if-lt v3, v4, :cond_3
sub-int/2addr v1, p1
sub-int/2addr v1, v3
return v1
:cond_3
if-gtz v3, :cond_0
.line 515
invoke-interface {p0, v1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v2
.line 518
invoke-static {v2}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->isText(C)Z
move-result v2
if-eqz v2, :cond_4
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_4
sub-int/2addr v1, p1
return v1
.end method
.method private static encodeBinary([BIIILjava/lang/StringBuilder;)V
.locals 15
move/from16 v0, p2
move-object/from16 v1, p4
const/4 v2, 0x1
if-ne v0, v2, :cond_0
if-nez p3, :cond_0
const/16 v2, 0x391
.line 380
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_0
.line 382
:cond_0
rem-int/lit8 v2, v0, 0x6
if-nez v2, :cond_1
const/16 v2, 0x39c
.line 383
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_0
:cond_1
const/16 v2, 0x385
.line 385
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:goto_0
const/4 v2, 0x6
if-lt v0, v2, :cond_5
const/4 v3, 0x5
.line 392
new-array v4, v3, [C
move/from16 v5, p1
:goto_1
add-int v6, p1, v0
sub-int/2addr v6, v5
if-lt v6, v2, :cond_6
const-wide/16 v6, 0x0
const/4 v8, 0x0
move-wide v9, v6
const/4 v6, 0x0
:goto_2
if-ge v6, v2, :cond_2
const/16 v7, 0x8
shl-long/2addr v9, v7
add-int v7, v5, v6
.line 397
aget-byte v7, p0, v7
and-int/lit16 v7, v7, 0xff
int-to-long v11, v7
add-long v13, v9, v11
add-int/lit8 v6, v6, 0x1
move-wide v9, v13
goto :goto_2
:cond_2
:goto_3
if-ge v8, v3, :cond_3
const-wide/16 v6, 0x384
.line 400
rem-long v11, v9, v6
long-to-int v11, v11
int-to-char v11, v11
aput-char v11, v4, v8
.line 401
div-long/2addr v9, v6
add-int/lit8 v8, v8, 0x1
goto :goto_3
:cond_3
const/4 v6, 0x4
:goto_4
if-ltz v6, :cond_4
.line 404
aget-char v7, v4, v6
invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v6, v6, -0x1
goto :goto_4
:cond_4
add-int/lit8 v5, v5, 0x6
goto :goto_1
:cond_5
move/from16 v5, p1
:cond_6
:goto_5
add-int v2, p1, v0
if-ge v5, v2, :cond_7
.line 411
aget-byte v2, p0, v5
and-int/lit16 v2, v2, 0xff
int-to-char v2, v2
.line 412
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v5, v5, 0x1
goto :goto_5
:cond_7
return-void
.end method
.method static encodeHighLevel(Ljava/lang/String;Lcom/google/zxing/pdf417/encoder/Compaction;Ljava/nio/charset/Charset;)Ljava/lang/String;
.locals 10
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/WriterException;
}
.end annotation
.line 166
new-instance v0, Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v1
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
if-nez p2, :cond_0
.line 169
sget-object p2, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->DEFAULT_ENCODING:Ljava/nio/charset/Charset;
goto :goto_0
.line 170
:cond_0
sget-object v1, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->DEFAULT_ENCODING:Ljava/nio/charset/Charset;
invoke-virtual {v1, p2}, Ljava/nio/charset/Charset;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_1
.line 171
invoke-virtual {p2}, Ljava/nio/charset/Charset;->name()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/google/zxing/common/CharacterSetECI;->getCharacterSetECIByName(Ljava/lang/String;)Lcom/google/zxing/common/CharacterSetECI;
move-result-object v1
if-eqz v1, :cond_1
.line 173
invoke-virtual {v1}, Lcom/google/zxing/common/CharacterSetECI;->getValue()I
move-result v1
invoke-static {v1, v0}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->encodingECI(ILjava/lang/StringBuilder;)V
.line 177
:cond_1
:goto_0
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v1
.line 182
sget-object v2, Lcom/google/zxing/pdf417/encoder/Compaction;->TEXT:Lcom/google/zxing/pdf417/encoder/Compaction;
const/4 v3, 0x0
if-ne p1, v2, :cond_2
.line 183
invoke-static {p0, v3, v1, v0, v3}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->encodeText(Ljava/lang/CharSequence;IILjava/lang/StringBuilder;I)I
goto/16 :goto_5
.line 185
:cond_2
sget-object v2, Lcom/google/zxing/pdf417/encoder/Compaction;->BYTE:Lcom/google/zxing/pdf417/encoder/Compaction;
const/4 v4, 0x1
if-ne p1, v2, :cond_3
.line 186
invoke-virtual {p0, p2}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object p0
.line 187
array-length p1, p0
invoke-static {p0, v3, p1, v4, v0}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->encodeBinary([BIIILjava/lang/StringBuilder;)V
goto :goto_5
.line 189
:cond_3
sget-object v2, Lcom/google/zxing/pdf417/encoder/Compaction;->NUMERIC:Lcom/google/zxing/pdf417/encoder/Compaction;
const/16 v5, 0x386
if-ne p1, v2, :cond_4
.line 190
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 191
invoke-static {p0, v3, v1, v0}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->encodeNumeric(Ljava/lang/String;IILjava/lang/StringBuilder;)V
goto :goto_5
:cond_4
const/4 p1, 0x0
const/4 v2, 0x0
:goto_1
const/4 v6, 0x0
:goto_2
if-ge p1, v1, :cond_b
.line 196
invoke-static {p0, p1}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->determineConsecutiveDigitCount(Ljava/lang/CharSequence;I)I
move-result v7
const/16 v8, 0xd
if-lt v7, v8, :cond_5
.line 198
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/4 v2, 0x2
.line 201
invoke-static {p0, p1, v7, v0}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->encodeNumeric(Ljava/lang/String;IILjava/lang/StringBuilder;)V
add-int/2addr p1, v7
goto :goto_1
.line 204
:cond_5
invoke-static {p0, p1}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->determineConsecutiveTextCount(Ljava/lang/CharSequence;I)I
move-result v8
const/4 v9, 0x5
if-ge v8, v9, :cond_9
if-ne v7, v1, :cond_6
goto :goto_4
.line 214
:cond_6
invoke-static {p0, p1, p2}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->determineConsecutiveBinaryCount(Ljava/lang/String;ILjava/nio/charset/Charset;)I
move-result v7
if-nez v7, :cond_7
const/4 v7, 0x1
:cond_7
add-int/2addr v7, p1
.line 218
invoke-virtual {p0, p1, v7}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p1
invoke-virtual {p1, p2}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object p1
.line 219
array-length v8, p1
if-ne v8, v4, :cond_8
if-nez v2, :cond_8
.line 221
invoke-static {p1, v3, v4, v3, v0}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->encodeBinary([BIIILjava/lang/StringBuilder;)V
goto :goto_3
.line 224
:cond_8
array-length v6, p1
invoke-static {p1, v3, v6, v2, v0}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->encodeBinary([BIIILjava/lang/StringBuilder;)V
const/4 v2, 0x1
const/4 v6, 0x0
:goto_3
move p1, v7
goto :goto_2
:cond_9
:goto_4
if-eqz v2, :cond_a
const/16 v2, 0x384
.line 207
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/4 v2, 0x0
const/4 v6, 0x0
.line 211
:cond_a
invoke-static {p0, p1, v8, v0, v6}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->encodeText(Ljava/lang/CharSequence;IILjava/lang/StringBuilder;I)I
move-result v6
add-int/2addr p1, v8
goto :goto_2
.line 234
:cond_b
:goto_5
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private static encodeNumeric(Ljava/lang/String;IILjava/lang/StringBuilder;)V
.locals 9
.line 418
new-instance v0, Ljava/lang/StringBuilder;
div-int/lit8 v1, p2, 0x3
add-int/lit8 v1, v1, 0x1
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-wide/16 v1, 0x384
.line 419
invoke-static {v1, v2}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
move-result-object v1
const-wide/16 v2, 0x0
.line 420
invoke-static {v2, v3}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
move-result-object v2
const/4 v3, 0x0
const/4 v4, 0x0
:goto_0
if-ge v4, p2, :cond_2
.line 422
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->setLength(I)V
const/16 v5, 0x2c
sub-int v6, p2, v4
.line 423
invoke-static {v5, v6}, Ljava/lang/Math;->min(II)I
move-result v5
.line 424
new-instance v6, Ljava/lang/StringBuilder;
const-string v7, "1"
invoke-direct {v6, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
add-int v7, p1, v4
add-int v8, v7, v5
invoke-virtual {p0, v7, v8}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v7
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
.line 425
new-instance v7, Ljava/math/BigInteger;
invoke-direct {v7, v6}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;)V
.line 427
:cond_0
invoke-virtual {v7, v1}, Ljava/math/BigInteger;->mod(Ljava/math/BigInteger;)Ljava/math/BigInteger;
move-result-object v6
invoke-virtual {v6}, Ljava/math/BigInteger;->intValue()I
move-result v6
int-to-char v6, v6
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 428
invoke-virtual {v7, v1}, Ljava/math/BigInteger;->divide(Ljava/math/BigInteger;)Ljava/math/BigInteger;
move-result-object v7
.line 429
invoke-virtual {v7, v2}, Ljava/math/BigInteger;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_0
.line 432
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v6
add-int/lit8 v6, v6, -0x1
:goto_1
if-ltz v6, :cond_1
.line 433
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->charAt(I)C
move-result v7
invoke-virtual {p3, v7}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v6, v6, -0x1
goto :goto_1
:cond_1
add-int/2addr v4, v5
goto :goto_0
:cond_2
return-void
.end method
.method private static encodeText(Ljava/lang/CharSequence;IILjava/lang/StringBuilder;I)I
.locals 17
move-object/from16 v0, p0
move/from16 v1, p2
move-object/from16 v2, p3
.line 253
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v4, 0x2
const/4 v6, 0x0
move/from16 v9, p4
const/4 v8, 0x0
:cond_0
:goto_0
add-int v10, p1, v8
.line 257
invoke-interface {v0, v10}, Ljava/lang/CharSequence;->charAt(I)C
move-result v11
const/16 v12, 0x1a
const/16 v13, 0x20
const/16 v14, 0x1b
const/16 v15, 0x1c
const/16 v5, 0x1d
packed-switch v9, :pswitch_data_0
.line 333
invoke-static {v11}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->isPunctuation(C)Z
move-result v10
if-eqz v10, :cond_11
.line 334
sget-object v10, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->PUNCTUATION:[B
aget-byte v10, v10, v11
int-to-char v10, v10
invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto/16 :goto_3
.line 307
:pswitch_0
invoke-static {v11}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->isMixed(C)Z
move-result v12
if-eqz v12, :cond_1
.line 308
sget-object v10, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->MIXED:[B
aget-byte v10, v10, v11
int-to-char v10, v10
invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto/16 :goto_3
.line 310
:cond_1
invoke-static {v11}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->isAlphaUpper(C)Z
move-result v12
if-eqz v12, :cond_2
.line 312
invoke-virtual {v3, v15}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto/16 :goto_7
.line 314
:cond_2
invoke-static {v11}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->isAlphaLower(C)Z
move-result v12
if-eqz v12, :cond_3
.line 316
invoke-virtual {v3, v14}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto/16 :goto_1
:cond_3
add-int/lit8 v10, v10, 0x1
if-ge v10, v1, :cond_4
.line 320
invoke-interface {v0, v10}, Ljava/lang/CharSequence;->charAt(I)C
move-result v10
.line 321
invoke-static {v10}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->isPunctuation(C)Z
move-result v10
if-eqz v10, :cond_4
const/4 v9, 0x3
const/16 v5, 0x19
.line 323
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_0
.line 327
:cond_4
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 328
sget-object v10, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->PUNCTUATION:[B
aget-byte v10, v10, v11
int-to-char v10, v10
invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto/16 :goto_3
.line 283
:pswitch_1
invoke-static {v11}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->isAlphaLower(C)Z
move-result v10
if-eqz v10, :cond_6
if-ne v11, v13, :cond_5
.line 285
invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_3
:cond_5
add-int/lit8 v11, v11, -0x61
int-to-char v10, v11
.line 287
invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_3
.line 290
:cond_6
invoke-static {v11}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->isAlphaUpper(C)Z
move-result v10
if-eqz v10, :cond_7
.line 291
invoke-virtual {v3, v14}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v11, v11, -0x41
int-to-char v10, v11
.line 292
invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_3
.line 295
:cond_7
invoke-static {v11}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->isMixed(C)Z
move-result v10
if-eqz v10, :cond_8
.line 297
invoke-virtual {v3, v15}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_2
.line 300
:cond_8
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 301
sget-object v10, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->PUNCTUATION:[B
aget-byte v10, v10, v11
int-to-char v10, v10
invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_3
.line 260
:pswitch_2
invoke-static {v11}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->isAlphaUpper(C)Z
move-result v10
if-eqz v10, :cond_a
if-ne v11, v13, :cond_9
.line 262
invoke-virtual {v3, v12}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_3
:cond_9
add-int/lit8 v11, v11, -0x41
int-to-char v10, v11
.line 264
invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_3
.line 267
:cond_a
invoke-static {v11}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->isAlphaLower(C)Z
move-result v10
if-eqz v10, :cond_b
.line 269
invoke-virtual {v3, v14}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:goto_1
const/4 v9, 0x1
goto/16 :goto_0
.line 271
:cond_b
invoke-static {v11}, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->isMixed(C)Z
move-result v10
if-eqz v10, :cond_c
.line 273
invoke-virtual {v3, v15}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:goto_2
const/4 v9, 0x2
goto/16 :goto_0
.line 276
:cond_c
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 277
sget-object v10, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->PUNCTUATION:[B
aget-byte v10, v10, v11
int-to-char v10, v10
invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:goto_3
add-int/lit8 v8, v8, 0x1
if-lt v8, v1, :cond_0
.line 347
invoke-virtual {v3}, Ljava/lang/StringBuilder;->length()I
move-result v0
const/4 v1, 0x0
const/4 v7, 0x0
:goto_4
if-ge v1, v0, :cond_f
.line 349
rem-int/lit8 v8, v1, 0x2
if-eqz v8, :cond_d
const/4 v8, 0x1
goto :goto_5
:cond_d
const/4 v8, 0x0
:goto_5
if-eqz v8, :cond_e
mul-int/lit8 v7, v7, 0x1e
.line 351
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->charAt(I)C
move-result v8
add-int/2addr v7, v8
int-to-char v7, v7
.line 352
invoke-virtual {v2, v7}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_6
.line 354
:cond_e
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->charAt(I)C
move-result v7
:goto_6
add-int/lit8 v1, v1, 0x1
goto :goto_4
.line 357
:cond_f
rem-int/2addr v0, v4
if-eqz v0, :cond_10
mul-int/lit8 v7, v7, 0x1e
add-int/2addr v7, v5
int-to-char v0, v7
.line 358
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:cond_10
return v9
.line 337
:cond_11
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:goto_7
const/4 v9, 0x0
goto/16 :goto_0
nop
:pswitch_data_0
.packed-switch 0x0
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
.end method
.method private static encodingECI(ILjava/lang/StringBuilder;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/WriterException;
}
.end annotation
const/16 v0, 0x384
if-ltz p0, :cond_0
if-ge p0, v0, :cond_0
const/16 v0, 0x39f
.line 567
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
int-to-char p0, p0
.line 568
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return-void
:cond_0
const v1, 0xc5f94
if-ge p0, v1, :cond_1
const/16 v1, 0x39e
.line 570
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 571
div-int/lit16 v1, p0, 0x384
add-int/lit8 v1, v1, -0x1
int-to-char v1, v1
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 572
rem-int/2addr p0, v0
int-to-char p0, p0
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return-void
:cond_1
const v0, 0xc6318
if-ge p0, v0, :cond_2
const/16 v0, 0x39d
.line 574
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
sub-int/2addr v1, p0
int-to-char p0, v1
.line 575
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return-void
.line 577
:cond_2
new-instance p1, Lcom/google/zxing/WriterException;
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "ECI number not in valid range from 0..811799, but was "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method private static isAlphaLower(C)Z
.locals 1
const/16 v0, 0x20
if-eq p0, v0, :cond_1
const/16 v0, 0x61
if-lt p0, v0, :cond_0
const/16 v0, 0x7a
if-gt p0, v0, :cond_0
goto :goto_0
:cond_0
const/4 p0, 0x0
return p0
:cond_1
:goto_0
const/4 p0, 0x1
return p0
.end method
.method private static isAlphaUpper(C)Z
.locals 1
const/16 v0, 0x20
if-eq p0, v0, :cond_1
const/16 v0, 0x41
if-lt p0, v0, :cond_0
const/16 v0, 0x5a
if-gt p0, v0, :cond_0
goto :goto_0
:cond_0
const/4 p0, 0x0
return p0
:cond_1
:goto_0
const/4 p0, 0x1
return p0
.end method
.method private static isDigit(C)Z
.locals 1
const/16 v0, 0x30
if-lt p0, v0, :cond_0
const/16 v0, 0x39
if-gt p0, v0, :cond_0
const/4 p0, 0x1
return p0
:cond_0
const/4 p0, 0x0
return p0
.end method
.method private static isMixed(C)Z
.locals 1
.line 453
sget-object v0, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->MIXED:[B
aget-byte p0, v0, p0
const/4 v0, -0x1
if-eq p0, v0, :cond_0
const/4 p0, 0x1
return p0
:cond_0
const/4 p0, 0x0
return p0
.end method
.method private static isPunctuation(C)Z
.locals 1
.line 457
sget-object v0, Lcom/google/zxing/pdf417/encoder/PDF417HighLevelEncoder;->PUNCTUATION:[B
aget-byte p0, v0, p0
const/4 v0, -0x1
if-eq p0, v0, :cond_0
const/4 p0, 0x1
return p0
:cond_0
const/4 p0, 0x0
return p0
.end method
.method private static isText(C)Z
.locals 1
const/16 v0, 0x9
if-eq p0, v0, :cond_1
const/16 v0, 0xa
if-eq p0, v0, :cond_1
const/16 v0, 0xd
if-eq p0, v0, :cond_1
const/16 v0, 0x20
if-lt p0, v0, :cond_0
const/16 v0, 0x7e
if-gt p0, v0, :cond_0
goto :goto_0
:cond_0
const/4 p0, 0x0
return p0
:cond_1
:goto_0
const/4 p0, 0x1
return p0
.end method