c.smali
.class public final Lcom/google/zxing/qrcode/b/c;
.super Ljava/lang/Object;
.source "Encoder.java"
# static fields
.field private static final bqa:[I
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 41
const/16 v0, 0x60
new-array v0, v0, [I
fill-array-data v0, :array_a
sput-object v0, Lcom/google/zxing/qrcode/b/c;->bqa:[I
return-void
:array_a
.array-data 4
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
0x24
-0x1
-0x1
-0x1
0x25
0x26
-0x1
-0x1
-0x1
-0x1
0x27
0x28
-0x1
0x29
0x2a
0x2b
0x0
0x1
0x2
0x3
0x4
0x5
0x6
0x7
0x8
0x9
0x2c
-0x1
-0x1
-0x1
-0x1
-0x1
-0x1
0xa
0xb
0xc
0xd
0xe
0xf
0x10
0x11
0x12
0x13
0x14
0x15
0x16
0x17
0x18
0x19
0x1a
0x1b
0x1c
0x1d
0x1e
0x1f
0x20
0x21
0x22
0x23
-0x1
-0x1
-0x1
-0x1
-0x1
.end array-data
.end method
.method private static a(Lcom/google/zxing/common/a;Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;Lcom/google/zxing/qrcode/decoder/g;Lcom/google/zxing/qrcode/b/b;)I
.registers 23
.prologue
.line 258
const v7, 0x7fffffff
.line 259
const/4 v6, -0x1
.line 261
const/4 v5, 0x0
:goto_5
const/16 v4, 0x8
if-ge v5, v4, :cond_18a
.line 262
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object/from16 v2, p2
move-object/from16 v3, p3
invoke-static {v0, v1, v2, v5, v3}, Lcom/google/zxing/qrcode/b/e;->a(Lcom/google/zxing/common/a;Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;Lcom/google/zxing/qrcode/decoder/g;ILcom/google/zxing/qrcode/b/b;)V
.line 9041
const/4 v4, 0x1
move-object/from16 v0, p3
invoke-static {v0, v4}, Lcom/google/zxing/qrcode/b/d;->a(Lcom/google/zxing/qrcode/b/b;Z)I
move-result v4
const/4 v8, 0x0
move-object/from16 v0, p3
invoke-static {v0, v8}, Lcom/google/zxing/qrcode/b/d;->a(Lcom/google/zxing/qrcode/b/b;Z)I
move-result v8
add-int v10, v4, v8
.line 9050
const/4 v8, 0x0
.line 10055
move-object/from16 v0, p3
iget-object v11, v0, Lcom/google/zxing/qrcode/b/b;->bpZ:[[B
.line 11044
move-object/from16 v0, p3
iget v12, v0, Lcom/google/zxing/qrcode/b/b;->width:I
.line 12040
move-object/from16 v0, p3
iget v13, v0, Lcom/google/zxing/qrcode/b/b;->height:I
.line 9054
const/4 v4, 0x0
move/from16 v18, v4
move v4, v8
move/from16 v8, v18
:goto_37
add-int/lit8 v9, v13, -0x1
if-ge v8, v9, :cond_6a
.line 9055
aget-object v14, v11, v8
.line 9056
const/4 v9, 0x0
:goto_3e
add-int/lit8 v15, v12, -0x1
if-ge v9, v15, :cond_67
.line 9057
aget-byte v15, v14, v9
.line 9058
add-int/lit8 v16, v9, 0x1
aget-byte v16, v14, v16
move/from16 v0, v16
if-ne v15, v0, :cond_64
add-int/lit8 v16, v8, 0x1
aget-object v16, v11, v16
aget-byte v16, v16, v9
move/from16 v0, v16
if-ne v15, v0, :cond_64
add-int/lit8 v16, v8, 0x1
aget-object v16, v11, v16
add-int/lit8 v17, v9, 0x1
aget-byte v16, v16, v17
move/from16 v0, v16
if-ne v15, v0, :cond_64
.line 9059
add-int/lit8 v4, v4, 0x1
.line 9056
:cond_64
add-int/lit8 v9, v9, 0x1
goto :goto_3e
.line 9054
:cond_67
add-int/lit8 v8, v8, 0x1
goto :goto_37
.line 9063
:cond_6a
mul-int/lit8 v4, v4, 0x3
.line 8059
add-int/2addr v10, v4
.line 12072
const/4 v8, 0x0
.line 13055
move-object/from16 v0, p3
iget-object v11, v0, Lcom/google/zxing/qrcode/b/b;->bpZ:[[B
.line 14044
move-object/from16 v0, p3
iget v12, v0, Lcom/google/zxing/qrcode/b/b;->width:I
.line 15040
move-object/from16 v0, p3
iget v13, v0, Lcom/google/zxing/qrcode/b/b;->height:I
.line 12076
const/4 v4, 0x0
move v9, v4
:goto_7c
if-ge v9, v13, :cond_139
.line 12077
const/4 v4, 0x0
move/from16 v18, v4
move v4, v8
move/from16 v8, v18
:goto_84
if-ge v8, v12, :cond_133
.line 12078
aget-object v14, v11, v9
.line 12079
add-int/lit8 v15, v8, 0x6
if-ge v15, v12, :cond_dc
aget-byte v15, v14, v8
const/16 v16, 0x1
move/from16 v0, v16
if-ne v15, v0, :cond_dc
add-int/lit8 v15, v8, 0x1
aget-byte v15, v14, v15
if-nez v15, :cond_dc
add-int/lit8 v15, v8, 0x2
aget-byte v15, v14, v15
const/16 v16, 0x1
move/from16 v0, v16
if-ne v15, v0, :cond_dc
add-int/lit8 v15, v8, 0x3
aget-byte v15, v14, v15
const/16 v16, 0x1
move/from16 v0, v16
if-ne v15, v0, :cond_dc
add-int/lit8 v15, v8, 0x4
aget-byte v15, v14, v15
const/16 v16, 0x1
move/from16 v0, v16
if-ne v15, v0, :cond_dc
add-int/lit8 v15, v8, 0x5
aget-byte v15, v14, v15
if-nez v15, :cond_dc
add-int/lit8 v15, v8, 0x6
aget-byte v15, v14, v15
const/16 v16, 0x1
move/from16 v0, v16
if-ne v15, v0, :cond_dc
add-int/lit8 v15, v8, -0x4
.line 12087
invoke-static {v14, v15, v8}, Lcom/google/zxing/qrcode/b/d;->k([BII)Z
move-result v15
if-nez v15, :cond_da
add-int/lit8 v15, v8, 0x7
add-int/lit8 v16, v8, 0xb
invoke-static/range {v14 .. v16}, Lcom/google/zxing/qrcode/b/d;->k([BII)Z
move-result v14
if-eqz v14, :cond_dc
.line 12088
:cond_da
add-int/lit8 v4, v4, 0x1
.line 12090
:cond_dc
add-int/lit8 v14, v9, 0x6
if-ge v14, v13, :cond_12f
aget-object v14, v11, v9
aget-byte v14, v14, v8
const/4 v15, 0x1
if-ne v14, v15, :cond_12f
add-int/lit8 v14, v9, 0x1
aget-object v14, v11, v14
aget-byte v14, v14, v8
if-nez v14, :cond_12f
add-int/lit8 v14, v9, 0x2
aget-object v14, v11, v14
aget-byte v14, v14, v8
const/4 v15, 0x1
if-ne v14, v15, :cond_12f
add-int/lit8 v14, v9, 0x3
aget-object v14, v11, v14
aget-byte v14, v14, v8
const/4 v15, 0x1
if-ne v14, v15, :cond_12f
add-int/lit8 v14, v9, 0x4
aget-object v14, v11, v14
aget-byte v14, v14, v8
const/4 v15, 0x1
if-ne v14, v15, :cond_12f
add-int/lit8 v14, v9, 0x5
aget-object v14, v11, v14
aget-byte v14, v14, v8
if-nez v14, :cond_12f
add-int/lit8 v14, v9, 0x6
aget-object v14, v11, v14
aget-byte v14, v14, v8
const/4 v15, 0x1
if-ne v14, v15, :cond_12f
add-int/lit8 v14, v9, -0x4
.line 12098
invoke-static {v11, v8, v14, v9}, Lcom/google/zxing/qrcode/b/d;->a([[BIII)Z
move-result v14
if-nez v14, :cond_12d
add-int/lit8 v14, v9, 0x7
add-int/lit8 v15, v9, 0xb
invoke-static {v11, v8, v14, v15}, Lcom/google/zxing/qrcode/b/d;->a([[BIII)Z
move-result v14
if-eqz v14, :cond_12f
.line 12099
:cond_12d
add-int/lit8 v4, v4, 0x1
.line 12077
:cond_12f
add-int/lit8 v8, v8, 0x1
goto/16 :goto_84
.line 12076
:cond_133
add-int/lit8 v8, v9, 0x1
move v9, v8
move v8, v4
goto/16 :goto_7c
.line 12103
:cond_139
mul-int/lit8 v4, v8, 0x28
.line 8060
add-int/2addr v10, v4
.line 15133
const/4 v8, 0x0
.line 16055
move-object/from16 v0, p3
iget-object v11, v0, Lcom/google/zxing/qrcode/b/b;->bpZ:[[B
.line 17044
move-object/from16 v0, p3
iget v12, v0, Lcom/google/zxing/qrcode/b/b;->width:I
.line 18040
move-object/from16 v0, p3
iget v13, v0, Lcom/google/zxing/qrcode/b/b;->height:I
.line 15137
const/4 v4, 0x0
move v9, v4
:goto_14b
if-ge v9, v13, :cond_169
.line 15138
aget-object v14, v11, v9
.line 15139
const/4 v4, 0x0
move/from16 v18, v4
move v4, v8
move/from16 v8, v18
:goto_155
if-ge v8, v12, :cond_164
.line 15140
aget-byte v15, v14, v8
const/16 v16, 0x1
move/from16 v0, v16
if-ne v15, v0, :cond_161
.line 15141
add-int/lit8 v4, v4, 0x1
.line 15139
:cond_161
add-int/lit8 v8, v8, 0x1
goto :goto_155
.line 15137
:cond_164
add-int/lit8 v8, v9, 0x1
move v9, v8
move v8, v4
goto :goto_14b
.line 19040
:cond_169
move-object/from16 v0, p3
iget v4, v0, Lcom/google/zxing/qrcode/b/b;->height:I
.line 19044
move-object/from16 v0, p3
iget v9, v0, Lcom/google/zxing/qrcode/b/b;->width:I
.line 15145
mul-int/2addr v4, v9
.line 15146
shl-int/lit8 v8, v8, 0x1
sub-int/2addr v8, v4
invoke-static {v8}, Ljava/lang/Math;->abs(I)I
move-result v8
mul-int/lit8 v8, v8, 0xa
div-int v4, v8, v4
.line 15147
mul-int/lit8 v4, v4, 0xa
.line 8061
add-int/2addr v4, v10
.line 264
if-ge v4, v7, :cond_18b
move v6, v4
move v4, v5
.line 261
:goto_184
add-int/lit8 v5, v5, 0x1
move v7, v6
move v6, v4
goto/16 :goto_5
.line 269
:cond_18a
return v6
:cond_18b
move v4, v6
move v6, v7
goto :goto_184
.end method
.method private static a(Lcom/google/zxing/qrcode/decoder/Mode;Lcom/google/zxing/common/a;Lcom/google/zxing/common/a;Lcom/google/zxing/qrcode/decoder/g;)I
.registers 6
.prologue
.line 185
.line 7048
iget v0, p1, Lcom/google/zxing/common/a;->size:I
.line 185
invoke-virtual {p0, p3}, Lcom/google/zxing/qrcode/decoder/Mode;->getCharacterCountBits(Lcom/google/zxing/qrcode/decoder/g;)I
move-result v1
add-int/2addr v0, v1
.line 8048
iget v1, p2, Lcom/google/zxing/common/a;->size:I
.line 185
add-int/2addr v0, v1
return v0
.end method
.method private static a(Lcom/google/zxing/common/a;III)Lcom/google/zxing/common/a;
.registers 20
.prologue
.line 396
invoke-virtual/range {p0 .. p0}, Lcom/google/zxing/common/a;->getSizeInBytes()I
move-result v1
move/from16 v0, p2
if-eq v1, v0, :cond_10
.line 397
new-instance v1, Lcom/google/zxing/WriterException;
const-string v2, "Number of bits and data bytes does not match"
invoke-direct {v1, v2}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
throw v1
.line 402
:cond_10
const/4 v4, 0x0
.line 403
const/4 v3, 0x0
.line 404
const/4 v2, 0x0
.line 407
new-instance v6, Ljava/util/ArrayList;
move/from16 v0, p3
invoke-direct {v6, v0}, Ljava/util/ArrayList;-><init>(I)V
.line 409
const/4 v1, 0x0
move v5, v4
move v4, v3
move v3, v2
:goto_1e
move/from16 v0, p3
if-ge v1, v0, :cond_aa
.line 410
const/4 v2, 0x1
new-array v7, v2, [I
.line 411
const/4 v2, 0x1
new-array v2, v2, [I
.line 24340
move/from16 v0, p3
if-lt v1, v0, :cond_34
.line 24341
new-instance v1, Lcom/google/zxing/WriterException;
const-string v2, "Block ID too large"
invoke-direct {v1, v2}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
throw v1
.line 24344
:cond_34
rem-int v8, p1, p3
.line 24346
sub-int v9, p3, v8
.line 24348
div-int v10, p1, p3
.line 24350
add-int/lit8 v11, v10, 0x1
.line 24352
div-int v12, p2, p3
.line 24354
add-int/lit8 v13, v12, 0x1
.line 24356
sub-int/2addr v10, v12
.line 24358
sub-int/2addr v11, v13
.line 24361
if-eq v10, v11, :cond_4c
.line 24362
new-instance v1, Lcom/google/zxing/WriterException;
const-string v2, "EC bytes mismatch"
invoke-direct {v1, v2}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
throw v1
.line 24365
:cond_4c
add-int v14, v9, v8
move/from16 v0, p3
if-eq v0, v14, :cond_5a
.line 24366
new-instance v1, Lcom/google/zxing/WriterException;
const-string v2, "RS blocks mismatch"
invoke-direct {v1, v2}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
throw v1
.line 24369
:cond_5a
add-int v14, v12, v10
mul-int/2addr v14, v9
add-int v15, v13, v11
mul-int/2addr v8, v15
add-int/2addr v8, v14
move/from16 v0, p1
if-eq v0, v8, :cond_6d
.line 24374
new-instance v1, Lcom/google/zxing/WriterException;
const-string v2, "Total bytes mismatch"
invoke-direct {v1, v2}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
throw v1
.line 24377
:cond_6d
if-ge v1, v9, :cond_a3
.line 24378
const/4 v8, 0x0
aput v12, v7, v8
.line 24379
const/4 v8, 0x0
aput v10, v2, v8
.line 416
:goto_75
const/4 v8, 0x0
aget v8, v7, v8
.line 417
new-array v9, v8, [B
.line 418
shl-int/lit8 v10, v5, 0x3
move-object/from16 v0, p0
invoke-virtual {v0, v10, v9, v8}, Lcom/google/zxing/common/a;->a(I[BI)V
.line 419
const/4 v10, 0x0
aget v2, v2, v10
invoke-static {v9, v2}, Lcom/google/zxing/qrcode/b/c;->m([BI)[B
move-result-object v2
.line 420
new-instance v10, Lcom/google/zxing/qrcode/b/a;
invoke-direct {v10, v9, v2}, Lcom/google/zxing/qrcode/b/a;-><init>([B[B)V
invoke-interface {v6, v10}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
.line 422
invoke-static {v4, v8}, Ljava/lang/Math;->max(II)I
move-result v4
.line 423
array-length v2, v2
invoke-static {v3, v2}, Ljava/lang/Math;->max(II)I
move-result v2
.line 424
const/4 v3, 0x0
aget v3, v7, v3
add-int/2addr v3, v5
.line 409
add-int/lit8 v1, v1, 0x1
move v5, v3
move v3, v2
goto/16 :goto_1e
.line 24381
:cond_a3
const/4 v8, 0x0
aput v13, v7, v8
.line 24382
const/4 v8, 0x0
aput v11, v2, v8
goto :goto_75
.line 426
:cond_aa
move/from16 v0, p2
if-eq v0, v5, :cond_b6
.line 427
new-instance v1, Lcom/google/zxing/WriterException;
const-string v2, "Data bytes does not match offset"
invoke-direct {v1, v2}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
throw v1
.line 430
:cond_b6
new-instance v5, Lcom/google/zxing/common/a;
invoke-direct {v5}, Lcom/google/zxing/common/a;-><init>()V
.line 433
const/4 v1, 0x0
move v2, v1
:goto_bd
if-ge v2, v4, :cond_e0
.line 434
invoke-interface {v6}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v7
:cond_c3
:goto_c3
invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_dc
invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/zxing/qrcode/b/a;
.line 25030
iget-object v1, v1, Lcom/google/zxing/qrcode/b/a;->bpX:[B
.line 436
array-length v8, v1
if-ge v2, v8, :cond_c3
.line 437
aget-byte v1, v1, v2
const/16 v8, 0x8
invoke-virtual {v5, v1, v8}, Lcom/google/zxing/common/a;->au(II)V
goto :goto_c3
.line 433
:cond_dc
add-int/lit8 v1, v2, 0x1
move v2, v1
goto :goto_bd
.line 442
:cond_e0
const/4 v1, 0x0
move v2, v1
:goto_e2
if-ge v2, v3, :cond_105
.line 443
invoke-interface {v6}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v4
:cond_e8
:goto_e8
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_101
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/zxing/qrcode/b/a;
.line 25034
iget-object v1, v1, Lcom/google/zxing/qrcode/b/a;->bpY:[B
.line 445
array-length v7, v1
if-ge v2, v7, :cond_e8
.line 446
aget-byte v1, v1, v2
const/16 v7, 0x8
invoke-virtual {v5, v1, v7}, Lcom/google/zxing/common/a;->au(II)V
goto :goto_e8
.line 442
:cond_101
add-int/lit8 v1, v2, 0x1
move v2, v1
goto :goto_e2
.line 450
:cond_105
invoke-virtual {v5}, Lcom/google/zxing/common/a;->getSizeInBytes()I
move-result v1
move/from16 v0, p1
if-eq v0, v1, :cond_138
.line 451
new-instance v1, Lcom/google/zxing/WriterException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Interleaving error: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
move/from16 v0, p1
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, " and "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
.line 452
invoke-virtual {v5}, Lcom/google/zxing/common/a;->getSizeInBytes()I
move-result v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, " differ."
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
throw v1
.line 455
:cond_138
return-object v5
.end method
.method public static a(Ljava/lang/String;Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;Ljava/util/Map;)Lcom/google/zxing/qrcode/b/f;
.registers 15
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;",
"Ljava/util/Map",
"<",
"Lcom/google/zxing/EncodeHintType;",
"*>;)",
"Lcom/google/zxing/qrcode/b/f;"
}
.end annotation
.prologue
const/16 v11, 0x8
const/4 v10, 0x4
const/4 v6, -0x1
const/4 v2, 0x1
const/4 v5, 0x0
.line 80
const-string v0, "ISO-8859-1"
.line 81
if-eqz p2, :cond_84
sget-object v1, Lcom/google/zxing/EncodeHintType;->CHARACTER_SET:Lcom/google/zxing/EncodeHintType;
invoke-interface {p2, v1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_84
move v7, v2
.line 82
:goto_13
if-eqz v7, :cond_1f
.line 83
sget-object v0, Lcom/google/zxing/EncodeHintType;->CHARACTER_SET:Lcom/google/zxing/EncodeHintType;
invoke-interface {p2, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
.line 1208
:cond_1f
const-string v1, "Shift_JIS"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_86
invoke-static {p0}, Lcom/google/zxing/qrcode/b/c;->fH(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_86
.line 1210
sget-object v1, Lcom/google/zxing/qrcode/decoder/Mode;->KANJI:Lcom/google/zxing/qrcode/decoder/Mode;
.line 92
:goto_2f
new-instance v3, Lcom/google/zxing/common/a;
invoke-direct {v3}, Lcom/google/zxing/common/a;-><init>()V
.line 95
sget-object v4, Lcom/google/zxing/qrcode/decoder/Mode;->BYTE:Lcom/google/zxing/qrcode/decoder/Mode;
if-ne v1, v4, :cond_58
if-nez v7, :cond_42
const-string v4, "ISO-8859-1"
invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_58
.line 96
:cond_42
invoke-static {v0}, Lcom/google/zxing/common/CharacterSetECI;->getCharacterSetECIByName(Ljava/lang/String;)Lcom/google/zxing/common/CharacterSetECI;
move-result-object v4
.line 97
if-eqz v4, :cond_58
.line 1605
sget-object v7, Lcom/google/zxing/qrcode/decoder/Mode;->ECI:Lcom/google/zxing/qrcode/decoder/Mode;
invoke-virtual {v7}, Lcom/google/zxing/qrcode/decoder/Mode;->getBits()I
move-result v7
invoke-virtual {v3, v7, v10}, Lcom/google/zxing/common/a;->au(II)V
.line 1607
invoke-virtual {v4}, Lcom/google/zxing/common/CharacterSetECI;->getValue()I
move-result v4
invoke-virtual {v3, v4, v11}, Lcom/google/zxing/common/a;->au(II)V
.line 2477
:cond_58
invoke-virtual {v1}, Lcom/google/zxing/qrcode/decoder/Mode;->getBits()I
move-result v4
invoke-virtual {v3, v4, v10}, Lcom/google/zxing/common/a;->au(II)V
.line 107
new-instance v4, Lcom/google/zxing/common/a;
invoke-direct {v4}, Lcom/google/zxing/common/a;-><init>()V
.line 2499
sget-object v7, Lcom/google/zxing/qrcode/b/c$1;->bpw:[I
invoke-virtual {v1}, Lcom/google/zxing/qrcode/decoder/Mode;->ordinal()I
move-result v8
aget v7, v7, v8
packed-switch v7, :pswitch_data_26a
.line 2513
new-instance v0, Lcom/google/zxing/WriterException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Invalid mode: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
throw v0
:cond_84
move v7, v5
.line 81
goto :goto_13
:cond_86
move v4, v5
move v1, v5
move v3, v5
.line 1214
:goto_89
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v8
if-ge v4, v8, :cond_aa
.line 1215
invoke-virtual {p0, v4}, Ljava/lang/String;->charAt(I)C
move-result v8
.line 1216
const/16 v9, 0x30
if-lt v8, v9, :cond_9f
const/16 v9, 0x39
if-gt v8, v9, :cond_9f
move v3, v2
.line 1214
:goto_9c
add-int/lit8 v4, v4, 0x1
goto :goto_89
.line 1218
:cond_9f
invoke-static {v8}, Lcom/google/zxing/qrcode/b/c;->el(I)I
move-result v1
if-eq v1, v6, :cond_a7
move v1, v2
.line 1219
goto :goto_9c
.line 1221
:cond_a7
sget-object v1, Lcom/google/zxing/qrcode/decoder/Mode;->BYTE:Lcom/google/zxing/qrcode/decoder/Mode;
goto :goto_2f
.line 1224
:cond_aa
if-eqz v1, :cond_af
.line 1225
sget-object v1, Lcom/google/zxing/qrcode/decoder/Mode;->ALPHANUMERIC:Lcom/google/zxing/qrcode/decoder/Mode;
goto :goto_2f
.line 1227
:cond_af
if-eqz v3, :cond_b5
.line 1228
sget-object v1, Lcom/google/zxing/qrcode/decoder/Mode;->NUMERIC:Lcom/google/zxing/qrcode/decoder/Mode;
goto/16 :goto_2f
.line 1230
:cond_b5
sget-object v1, Lcom/google/zxing/qrcode/decoder/Mode;->BYTE:Lcom/google/zxing/qrcode/decoder/Mode;
goto/16 :goto_2f
.line 2518
:pswitch_b9
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
.line 2520
:goto_bd
if-ge v5, v0, :cond_1aa
.line 2521
invoke-interface {p0, v5}, Ljava/lang/CharSequence;->charAt(I)C
move-result v6
add-int/lit8 v6, v6, -0x30
.line 2522
add-int/lit8 v7, v5, 0x2
if-ge v7, v0, :cond_e7
.line 2524
add-int/lit8 v7, v5, 0x1
invoke-interface {p0, v7}, Ljava/lang/CharSequence;->charAt(I)C
move-result v7
add-int/lit8 v7, v7, -0x30
.line 2525
add-int/lit8 v8, v5, 0x2
invoke-interface {p0, v8}, Ljava/lang/CharSequence;->charAt(I)C
move-result v8
add-int/lit8 v8, v8, -0x30
.line 2526
mul-int/lit8 v6, v6, 0x64
mul-int/lit8 v7, v7, 0xa
add-int/2addr v6, v7
add-int/2addr v6, v8
const/16 v7, 0xa
invoke-virtual {v4, v6, v7}, Lcom/google/zxing/common/a;->au(II)V
.line 2527
add-int/lit8 v5, v5, 0x3
.line 2528
goto :goto_bd
:cond_e7
add-int/lit8 v7, v5, 0x1
if-ge v7, v0, :cond_fd
.line 2530
add-int/lit8 v7, v5, 0x1
invoke-interface {p0, v7}, Ljava/lang/CharSequence;->charAt(I)C
move-result v7
add-int/lit8 v7, v7, -0x30
.line 2531
mul-int/lit8 v6, v6, 0xa
add-int/2addr v6, v7
const/4 v7, 0x7
invoke-virtual {v4, v6, v7}, Lcom/google/zxing/common/a;->au(II)V
.line 2532
add-int/lit8 v5, v5, 0x2
.line 2533
goto :goto_bd
.line 2535
:cond_fd
invoke-virtual {v4, v6, v10}, Lcom/google/zxing/common/a;->au(II)V
.line 2536
add-int/lit8 v5, v5, 0x1
.line 2538
goto :goto_bd
.line 2542
:pswitch_103
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
.line 2544
:goto_107
if-ge v5, v0, :cond_1aa
.line 2545
invoke-interface {p0, v5}, Ljava/lang/CharSequence;->charAt(I)C
move-result v7
invoke-static {v7}, Lcom/google/zxing/qrcode/b/c;->el(I)I
move-result v7
.line 2546
if-ne v7, v6, :cond_119
.line 2547
new-instance v0, Lcom/google/zxing/WriterException;
invoke-direct {v0}, Lcom/google/zxing/WriterException;-><init>()V
throw v0
.line 2549
:cond_119
add-int/lit8 v8, v5, 0x1
if-ge v8, v0, :cond_13a
.line 2550
add-int/lit8 v8, v5, 0x1
invoke-interface {p0, v8}, Ljava/lang/CharSequence;->charAt(I)C
move-result v8
invoke-static {v8}, Lcom/google/zxing/qrcode/b/c;->el(I)I
move-result v8
.line 2551
if-ne v8, v6, :cond_12f
.line 2552
new-instance v0, Lcom/google/zxing/WriterException;
invoke-direct {v0}, Lcom/google/zxing/WriterException;-><init>()V
throw v0
.line 2555
:cond_12f
mul-int/lit8 v7, v7, 0x2d
add-int/2addr v7, v8
const/16 v8, 0xb
invoke-virtual {v4, v7, v8}, Lcom/google/zxing/common/a;->au(II)V
.line 2556
add-int/lit8 v5, v5, 0x2
.line 2557
goto :goto_107
.line 2559
:cond_13a
const/4 v8, 0x6
invoke-virtual {v4, v7, v8}, Lcom/google/zxing/common/a;->au(II)V
.line 2560
add-int/lit8 v5, v5, 0x1
.line 2562
goto :goto_107
.line 2569
:pswitch_141
:try_start_141
invoke-virtual {p0, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
:try_end_144
.catch Ljava/io/UnsupportedEncodingException; {:try_start_141 .. :try_end_144} :catch_150
move-result-object v0
.line 2573
array-length v6, v0
:goto_146
if-ge v5, v6, :cond_1aa
aget-byte v7, v0, v5
.line 2574
invoke-virtual {v4, v7, v11}, Lcom/google/zxing/common/a;->au(II)V
.line 2573
add-int/lit8 v5, v5, 0x1
goto :goto_146
.line 2570
:catch_150
move-exception v0
.line 2571
new-instance v1, Lcom/google/zxing/WriterException;
invoke-direct {v1, v0}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/Throwable;)V
throw v1
.line 2581
:pswitch_157
:try_start_157
const-string v0, "Shift_JIS"
invoke-virtual {p0, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
:try_end_15c
.catch Ljava/io/UnsupportedEncodingException; {:try_start_157 .. :try_end_15c} :catch_185
move-result-object v7
.line 2585
array-length v8, v7
.line 2586
:goto_15e
if-ge v5, v8, :cond_1aa
.line 2587
aget-byte v0, v7, v5
and-int/lit16 v0, v0, 0xff
.line 2588
add-int/lit8 v9, v5, 0x1
aget-byte v9, v7, v9
and-int/lit16 v9, v9, 0xff
.line 2589
shl-int/lit8 v0, v0, 0x8
or-int/2addr v0, v9
.line 2591
const v9, 0x8140
if-lt v0, v9, :cond_18c
const v9, 0x9ffc
if-gt v0, v9, :cond_18c
.line 2592
const v9, 0x8140
sub-int/2addr v0, v9
.line 2596
:goto_17b
if-ne v0, v6, :cond_19b
.line 2597
new-instance v0, Lcom/google/zxing/WriterException;
const-string v1, "Invalid byte sequence"
invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
throw v0
.line 2582
:catch_185
move-exception v0
.line 2583
new-instance v1, Lcom/google/zxing/WriterException;
invoke-direct {v1, v0}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/Throwable;)V
throw v1
.line 2593
:cond_18c
const v9, 0xe040
if-lt v0, v9, :cond_267
const v9, 0xebbf
if-gt v0, v9, :cond_267
.line 2594
const v9, 0xc140
sub-int/2addr v0, v9
goto :goto_17b
.line 2599
:cond_19b
shr-int/lit8 v9, v0, 0x8
mul-int/lit16 v9, v9, 0xc0
and-int/lit16 v0, v0, 0xff
add-int/2addr v0, v9
.line 2600
const/16 v9, 0xd
invoke-virtual {v4, v0, v9}, Lcom/google/zxing/common/a;->au(II)V
.line 2586
add-int/lit8 v5, v5, 0x2
goto :goto_15e
.line 111
:cond_1aa
if-eqz p2, :cond_1d8
sget-object v0, Lcom/google/zxing/EncodeHintType;->QR_VERSION:Lcom/google/zxing/EncodeHintType;
invoke-interface {p2, v0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1d8
.line 112
sget-object v0, Lcom/google/zxing/EncodeHintType;->QR_VERSION:Lcom/google/zxing/EncodeHintType;
invoke-interface {p2, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
.line 113
invoke-static {v0}, Lcom/google/zxing/qrcode/decoder/g;->ej(I)Lcom/google/zxing/qrcode/decoder/g;
move-result-object v0
.line 114
invoke-static {v1, v3, v4, v0}, Lcom/google/zxing/qrcode/b/c;->a(Lcom/google/zxing/qrcode/decoder/Mode;Lcom/google/zxing/common/a;Lcom/google/zxing/common/a;Lcom/google/zxing/qrcode/decoder/g;)I
move-result v5
.line 115
invoke-static {v5, v0, p1}, Lcom/google/zxing/qrcode/b/c;->a(ILcom/google/zxing/qrcode/decoder/g;Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;)Z
move-result v5
if-nez v5, :cond_1ec
.line 116
new-instance v0, Lcom/google/zxing/WriterException;
const-string v1, "Data too big for requested version"
invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
throw v0
.line 3173
:cond_1d8
invoke-static {v2}, Lcom/google/zxing/qrcode/decoder/g;->ej(I)Lcom/google/zxing/qrcode/decoder/g;
move-result-object v0
invoke-static {v1, v3, v4, v0}, Lcom/google/zxing/qrcode/b/c;->a(Lcom/google/zxing/qrcode/decoder/Mode;Lcom/google/zxing/common/a;Lcom/google/zxing/common/a;Lcom/google/zxing/qrcode/decoder/g;)I
move-result v0
.line 3174
invoke-static {v0, p1}, Lcom/google/zxing/qrcode/b/c;->a(ILcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;)Lcom/google/zxing/qrcode/decoder/g;
move-result-object v0
.line 3177
invoke-static {v1, v3, v4, v0}, Lcom/google/zxing/qrcode/b/c;->a(Lcom/google/zxing/qrcode/decoder/Mode;Lcom/google/zxing/common/a;Lcom/google/zxing/common/a;Lcom/google/zxing/qrcode/decoder/g;)I
move-result v0
.line 3178
invoke-static {v0, p1}, Lcom/google/zxing/qrcode/b/c;->a(ILcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;)Lcom/google/zxing/qrcode/decoder/g;
move-result-object v0
.line 122
:cond_1ec
new-instance v5, Lcom/google/zxing/common/a;
invoke-direct {v5}, Lcom/google/zxing/common/a;-><init>()V
.line 123
invoke-virtual {v5, v3}, Lcom/google/zxing/common/a;->a(Lcom/google/zxing/common/a;)V
.line 125
sget-object v3, Lcom/google/zxing/qrcode/decoder/Mode;->BYTE:Lcom/google/zxing/qrcode/decoder/Mode;
if-ne v1, v3, :cond_224
invoke-virtual {v4}, Lcom/google/zxing/common/a;->getSizeInBytes()I
move-result v3
.line 3485
:goto_1fc
invoke-virtual {v1, v0}, Lcom/google/zxing/qrcode/decoder/Mode;->getCharacterCountBits(Lcom/google/zxing/qrcode/decoder/g;)I
move-result v6
.line 3486
shl-int v7, v2, v6
if-lt v3, v7, :cond_229
.line 3487
new-instance v0, Lcom/google/zxing/WriterException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
const-string v3, " is bigger than "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
shl-int/2addr v2, v6
add-int/lit8 v2, v2, -0x1
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
throw v0
.line 125
:cond_224
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v3
goto :goto_1fc
.line 3489
:cond_229
invoke-virtual {v5, v3, v6}, Lcom/google/zxing/common/a;->au(II)V
.line 128
invoke-virtual {v5, v4}, Lcom/google/zxing/common/a;->a(Lcom/google/zxing/common/a;)V
.line 130
invoke-virtual {v0, p1}, Lcom/google/zxing/qrcode/decoder/g;->a(Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;)Lcom/google/zxing/qrcode/decoder/i;
move-result-object v2
.line 4074
iget v3, v0, Lcom/google/zxing/qrcode/decoder/g;->bpJ:I
.line 131
invoke-virtual {v2}, Lcom/google/zxing/qrcode/decoder/i;->FK()I
move-result v4
sub-int/2addr v3, v4
.line 134
invoke-static {v3, v5}, Lcom/google/zxing/qrcode/b/c;->a(ILcom/google/zxing/common/a;)V
.line 5074
iget v4, v0, Lcom/google/zxing/qrcode/decoder/g;->bpJ:I
.line 140
invoke-virtual {v2}, Lcom/google/zxing/qrcode/decoder/i;->FJ()I
move-result v2
.line 137
invoke-static {v5, v4, v3, v2}, Lcom/google/zxing/qrcode/b/c;->a(Lcom/google/zxing/common/a;III)Lcom/google/zxing/common/a;
move-result-object v2
.line 142
new-instance v3, Lcom/google/zxing/qrcode/b/f;
invoke-direct {v3}, Lcom/google/zxing/qrcode/b/f;-><init>()V
.line 5088
iput-object p1, v3, Lcom/google/zxing/qrcode/b/f;->bqg:Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;
.line 6084
iput-object v1, v3, Lcom/google/zxing/qrcode/b/f;->bqf:Lcom/google/zxing/qrcode/decoder/Mode;
.line 6092
iput-object v0, v3, Lcom/google/zxing/qrcode/b/f;->Mp:Lcom/google/zxing/qrcode/decoder/g;
.line 149
invoke-virtual {v0}, Lcom/google/zxing/qrcode/decoder/g;->FH()I
move-result v1
.line 150
new-instance v4, Lcom/google/zxing/qrcode/b/b;
invoke-direct {v4, v1, v1}, Lcom/google/zxing/qrcode/b/b;-><init>(II)V
.line 151
invoke-static {v2, p1, v0, v4}, Lcom/google/zxing/qrcode/b/c;->a(Lcom/google/zxing/common/a;Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;Lcom/google/zxing/qrcode/decoder/g;Lcom/google/zxing/qrcode/b/b;)I
move-result v1
.line 6096
iput v1, v3, Lcom/google/zxing/qrcode/b/f;->bqh:I
.line 155
invoke-static {v2, p1, v0, v1, v4}, Lcom/google/zxing/qrcode/b/e;->a(Lcom/google/zxing/common/a;Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;Lcom/google/zxing/qrcode/decoder/g;ILcom/google/zxing/qrcode/b/b;)V
.line 6100
iput-object v4, v3, Lcom/google/zxing/qrcode/b/f;->bqi:Lcom/google/zxing/qrcode/b/b;
.line 158
return-object v3
:cond_267
move v0, v6
goto/16 :goto_17b
.line 2499
:pswitch_data_26a
.packed-switch 0x1
:pswitch_b9
:pswitch_103
:pswitch_141
:pswitch_157
.end packed-switch
.end method
.method private static a(ILcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;)Lcom/google/zxing/qrcode/decoder/g;
.registers 5
.prologue
.line 273
const/4 v0, 0x1
:goto_1
const/16 v1, 0x28
if-gt v0, v1, :cond_13
.line 274
invoke-static {v0}, Lcom/google/zxing/qrcode/decoder/g;->ej(I)Lcom/google/zxing/qrcode/decoder/g;
move-result-object v1
.line 275
invoke-static {p0, v1, p1}, Lcom/google/zxing/qrcode/b/c;->a(ILcom/google/zxing/qrcode/decoder/g;Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;)Z
move-result v2
if-eqz v2, :cond_10
.line 276
return-object v1
.line 273
:cond_10
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 279
:cond_13
new-instance v0, Lcom/google/zxing/WriterException;
const-string v1, "Data too big"
invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private static a(ILcom/google/zxing/common/a;)V
.registers 7
.prologue
const/16 v4, 0x8
const/4 v0, 0x0
.line 303
shl-int/lit8 v2, p0, 0x3
.line 20048
iget v1, p1, Lcom/google/zxing/common/a;->size:I
.line 304
if-le v1, v2, :cond_2a
.line 305
new-instance v0, Lcom/google/zxing/WriterException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v3, "data bits cannot fit in the QR Code"
invoke-direct {v1, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 21048
iget v3, p1, Lcom/google/zxing/common/a;->size:I
.line 305
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
const-string v3, " > "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
throw v0
:cond_2a
move v1, v0
.line 308
:goto_2b
const/4 v3, 0x4
if-ge v1, v3, :cond_38
.line 22048
iget v3, p1, Lcom/google/zxing/common/a;->size:I
.line 308
if-ge v3, v2, :cond_38
.line 309
invoke-virtual {p1, v0}, Lcom/google/zxing/common/a;->aX(Z)V
.line 308
add-int/lit8 v1, v1, 0x1
goto :goto_2b
.line 23048
:cond_38
iget v1, p1, Lcom/google/zxing/common/a;->size:I
.line 313
and-int/lit8 v1, v1, 0x7
.line 314
if-lez v1, :cond_46
.line 315
:goto_3e
if-ge v1, v4, :cond_46
.line 316
invoke-virtual {p1, v0}, Lcom/google/zxing/common/a;->aX(Z)V
.line 315
add-int/lit8 v1, v1, 0x1
goto :goto_3e
.line 320
:cond_46
invoke-virtual {p1}, Lcom/google/zxing/common/a;->getSizeInBytes()I
move-result v1
sub-int v3, p0, v1
move v1, v0
.line 321
:goto_4d
if-ge v1, v3, :cond_5f
.line 322
and-int/lit8 v0, v1, 0x1
if-nez v0, :cond_5c
const/16 v0, 0xec
:goto_55
invoke-virtual {p1, v0, v4}, Lcom/google/zxing/common/a;->au(II)V
.line 321
add-int/lit8 v0, v1, 0x1
move v1, v0
goto :goto_4d
.line 322
:cond_5c
const/16 v0, 0x11
goto :goto_55
.line 24048
:cond_5f
iget v0, p1, Lcom/google/zxing/common/a;->size:I
.line 324
if-eq v0, v2, :cond_6b
.line 325
new-instance v0, Lcom/google/zxing/WriterException;
const-string v1, "Bits size does not equal capacity"
invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
throw v0
.line 327
:cond_6b
return-void
.end method
.method private static a(ILcom/google/zxing/qrcode/decoder/g;Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;)Z
.registers 5
.prologue
.line 289
.line 19074
iget v0, p1, Lcom/google/zxing/qrcode/decoder/g;->bpJ:I
.line 291
invoke-virtual {p1, p2}, Lcom/google/zxing/qrcode/decoder/g;->a(Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;)Lcom/google/zxing/qrcode/decoder/i;
move-result-object v1
.line 292
invoke-virtual {v1}, Lcom/google/zxing/qrcode/decoder/i;->FK()I
move-result v1
.line 294
sub-int/2addr v0, v1
.line 295
add-int/lit8 v1, p0, 0x7
div-int/lit8 v1, v1, 0x8
.line 296
if-lt v0, v1, :cond_13
const/4 v0, 0x1
:goto_12
return v0
:cond_13
const/4 v0, 0x0
goto :goto_12
.end method
.method private static el(I)I
.registers 2
.prologue
.line 193
const/16 v0, 0x60
if-ge p0, v0, :cond_9
.line 194
sget-object v0, Lcom/google/zxing/qrcode/b/c;->bqa:[I
aget v0, v0, p0
.line 196
:goto_8
return v0
:cond_9
const/4 v0, -0x1
goto :goto_8
.end method
.method private static fH(Ljava/lang/String;)Z
.registers 7
.prologue
const/4 v0, 0x0
.line 236
:try_start_1
const-string v1, "Shift_JIS"
invoke-virtual {p0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
:try_end_6
.catch Ljava/io/UnsupportedEncodingException; {:try_start_1 .. :try_end_6} :catch_29
move-result-object v2
.line 240
array-length v3, v2
.line 241
rem-int/lit8 v1, v3, 0x2
if-eqz v1, :cond_d
.line 250
:cond_c
:goto_c
return v0
:cond_d
move v1, v0
.line 244
:goto_e
if-ge v1, v3, :cond_27
.line 245
aget-byte v4, v2, v1
and-int/lit16 v4, v4, 0xff
.line 246
const/16 v5, 0x81
if-lt v4, v5, :cond_1c
const/16 v5, 0x9f
if-le v4, v5, :cond_24
:cond_1c
const/16 v5, 0xe0
if-lt v4, v5, :cond_c
const/16 v5, 0xeb
if-gt v4, v5, :cond_c
.line 244
:cond_24
add-int/lit8 v1, v1, 0x2
goto :goto_e
.line 250
:cond_27
const/4 v0, 0x1
goto :goto_c
.line 238
:catch_29
move-exception v1
goto :goto_c
.end method
.method private static m([BI)[B
.registers 11
.prologue
const/4 v8, 0x1
const/4 v0, 0x0
.line 459
array-length v2, p0
.line 460
add-int v1, v2, p1
new-array v3, v1, [I
move v1, v0
.line 461
:goto_8
if-ge v1, v2, :cond_13
.line 462
aget-byte v4, p0, v1
and-int/lit16 v4, v4, 0xff
aput v4, v3, v1
.line 461
add-int/lit8 v1, v1, 0x1
goto :goto_8
.line 464
:cond_13
new-instance v1, Lcom/google/zxing/common/reedsolomon/d;
sget-object v4, Lcom/google/zxing/common/reedsolomon/a;->bpc:Lcom/google/zxing/common/reedsolomon/a;
invoke-direct {v1, v4}, Lcom/google/zxing/common/reedsolomon/d;-><init>(Lcom/google/zxing/common/reedsolomon/a;)V
.line 25053
if-nez p1, :cond_24
.line 25054
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "No error correction bytes"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 25056
:cond_24
array-length v4, v3
sub-int/2addr v4, p1
.line 25057
if-gtz v4, :cond_30
.line 25058
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "No data bytes provided"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 25060
:cond_30
invoke-virtual {v1, p1}, Lcom/google/zxing/common/reedsolomon/d;->eg(I)Lcom/google/zxing/common/reedsolomon/b;
move-result-object v5
.line 25061
new-array v6, v4, [I
.line 25062
invoke-static {v3, v0, v6, v0, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 25063
new-instance v7, Lcom/google/zxing/common/reedsolomon/b;
iget-object v1, v1, Lcom/google/zxing/common/reedsolomon/d;->bpj:Lcom/google/zxing/common/reedsolomon/a;
invoke-direct {v7, v1, v6}, Lcom/google/zxing/common/reedsolomon/b;-><init>(Lcom/google/zxing/common/reedsolomon/a;[I)V
.line 25064
invoke-virtual {v7, p1, v8}, Lcom/google/zxing/common/reedsolomon/b;->az(II)Lcom/google/zxing/common/reedsolomon/b;
move-result-object v1
.line 25065
invoke-virtual {v1, v5}, Lcom/google/zxing/common/reedsolomon/b;->c(Lcom/google/zxing/common/reedsolomon/b;)[Lcom/google/zxing/common/reedsolomon/b;
move-result-object v1
aget-object v1, v1, v8
.line 26070
iget-object v5, v1, Lcom/google/zxing/common/reedsolomon/b;->coefficients:[I
.line 25067
array-length v1, v5
sub-int v6, p1, v1
move v1, v0
.line 25068
:goto_50
if-ge v1, v6, :cond_59
.line 25069
add-int v7, v4, v1
aput v0, v3, v7
.line 25068
add-int/lit8 v1, v1, 0x1
goto :goto_50
.line 25071
:cond_59
add-int v1, v4, v6
array-length v4, v5
invoke-static {v5, v0, v3, v1, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 466
new-array v1, p1, [B
.line 467
:goto_61
if-ge v0, p1, :cond_6d
.line 468
add-int v4, v2, v0
aget v4, v3, v4
int-to-byte v4, v4
aput-byte v4, v1, v0
.line 467
add-int/lit8 v0, v0, 0x1
goto :goto_61
.line 470
:cond_6d
return-object v1
.end method