Code93Reader.smali
.class public final Lcom/google/zxing/oned/Code93Reader;
.super Lcom/google/zxing/oned/OneDReader;
.source "Code93Reader.java"
# static fields
.field private static final ALPHABET:[C
.field static final ALPHABET_STRING:Ljava/lang/String; = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%abcd*"
.field private static final ASTERISK_ENCODING:I
.field static final CHARACTER_ENCODINGS:[I
# instance fields
.field private final counters:[I
.field private final decodeRowResult:Ljava/lang/StringBuilder;
# direct methods
.method static constructor <clinit>()V
.registers 2
.line 41
const-string v0, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%abcd*"
invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C
move-result-object v0
sput-object v0, Lcom/google/zxing/oned/Code93Reader;->ALPHABET:[C
.line 47
const/16 v0, 0x30
new-array v0, v0, [I
fill-array-data v0, :array_18
.line 55
sput-object v0, Lcom/google/zxing/oned/Code93Reader;->CHARACTER_ENCODINGS:[I
const/16 v1, 0x2f
aget v0, v0, v1
sput v0, Lcom/google/zxing/oned/Code93Reader;->ASTERISK_ENCODING:I
return-void
:array_18
.array-data 4
0x114
0x148
0x144
0x142
0x128
0x124
0x122
0x150
0x112
0x10a
0x1a8
0x1a4
0x1a2
0x194
0x192
0x18a
0x168
0x164
0x162
0x134
0x11a
0x158
0x14c
0x146
0x12c
0x116
0x1b4
0x1b2
0x1ac
0x1a6
0x196
0x19a
0x16c
0x166
0x136
0x13a
0x12e
0x1d4
0x1d2
0x1ca
0x16e
0x176
0x1ae
0x126
0x1da
0x1d6
0x132
0x15e
.end array-data
.end method
.method public constructor <init>()V
.registers 3
.line 60
invoke-direct {p0}, Lcom/google/zxing/oned/OneDReader;-><init>()V
.line 61
new-instance v0, Ljava/lang/StringBuilder;
const/16 v1, 0x14
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
iput-object v0, p0, Lcom/google/zxing/oned/Code93Reader;->decodeRowResult:Ljava/lang/StringBuilder;
.line 62
const/4 v0, 0x6
new-array v0, v0, [I
iput-object v0, p0, Lcom/google/zxing/oned/Code93Reader;->counters:[I
.line 63
return-void
.end method
.method private static checkChecksums(Ljava/lang/CharSequence;)V
.registers 4
.param p0, "result" # Ljava/lang/CharSequence;
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/ChecksumException;
}
.end annotation
.line 267
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
.line 268
.local v0, "length":I
add-int/lit8 v1, v0, -0x2
const/16 v2, 0x14
invoke-static {p0, v1, v2}, Lcom/google/zxing/oned/Code93Reader;->checkOneChecksum(Ljava/lang/CharSequence;II)V
.line 269
add-int/lit8 v1, v0, -0x1
const/16 v2, 0xf
invoke-static {p0, v1, v2}, Lcom/google/zxing/oned/Code93Reader;->checkOneChecksum(Ljava/lang/CharSequence;II)V
.line 270
return-void
.end method
.method private static checkOneChecksum(Ljava/lang/CharSequence;II)V
.registers 8
.param p0, "result" # Ljava/lang/CharSequence;
.param p1, "checkPosition" # I
.param p2, "weightMax" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/ChecksumException;
}
.end annotation
.line 274
const/4 v0, 0x1
.line 275
.local v0, "weight":I
const/4 v1, 0x0
.line 276
.local v1, "total":I
add-int/lit8 v2, p1, -0x1
.local v2, "i":I
:goto_4
if-ltz v2, :cond_1b
.line 277
invoke-interface {p0, v2}, Ljava/lang/CharSequence;->charAt(I)C
move-result v3
const-string v4, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%abcd*"
invoke-virtual {v4, v3}, Ljava/lang/String;->indexOf(I)I
move-result v3
mul-int v3, v3, v0
add-int/2addr v1, v3
.line 278
add-int/lit8 v0, v0, 0x1
if-le v0, p2, :cond_18
.line 279
const/4 v0, 0x1
.line 276
:cond_18
add-int/lit8 v2, v2, -0x1
goto :goto_4
.line 282
.end local v2 # "i":I
:cond_1b
invoke-interface {p0, p1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v2
sget-object v3, Lcom/google/zxing/oned/Code93Reader;->ALPHABET:[C
rem-int/lit8 v4, v1, 0x2f
aget-char v3, v3, v4
if-ne v2, v3, :cond_28
.line 285
return-void
.line 283
:cond_28
invoke-static {}, Lcom/google/zxing/ChecksumException;->getChecksumInstance()Lcom/google/zxing/ChecksumException;
move-result-object v2
goto :goto_2e
:goto_2d
throw v2
:goto_2e
goto :goto_2d
.end method
.method private static decodeExtended(Ljava/lang/CharSequence;)Ljava/lang/String;
.registers 10
.param p0, "encoded" # Ljava/lang/CharSequence;
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/FormatException;
}
.end annotation
.line 198
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
.line 199
.local v0, "length":I
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1, v0}, Ljava/lang/StringBuilder;-><init>(I)V
.line 200
.local v1, "decoded":Ljava/lang/StringBuilder;
const/4 v2, 0x0
.local v2, "i":I
const/4 v3, 0x0
:goto_b
if-ge v2, v0, :cond_aa
.line 201
invoke-interface {p0, v2}, Ljava/lang/CharSequence;->charAt(I)C
move-result v4
.line 202
.local v3, "c":C
move v3, v4
const/16 v5, 0x61
if-lt v4, v5, :cond_a3
const/16 v4, 0x64
if-gt v3, v4, :cond_a3
.line 203
add-int/lit8 v4, v0, -0x1
if-ge v2, v4, :cond_9e
.line 206
add-int/lit8 v4, v2, 0x1
invoke-interface {p0, v4}, Ljava/lang/CharSequence;->charAt(I)C
move-result v4
.line 207
.local v4, "next":C
const/4 v5, 0x0
.line 208
.local v5, "decodedChar":C
const/16 v6, 0x4f
const/16 v7, 0x5a
const/16 v8, 0x41
packed-switch v3, :pswitch_data_b0
goto/16 :goto_97
.line 211
:pswitch_30
if-lt v4, v8, :cond_39
if-gt v4, v7, :cond_39
.line 212
add-int/lit8 v6, v4, 0x20
int-to-char v5, v6
goto/16 :goto_97
.line 214
:cond_39
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object v6
throw v6
.line 247
:pswitch_3e
if-lt v4, v8, :cond_46
if-gt v4, v6, :cond_46
.line 248
add-int/lit8 v6, v4, -0x20
int-to-char v5, v6
goto :goto_97
.line 249
:cond_46
if-ne v4, v7, :cond_4b
.line 250
const/16 v5, 0x3a
goto :goto_97
.line 252
:cond_4b
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object v6
throw v6
.line 226
:pswitch_50
if-lt v4, v8, :cond_5a
const/16 v8, 0x45
if-gt v4, v8, :cond_5a
.line 228
add-int/lit8 v6, v4, -0x26
int-to-char v5, v6
goto :goto_97
.line 229
:cond_5a
const/16 v8, 0x46
if-lt v4, v8, :cond_66
const/16 v8, 0x4a
if-gt v4, v8, :cond_66
.line 231
add-int/lit8 v6, v4, -0xb
int-to-char v5, v6
goto :goto_97
.line 232
:cond_66
const/16 v8, 0x4b
if-lt v4, v8, :cond_70
if-gt v4, v6, :cond_70
.line 234
add-int/lit8 v6, v4, 0x10
int-to-char v5, v6
goto :goto_97
.line 235
:cond_70
const/16 v6, 0x50
if-lt v4, v6, :cond_7c
const/16 v6, 0x53
if-gt v4, v6, :cond_7c
.line 237
add-int/lit8 v6, v4, 0x2b
int-to-char v5, v6
goto :goto_97
.line 238
:cond_7c
const/16 v6, 0x54
if-lt v4, v6, :cond_85
if-gt v4, v7, :cond_85
.line 240
const/16 v5, 0x7f
goto :goto_97
.line 242
:cond_85
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object v6
throw v6
.line 219
:pswitch_8a
if-lt v4, v8, :cond_92
if-gt v4, v7, :cond_92
.line 220
add-int/lit8 v6, v4, -0x40
int-to-char v5, v6
goto :goto_97
.line 222
:cond_92
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object v6
throw v6
.line 256
:goto_97
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 258
nop
.end local v4 # "next":C
.end local v5 # "decodedChar":C
add-int/lit8 v2, v2, 0x1
.line 259
goto :goto_a6
.line 204
:cond_9e
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object v4
throw v4
.line 260
:cond_a3
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 200
.end local v3 # "c":C
:goto_a6
add-int/lit8 v2, v2, 0x1
goto/16 :goto_b
.line 263
.end local v2 # "i":I
:cond_aa
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
return-object v2
nop
:pswitch_data_b0
.packed-switch 0x61
:pswitch_8a
:pswitch_50
:pswitch_3e
:pswitch_30
.end packed-switch
.end method
.method private findAsteriskPattern(Lcom/google/zxing/common/BitArray;)[I
.registers 15
.param p1, "row" # Lcom/google/zxing/common/BitArray;
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 132
invoke-virtual {p1}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v0
.line 133
.local v0, "width":I
const/4 v1, 0x0
invoke-virtual {p1, v1}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I
move-result v2
.line 135
.local v2, "rowOffset":I
iget-object v3, p0, Lcom/google/zxing/oned/Code93Reader;->counters:[I
invoke-static {v3, v1}, Ljava/util/Arrays;->fill([II)V
.line 136
iget-object v3, p0, Lcom/google/zxing/oned/Code93Reader;->counters:[I
.line 137
.local v3, "theCounters":[I
move v4, v2
.line 138
.local v4, "patternStart":I
const/4 v5, 0x0
.line 139
.local v5, "isWhite":Z
array-length v6, v3
.line 141
.local v6, "patternLength":I
const/4 v7, 0x0
.line 142
.local v7, "counterPosition":I
move v8, v2
.local v8, "i":I
:goto_15
if-ge v8, v0, :cond_58
.line 143
invoke-virtual {p1, v8}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result v9
const/4 v10, 0x1
if-eq v9, v5, :cond_24
.line 144
aget v9, v3, v7
add-int/2addr v9, v10
aput v9, v3, v7
goto :goto_55
.line 146
:cond_24
add-int/lit8 v9, v6, -0x1
if-ne v7, v9, :cond_4c
.line 147
invoke-static {v3}, Lcom/google/zxing/oned/Code93Reader;->toPattern([I)I
move-result v9
sget v11, Lcom/google/zxing/oned/Code93Reader;->ASTERISK_ENCODING:I
const/4 v12, 0x2
if-ne v9, v11, :cond_38
.line 148
new-array v9, v12, [I
aput v4, v9, v1
aput v8, v9, v10
return-object v9
.line 150
:cond_38
aget v9, v3, v1
aget v11, v3, v10
add-int/2addr v9, v11
add-int/2addr v4, v9
.line 151
add-int/lit8 v9, v7, -0x1
invoke-static {v3, v12, v3, v1, v9}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 152
add-int/lit8 v9, v7, -0x1
aput v1, v3, v9
.line 153
aput v1, v3, v7
.line 154
add-int/lit8 v7, v7, -0x1
goto :goto_4e
.line 156
:cond_4c
add-int/lit8 v7, v7, 0x1
.line 158
:goto_4e
aput v10, v3, v7
.line 159
if-nez v5, :cond_53
goto :goto_54
:cond_53
const/4 v10, 0x0
:goto_54
move v5, v10
.line 142
:goto_55
add-int/lit8 v8, v8, 0x1
goto :goto_15
.line 162
.end local v8 # "i":I
:cond_58
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v1
goto :goto_5e
:goto_5d
throw v1
:goto_5e
goto :goto_5d
.end method
.method private static patternToChar(I)C
.registers 4
.param p0, "pattern" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 189
const/4 v0, 0x0
.local v0, "i":I
:goto_1
sget-object v1, Lcom/google/zxing/oned/Code93Reader;->CHARACTER_ENCODINGS:[I
array-length v2, v1
if-ge v0, v2, :cond_12
.line 190
aget v1, v1, v0
if-ne v1, p0, :cond_f
.line 191
sget-object v1, Lcom/google/zxing/oned/Code93Reader;->ALPHABET:[C
aget-char v1, v1, v0
return v1
.line 189
:cond_f
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 194
.end local v0 # "i":I
:cond_12
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
goto :goto_18
:goto_17
throw v0
:goto_18
goto :goto_17
.end method
.method private static toPattern([I)I
.registers 8
.param p0, "counters" # [I
.line 166
const/4 v0, 0x0
.line 167
.local v0, "sum":I
array-length v1, p0
const/4 v2, 0x0
const/4 v3, 0x0
:goto_4
if-ge v2, v1, :cond_c
aget v3, p0, v2
.line 168
.local v3, "counter":I
add-int/2addr v0, v3
.line 167
.end local v3 # "counter":I
add-int/lit8 v2, v2, 0x1
goto :goto_4
.line 170
:cond_c
const/4 v1, 0x0
.line 171
.local v1, "pattern":I
array-length v2, p0
.line 172
.local v2, "max":I
const/4 v4, 0x0
.local v4, "i":I
:goto_f
if-ge v4, v2, :cond_3a
.line 173
aget v5, p0, v4
int-to-float v5, v5
const/high16 v6, 0x41100000 # 9.0f
mul-float v5, v5, v6
int-to-float v6, v0
div-float/2addr v5, v6
invoke-static {v5}, Ljava/lang/Math;->round(F)I
move-result v5
.line 174
.local v3, "scaled":I
move v3, v5
if-lez v5, :cond_38
const/4 v5, 0x4
if-le v3, v5, :cond_25
goto :goto_38
.line 177
:cond_25
and-int/lit8 v5, v4, 0x1
if-nez v5, :cond_34
.line 178
const/4 v5, 0x0
.local v5, "j":I
:goto_2a
if-ge v5, v3, :cond_33
.line 179
shl-int/lit8 v6, v1, 0x1
or-int/lit8 v1, v6, 0x1
.line 178
add-int/lit8 v5, v5, 0x1
goto :goto_2a
.end local v5 # "j":I
:cond_33
goto :goto_35
.line 182
:cond_34
shl-int/2addr v1, v3
.line 172
.end local v3 # "scaled":I
:goto_35
add-int/lit8 v4, v4, 0x1
goto :goto_f
.line 175
:cond_38
:goto_38
const/4 v5, -0x1
return v5
.line 185
.end local v4 # "i":I
:cond_3a
return v1
.end method
# virtual methods
.method public decodeRow(ILcom/google/zxing/common/BitArray;Ljava/util/Map;)Lcom/google/zxing/Result;
.registers 22
.param p1, "rowNumber" # I
.param p2, "row" # Lcom/google/zxing/common/BitArray;
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Lcom/google/zxing/common/BitArray;",
"Ljava/util/Map<",
"Lcom/google/zxing/DecodeHintType;",
"*>;)",
"Lcom/google/zxing/Result;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;,
Lcom/google/zxing/ChecksumException;,
Lcom/google/zxing/FormatException;
}
.end annotation
.line 69
.local p3, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/DecodeHintType;*>;"
move-object/from16 v0, p0
move/from16 v1, p1
move-object/from16 v2, p2
invoke-direct {v0, v2}, Lcom/google/zxing/oned/Code93Reader;->findAsteriskPattern(Lcom/google/zxing/common/BitArray;)[I
move-result-object v3
.line 71
.local v3, "start":[I
const/4 v4, 0x1
aget v5, v3, v4
invoke-virtual {v2, v5}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I
move-result v5
.line 72
.local v5, "nextStart":I
invoke-virtual/range {p2 .. p2}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v6
.line 74
.local v6, "end":I
iget-object v7, v0, Lcom/google/zxing/oned/Code93Reader;->counters:[I
const/4 v8, 0x0
move-object v9, v8
.line 75
.local v9, "theCounters":[I
move-object v9, v7
const/4 v10, 0x0
invoke-static {v7, v10}, Ljava/util/Arrays;->fill([II)V
.line 76
iget-object v7, v0, Lcom/google/zxing/oned/Code93Reader;->decodeRowResult:Ljava/lang/StringBuilder;
move-object v11, v8
.line 77
.local v11, "result":Ljava/lang/StringBuilder;
move-object v11, v7
invoke-virtual {v7, v10}, Ljava/lang/StringBuilder;->setLength(I)V
const/4 v7, 0x0
.line 82
:goto_26
invoke-static {v2, v5, v9}, Lcom/google/zxing/oned/Code93Reader;->recordPattern(Lcom/google/zxing/common/BitArray;I[I)V
.line 83
invoke-static {v9}, Lcom/google/zxing/oned/Code93Reader;->toPattern([I)I
move-result v12
.line 84
.local v7, "pattern":I
move v7, v12
if-ltz v12, :cond_c1
.line 87
invoke-static {v7}, Lcom/google/zxing/oned/Code93Reader;->patternToChar(I)C
move-result v12
.line 88
.local v12, "decodedChar":C
invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 89
move v13, v5
.line 90
.local v13, "lastStart":I
array-length v14, v9
const/4 v15, 0x0
:goto_3a
if-ge v15, v14, :cond_43
aget v16, v9, v15
.line 91
.local v16, "counter":I
add-int v5, v5, v16
.line 90
.end local v16 # "counter":I
add-int/lit8 v15, v15, 0x1
goto :goto_3a
.line 94
:cond_43
invoke-virtual {v2, v5}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I
move-result v5
.line 95
.end local v7 # "pattern":I
const/16 v14, 0x2a
if-ne v12, v14, :cond_b5
.line 96
invoke-virtual {v11}, Ljava/lang/StringBuilder;->length()I
move-result v7
sub-int/2addr v7, v4
invoke-virtual {v11, v7}, Ljava/lang/StringBuilder;->deleteCharAt(I)Ljava/lang/StringBuilder;
.line 98
const/4 v7, 0x0
.line 99
.local v7, "lastPatternSize":I
array-length v14, v9
const/4 v15, 0x0
:goto_56
if-ge v15, v14, :cond_5f
aget v16, v9, v15
.line 100
.restart local v16 # "counter":I
add-int v7, v7, v16
.line 99
.end local v16 # "counter":I
add-int/lit8 v15, v15, 0x1
goto :goto_56
.line 104
:cond_5f
if-eq v5, v6, :cond_b0
invoke-virtual {v2, v5}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result v14
if-eqz v14, :cond_b0
.line 108
invoke-virtual {v11}, Ljava/lang/StringBuilder;->length()I
move-result v14
const/4 v15, 0x2
if-lt v14, v15, :cond_ab
.line 113
invoke-static {v11}, Lcom/google/zxing/oned/Code93Reader;->checkChecksums(Ljava/lang/CharSequence;)V
.line 115
invoke-virtual {v11}, Ljava/lang/StringBuilder;->length()I
move-result v14
sub-int/2addr v14, v15
invoke-virtual {v11, v14}, Ljava/lang/StringBuilder;->setLength(I)V
.line 117
invoke-static {v11}, Lcom/google/zxing/oned/Code93Reader;->decodeExtended(Ljava/lang/CharSequence;)Ljava/lang/String;
move-result-object v14
.line 119
.local v14, "resultString":Ljava/lang/String;
aget v16, v3, v4
aget v17, v3, v10
add-int v8, v16, v17
int-to-float v8, v8
const/high16 v16, 0x40000000 # 2.0f
div-float v8, v8, v16
.line 120
.local v8, "left":F
int-to-float v4, v13
int-to-float v10, v7
div-float v10, v10, v16
add-float/2addr v4, v10
.line 121
.local v4, "right":F
new-instance v10, Lcom/google/zxing/Result;
new-array v15, v15, [Lcom/google/zxing/ResultPoint;
new-instance v0, Lcom/google/zxing/ResultPoint;
int-to-float v2, v1
invoke-direct {v0, v8, v2}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
const/4 v2, 0x0
aput-object v0, v15, v2
new-instance v0, Lcom/google/zxing/ResultPoint;
int-to-float v2, v1
invoke-direct {v0, v4, v2}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
const/16 v16, 0x1
aput-object v0, v15, v16
sget-object v0, Lcom/google/zxing/BarcodeFormat;->CODE_93:Lcom/google/zxing/BarcodeFormat;
const/4 v2, 0x0
invoke-direct {v10, v14, v2, v15, v0}, Lcom/google/zxing/Result;-><init>(Ljava/lang/String;[B[Lcom/google/zxing/ResultPoint;Lcom/google/zxing/BarcodeFormat;)V
return-object v10
.line 110
.end local v4 # "right":F
.end local v8 # "left":F
.end local v14 # "resultString":Ljava/lang/String;
:cond_ab
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
throw v0
.line 105
:cond_b0
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
throw v0
.line 95
.end local v7 # "lastPatternSize":I
:cond_b5
move-object v0, v8
const/4 v2, 0x0
const/16 v16, 0x1
move-object/from16 v2, p2
const/4 v4, 0x1
const/4 v10, 0x0
move-object/from16 v0, p0
goto/16 :goto_26
.line 85
.end local v12 # "decodedChar":C
.end local v13 # "lastStart":I
:cond_c1
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
goto :goto_c7
:goto_c6
throw v0
:goto_c7
goto :goto_c6
.end method