Code39Reader.smali
.class public final Lcom/google/zxing/oned/Code39Reader;
.super Lcom/google/zxing/oned/OneDReader;
.source "Code39Reader.java"
# static fields
.field static final ALPHABET_STRING:Ljava/lang/String; = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%"
.field static final ASTERISK_ENCODING:I = 0x94
.field static final CHARACTER_ENCODINGS:[I
# instance fields
.field private final counters:[I
.field private final decodeRowResult:Ljava/lang/StringBuilder;
.field private final extendedMode:Z
.field private final usingCheckDigit:Z
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 46
const/16 v0, 0x2b
new-array v0, v0, [I
fill-array-data v0, :array_a
sput-object v0, Lcom/google/zxing/oned/Code39Reader;->CHARACTER_ENCODINGS:[I
return-void
:array_a
.array-data 4
0x34
0x121
0x61
0x160
0x31
0x130
0x70
0x25
0x124
0x64
0x109
0x49
0x148
0x19
0x118
0x58
0xd
0x10c
0x4c
0x1c
0x103
0x43
0x142
0x13
0x112
0x52
0x7
0x106
0x46
0x16
0x181
0xc1
0x1c0
0x91
0x190
0xd0
0x85
0x184
0xc4
0xa8
0xa2
0x8a
0x2a
.end array-data
.end method
.method public constructor <init>()V
.registers 2
.line 66
const/4 v0, 0x0
invoke-direct {p0, v0}, Lcom/google/zxing/oned/Code39Reader;-><init>(Z)V
.line 67
return-void
.end method
.method public constructor <init>(Z)V
.registers 3
.param p1, "usingCheckDigit" # Z
.line 77
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lcom/google/zxing/oned/Code39Reader;-><init>(ZZ)V
.line 78
return-void
.end method
.method public constructor <init>(ZZ)V
.registers 5
.param p1, "usingCheckDigit" # Z
.param p2, "extendedMode" # Z
.line 90
invoke-direct {p0}, Lcom/google/zxing/oned/OneDReader;-><init>()V
.line 91
iput-boolean p1, p0, Lcom/google/zxing/oned/Code39Reader;->usingCheckDigit:Z
.line 92
iput-boolean p2, p0, Lcom/google/zxing/oned/Code39Reader;->extendedMode:Z
.line 93
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/Code39Reader;->decodeRowResult:Ljava/lang/StringBuilder;
.line 94
const/16 v0, 0x9
new-array v0, v0, [I
iput-object v0, p0, Lcom/google/zxing/oned/Code39Reader;->counters:[I
.line 95
return-void
.end method
.method private static decodeExtended(Ljava/lang/CharSequence;)Ljava/lang/String;
.registers 13
.param p0, "encoded" # Ljava/lang/CharSequence;
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/FormatException;
}
.end annotation
.line 270
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
.line 271
.local v0, "length":I
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1, v0}, Ljava/lang/StringBuilder;-><init>(I)V
.line 272
.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_cb
.line 273
invoke-interface {p0, v2}, Ljava/lang/CharSequence;->charAt(I)C
move-result v4
.line 274
.local v3, "c":C
move v3, v4
const/16 v5, 0x2f
const/16 v6, 0x25
const/16 v7, 0x24
const/16 v8, 0x2b
if-eq v4, v8, :cond_28
if-eq v3, v7, :cond_28
if-eq v3, v6, :cond_28
if-ne v3, v5, :cond_23
goto :goto_28
.line 331
:cond_23
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto/16 :goto_c2
.line 275
:cond_28
:goto_28
add-int/lit8 v4, v2, 0x1
invoke-interface {p0, v4}, Ljava/lang/CharSequence;->charAt(I)C
move-result v4
.line 276
.local v4, "next":C
const/4 v9, 0x0
.line 277
.local v9, "decodedChar":C
const/16 v10, 0x5a
const/16 v11, 0x41
if-eq v3, v7, :cond_b4
const/16 v7, 0x4f
if-eq v3, v6, :cond_61
if-eq v3, v8, :cond_53
if-eq v3, v5, :cond_3f
goto/16 :goto_bb
.line 318
:cond_3f
if-lt v4, v11, :cond_48
if-gt v4, v7, :cond_48
.line 319
add-int/lit8 v5, v4, -0x20
int-to-char v9, v5
goto/16 :goto_bb
.line 320
:cond_48
if-ne v4, v10, :cond_4e
.line 321
const/16 v9, 0x3a
goto/16 :goto_bb
.line 323
:cond_4e
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object v5
throw v5
.line 280
:cond_53
if-lt v4, v11, :cond_5c
if-gt v4, v10, :cond_5c
.line 281
add-int/lit8 v5, v4, 0x20
int-to-char v9, v5
goto/16 :goto_bb
.line 283
:cond_5c
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object v5
throw v5
.line 296
:cond_61
if-lt v4, v11, :cond_6b
const/16 v5, 0x45
if-gt v4, v5, :cond_6b
.line 297
add-int/lit8 v5, v4, -0x26
int-to-char v9, v5
goto :goto_bb
.line 298
:cond_6b
const/16 v5, 0x46
if-lt v4, v5, :cond_77
const/16 v5, 0x4a
if-gt v4, v5, :cond_77
.line 299
add-int/lit8 v5, v4, -0xb
int-to-char v9, v5
goto :goto_bb
.line 300
:cond_77
const/16 v5, 0x4b
if-lt v4, v5, :cond_81
if-gt v4, v7, :cond_81
.line 301
add-int/lit8 v5, v4, 0x10
int-to-char v9, v5
goto :goto_bb
.line 302
:cond_81
const/16 v5, 0x50
if-lt v4, v5, :cond_8d
const/16 v5, 0x54
if-gt v4, v5, :cond_8d
.line 303
add-int/lit8 v5, v4, 0x2b
int-to-char v9, v5
goto :goto_bb
.line 304
:cond_8d
const/16 v5, 0x55
if-ne v4, v5, :cond_93
.line 305
const/4 v9, 0x0
goto :goto_bb
.line 306
:cond_93
const/16 v5, 0x56
if-ne v4, v5, :cond_9a
.line 307
const/16 v9, 0x40
goto :goto_bb
.line 308
:cond_9a
const/16 v5, 0x57
if-ne v4, v5, :cond_a1
.line 309
const/16 v9, 0x60
goto :goto_bb
.line 310
:cond_a1
const/16 v5, 0x58
if-eq v4, v5, :cond_b1
const/16 v5, 0x59
if-eq v4, v5, :cond_b1
if-ne v4, v10, :cond_ac
goto :goto_b1
.line 313
:cond_ac
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object v5
throw v5
.line 311
:cond_b1
:goto_b1
const/16 v9, 0x7f
goto :goto_bb
.line 288
:cond_b4
if-lt v4, v11, :cond_c6
if-gt v4, v10, :cond_c6
.line 289
add-int/lit8 v5, v4, -0x40
int-to-char v9, v5
.line 327
:goto_bb
invoke-virtual {v1, v9}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 329
nop
.end local v4 # "next":C
.end local v9 # "decodedChar":C
add-int/lit8 v2, v2, 0x1
.line 330
nop
.line 272
.end local v3 # "c":C
:goto_c2
add-int/lit8 v2, v2, 0x1
goto/16 :goto_b
.line 291
.restart local v4 # "next":C
.restart local v9 # "decodedChar":C
:cond_c6
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object v5
throw v5
.line 334
.end local v2 # "i":I
.end local v4 # "next":C
.end local v9 # "decodedChar":C
:cond_cb
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
return-object v2
.end method
.method private static findAsteriskPattern(Lcom/google/zxing/common/BitArray;[I)[I
.registers 14
.param p0, "row" # Lcom/google/zxing/common/BitArray;
.param p1, "counters" # [I
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 179
invoke-virtual {p0}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v0
.line 180
.local v0, "width":I
const/4 v1, 0x0
invoke-virtual {p0, v1}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I
move-result v2
.line 182
.local v2, "rowOffset":I
const/4 v3, 0x0
.line 183
.local v3, "counterPosition":I
move v4, v2
.line 184
.local v4, "patternStart":I
const/4 v5, 0x0
.line 185
.local v5, "isWhite":Z
array-length v6, p1
.line 187
.local v6, "patternLength":I
move v7, v2
.local v7, "i":I
:goto_e
if-ge v7, v0, :cond_60
.line 188
invoke-virtual {p0, v7}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result v8
const/4 v9, 0x1
if-eq v8, v5, :cond_1d
.line 189
aget v8, p1, v3
add-int/2addr v8, v9
aput v8, p1, v3
goto :goto_5d
.line 191
:cond_1d
add-int/lit8 v8, v6, -0x1
if-ne v3, v8, :cond_54
.line 193
invoke-static {p1}, Lcom/google/zxing/oned/Code39Reader;->toNarrowWidePattern([I)I
move-result v8
const/16 v10, 0x94
const/4 v11, 0x2
if-ne v8, v10, :cond_40
sub-int v8, v7, v4
div-int/2addr v8, v11
sub-int v8, v4, v8
.line 194
invoke-static {v1, v8}, Ljava/lang/Math;->max(II)I
move-result v8
invoke-virtual {p0, v8, v4, v1}, Lcom/google/zxing/common/BitArray;->isRange(IIZ)Z
move-result v8
if-eqz v8, :cond_40
.line 195
new-array v8, v11, [I
aput v4, v8, v1
aput v7, v8, v9
return-object v8
.line 197
:cond_40
aget v8, p1, v1
aget v10, p1, v9
add-int/2addr v8, v10
add-int/2addr v4, v8
.line 198
add-int/lit8 v8, v3, -0x1
invoke-static {p1, v11, p1, v1, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 199
add-int/lit8 v8, v3, -0x1
aput v1, p1, v8
.line 200
aput v1, p1, v3
.line 201
add-int/lit8 v3, v3, -0x1
goto :goto_56
.line 203
:cond_54
add-int/lit8 v3, v3, 0x1
.line 205
:goto_56
aput v9, p1, v3
.line 206
if-nez v5, :cond_5b
goto :goto_5c
:cond_5b
const/4 v9, 0x0
:goto_5c
move v5, v9
.line 187
:goto_5d
add-int/lit8 v7, v7, 0x1
goto :goto_e
.line 209
.end local v7 # "i":I
:cond_60
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v1
goto :goto_66
:goto_65
throw v1
:goto_66
goto :goto_65
.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 258
const/4 v0, 0x0
.local v0, "i":I
:goto_1
sget-object v1, Lcom/google/zxing/oned/Code39Reader;->CHARACTER_ENCODINGS:[I
array-length v2, v1
if-ge v0, v2, :cond_14
.line 259
aget v1, v1, v0
if-ne v1, p0, :cond_11
.line 260
const-string v1, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%"
invoke-virtual {v1, v0}, Ljava/lang/String;->charAt(I)C
move-result v1
return v1
.line 258
:cond_11
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 263
.end local v0 # "i":I
:cond_14
const/16 v0, 0x94
if-ne p0, v0, :cond_1b
.line 264
const/16 v0, 0x2a
return v0
.line 266
:cond_1b
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
goto :goto_21
:goto_20
throw v0
:goto_21
goto :goto_20
.end method
.method private static toNarrowWidePattern([I)I
.registers 12
.param p0, "counters" # [I
.line 215
array-length v0, p0
.line 216
.local v0, "numCounters":I
const/4 v1, 0x0
.local v1, "maxNarrowCounter":I
const/4 v2, 0x0
const/4 v3, 0x0
.line 219
:goto_4
const v4, 0x7fffffff
.line 220
.local v4, "minCounter":I
array-length v5, p0
const/4 v6, 0x0
:goto_9
if-ge v6, v5, :cond_16
aget v7, p0, v6
.line 221
.local v3, "counter":I
move v3, v7
if-ge v7, v4, :cond_13
if-le v3, v1, :cond_13
.line 222
move v4, v3
.line 220
.end local v3 # "counter":I
:cond_13
add-int/lit8 v6, v6, 0x1
goto :goto_9
.line 225
:cond_16
move v1, v4
.line 226
const/4 v5, 0x0
.line 227
.local v5, "wideCounters":I
const/4 v6, 0x0
.line 228
.local v6, "totalWideCountersWidth":I
const/4 v7, 0x0
.line 229
.local v7, "pattern":I
const/4 v8, 0x0
.local v8, "i":I
:goto_1b
if-ge v8, v0, :cond_2f
.line 230
aget v9, p0, v8
.line 231
.restart local v3 # "counter":I
move v3, v9
if-le v9, v1, :cond_2c
.line 232
add-int/lit8 v9, v0, -0x1
sub-int/2addr v9, v8
const/4 v10, 0x1
shl-int v9, v10, v9
or-int/2addr v7, v9
.line 233
add-int/lit8 v5, v5, 0x1
.line 234
add-int/2addr v6, v3
.line 229
.end local v3 # "counter":I
:cond_2c
add-int/lit8 v8, v8, 0x1
goto :goto_1b
.line 237
.end local v8 # "i":I
:cond_2f
const/4 v8, 0x3
const/4 v9, -0x1
if-ne v5, v8, :cond_48
.line 241
const/4 v2, 0x0
.local v2, "i":I
:goto_34
if-ge v2, v0, :cond_47
if-lez v5, :cond_47
.line 242
aget v8, p0, v2
.line 243
.restart local v3 # "counter":I
move v3, v8
if-le v8, v1, :cond_44
.line 244
add-int/lit8 v5, v5, -0x1
.line 246
shl-int/lit8 v8, v3, 0x1
if-lt v8, v6, :cond_44
.line 247
return v9
.line 241
.end local v3 # "counter":I
:cond_44
add-int/lit8 v2, v2, 0x1
goto :goto_34
.line 251
.end local v2 # "i":I
:cond_47
return v7
.line 253
.end local v4 # "minCounter":I
.end local v6 # "totalWideCountersWidth":I
.end local v7 # "pattern":I
:cond_48
if-gt v5, v8, :cond_4b
.line 254
return v9
.line 253
:cond_4b
goto :goto_4
.end method
# virtual methods
.method public decodeRow(ILcom/google/zxing/common/BitArray;Ljava/util/Map;)Lcom/google/zxing/Result;
.registers 23
.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 101
.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
iget-object v3, v0, Lcom/google/zxing/oned/Code39Reader;->counters:[I
const/4 v4, 0x0
move-object v5, v4
.line 102
.local v5, "theCounters":[I
move-object v5, v3
const/4 v6, 0x0
invoke-static {v3, v6}, Ljava/util/Arrays;->fill([II)V
.line 103
iget-object v3, v0, Lcom/google/zxing/oned/Code39Reader;->decodeRowResult:Ljava/lang/StringBuilder;
move-object v7, v4
.line 104
.local v7, "result":Ljava/lang/StringBuilder;
move-object v7, v3
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->setLength(I)V
.line 106
invoke-static {v2, v5}, Lcom/google/zxing/oned/Code39Reader;->findAsteriskPattern(Lcom/google/zxing/common/BitArray;[I)[I
move-result-object v3
.line 108
.local v3, "start":[I
const/4 v8, 0x1
aget v9, v3, v8
invoke-virtual {v2, v9}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I
move-result v9
.line 109
.local v9, "nextStart":I
invoke-virtual/range {p2 .. p2}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v10
const/4 v11, 0x0
.line 114
.local v10, "end":I
:goto_26
invoke-static {v2, v9, v5}, Lcom/google/zxing/oned/Code39Reader;->recordPattern(Lcom/google/zxing/common/BitArray;I[I)V
.line 115
invoke-static {v5}, Lcom/google/zxing/oned/Code39Reader;->toNarrowWidePattern([I)I
move-result v12
.line 116
.local v11, "pattern":I
move v11, v12
if-ltz v12, :cond_ff
.line 119
invoke-static {v11}, Lcom/google/zxing/oned/Code39Reader;->patternToChar(I)C
move-result v12
.line 120
.local v12, "decodedChar":C
invoke-virtual {v7, v12}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 121
move v13, v9
.line 122
.local v13, "lastStart":I
array-length v14, v5
const/4 v15, 0x0
:goto_3a
if-ge v15, v14, :cond_43
aget v16, v5, v15
.line 123
.local v16, "counter":I
add-int v9, v9, v16
.line 122
.end local v16 # "counter":I
add-int/lit8 v15, v15, 0x1
goto :goto_3a
.line 126
:cond_43
invoke-virtual {v2, v9}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I
move-result v9
.line 127
.end local v11 # "pattern":I
const/16 v14, 0x2a
if-ne v12, v14, :cond_ef
.line 128
invoke-virtual {v7}, Ljava/lang/StringBuilder;->length()I
move-result v11
sub-int/2addr v11, v8
invoke-virtual {v7, v11}, Ljava/lang/StringBuilder;->setLength(I)V
.line 131
const/4 v11, 0x0
.line 132
.local v11, "lastPatternSize":I
array-length v14, v5
const/4 v15, 0x0
:goto_56
if-ge v15, v14, :cond_5f
aget v16, v5, v15
.line 133
.restart local v16 # "counter":I
add-int v11, v11, v16
.line 132
.end local v16 # "counter":I
add-int/lit8 v15, v15, 0x1
goto :goto_56
.line 135
:cond_5f
sub-int v14, v9, v13
sub-int/2addr v14, v11
.line 138
.local v14, "whiteSpaceAfterEnd":I
if-eq v9, v10, :cond_6e
shl-int/lit8 v15, v14, 0x1
if-lt v15, v11, :cond_69
goto :goto_6e
.line 139
:cond_69
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v4
throw v4
.line 142
:cond_6e
:goto_6e
iget-boolean v15, v0, Lcom/google/zxing/oned/Code39Reader;->usingCheckDigit:Z
if-eqz v15, :cond_a7
.line 143
invoke-virtual {v7}, Ljava/lang/StringBuilder;->length()I
move-result v15
sub-int/2addr v15, v8
.line 144
.local v15, "max":I
const/16 v16, 0x0
.line 145
.local v16, "total":I
const/16 v17, 0x0
move/from16 v4, v17
.local v4, "i":I
:goto_7d
const-string v6, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%"
if-ge v4, v15, :cond_92
.line 146
iget-object v8, v0, Lcom/google/zxing/oned/Code39Reader;->decodeRowResult:Ljava/lang/StringBuilder;
invoke-virtual {v8, v4}, Ljava/lang/StringBuilder;->charAt(I)C
move-result v8
invoke-virtual {v6, v8}, Ljava/lang/String;->indexOf(I)I
move-result v6
add-int v16, v16, v6
.line 145
add-int/lit8 v4, v4, 0x1
const/4 v6, 0x0
const/4 v8, 0x1
goto :goto_7d
.line 148
.end local v4 # "i":I
:cond_92
invoke-virtual {v7, v15}, Ljava/lang/StringBuilder;->charAt(I)C
move-result v4
rem-int/lit8 v8, v16, 0x2b
invoke-virtual {v6, v8}, Ljava/lang/String;->charAt(I)C
move-result v6
if-ne v4, v6, :cond_a2
.line 151
invoke-virtual {v7, v15}, Ljava/lang/StringBuilder;->setLength(I)V
goto :goto_a7
.line 149
:cond_a2
invoke-static {}, Lcom/google/zxing/ChecksumException;->getChecksumInstance()Lcom/google/zxing/ChecksumException;
move-result-object v4
throw v4
.line 154
.end local v15 # "max":I
.end local v16 # "total":I
:cond_a7
:goto_a7
invoke-virtual {v7}, Ljava/lang/StringBuilder;->length()I
move-result v4
if-eqz v4, :cond_ea
.line 160
iget-boolean v4, v0, Lcom/google/zxing/oned/Code39Reader;->extendedMode:Z
if-eqz v4, :cond_b6
.line 161
invoke-static {v7}, Lcom/google/zxing/oned/Code39Reader;->decodeExtended(Ljava/lang/CharSequence;)Ljava/lang/String;
move-result-object v4
.local v4, "resultString":Ljava/lang/String;
goto :goto_ba
.line 163
.end local v4 # "resultString":Ljava/lang/String;
:cond_b6
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
.line 166
.restart local v4 # "resultString":Ljava/lang/String;
:goto_ba
const/4 v6, 0x1
aget v8, v3, v6
const/4 v6, 0x0
aget v15, v3, v6
add-int/2addr v8, v15
int-to-float v6, v8
const/high16 v8, 0x40000000 # 2.0f
div-float/2addr v6, v8
.line 167
.local v6, "left":F
int-to-float v15, v13
int-to-float v0, v11
div-float/2addr v0, v8
add-float/2addr v15, v0
.line 168
.local v15, "right":F
new-instance v0, Lcom/google/zxing/Result;
const/4 v8, 0x2
new-array v8, v8, [Lcom/google/zxing/ResultPoint;
new-instance v2, Lcom/google/zxing/ResultPoint;
move-object/from16 v16, v3
.end local v3 # "start":[I
.local v16, "start":[I
int-to-float v3, v1
invoke-direct {v2, v6, v3}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
const/4 v3, 0x0
aput-object v2, v8, v3
new-instance v2, Lcom/google/zxing/ResultPoint;
int-to-float v3, v1
invoke-direct {v2, v15, v3}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
const/16 v18, 0x1
aput-object v2, v8, v18
sget-object v2, Lcom/google/zxing/BarcodeFormat;->CODE_39:Lcom/google/zxing/BarcodeFormat;
const/4 v3, 0x0
invoke-direct {v0, v4, v3, v8, v2}, Lcom/google/zxing/Result;-><init>(Ljava/lang/String;[B[Lcom/google/zxing/ResultPoint;Lcom/google/zxing/BarcodeFormat;)V
return-object v0
.line 156
.end local v4 # "resultString":Ljava/lang/String;
.end local v6 # "left":F
.end local v15 # "right":F
.end local v16 # "start":[I
.restart local v3 # "start":[I
:cond_ea
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
throw v0
.line 127
.end local v11 # "lastPatternSize":I
.end local v14 # "whiteSpaceAfterEnd":I
:cond_ef
move-object/from16 v16, v3
move-object v0, v4
const/4 v3, 0x0
const/16 v18, 0x1
.end local v3 # "start":[I
.restart local v16 # "start":[I
move-object/from16 v2, p2
move-object/from16 v3, v16
const/4 v6, 0x0
const/4 v8, 0x1
move-object/from16 v0, p0
goto/16 :goto_26
.line 117
.end local v12 # "decodedChar":C
.end local v13 # "lastStart":I
.end local v16 # "start":[I
.restart local v3 # "start":[I
:cond_ff
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
goto :goto_105
:goto_104
throw v0
:goto_105
goto :goto_104
.end method