This commit is contained in:
2022-06-10 21:38:30 +09:00
commit 27f5152838
51323 changed files with 12934539 additions and 0 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,455 @@
.class public final Lcom/google/zxing/oned/CodaBarWriter;
.super Lcom/google/zxing/oned/OneDimensionalCodeWriter;
.source "CodaBarWriter.java"
# static fields
.field private static final END_CHARS:[C
.field private static final START_CHARS:[C
# direct methods
.method public static constructor <clinit>()V
.locals 2
const/4 v0, 0x4
new-array v1, v0, [C
.line 1
fill-array-data v1, :array_0
sput-object v1, Lcom/google/zxing/oned/CodaBarWriter;->START_CHARS:[C
new-array v0, v0, [C
.line 2
fill-array-data v0, :array_1
sput-object v0, Lcom/google/zxing/oned/CodaBarWriter;->END_CHARS:[C
return-void
:array_0
.array-data 2
0x41s
0x42s
0x43s
0x44s
.end array-data
:array_1
.array-data 2
0x54s
0x4es
0x2as
0x45s
.end array-data
.end method
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;-><init>()V
return-void
.end method
# virtual methods
.method public encode(Ljava/lang/String;)[Z
.locals 10
.line 1
sget-object v0, Lcom/google/zxing/oned/CodaBarWriter;->START_CHARS:[C
const/4 v1, 0x0
invoke-virtual {p1, v1}, Ljava/lang/String;->charAt(I)C
move-result v2
invoke-static {v2}, Ljava/lang/Character;->toUpperCase(C)C
move-result v2
invoke-static {v0, v2}, Lcom/google/zxing/oned/CodaBarReader;->arrayContains([CC)Z
move-result v2
if-eqz v2, :cond_11
.line 2
sget-object v0, Lcom/google/zxing/oned/CodaBarWriter;->END_CHARS:[C
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v2
const/4 v3, 0x1
sub-int/2addr v2, v3
invoke-virtual {p1, v2}, Ljava/lang/String;->charAt(I)C
move-result v2
invoke-static {v2}, Ljava/lang/Character;->toUpperCase(C)C
move-result v2
invoke-static {v0, v2}, Lcom/google/zxing/oned/CodaBarReader;->arrayContains([CC)Z
move-result v2
if-eqz v2, :cond_10
const/16 v0, 0x14
const/4 v2, 0x4
new-array v2, v2, [C
.line 3
fill-array-data v2, :array_0
move v4, v3
.line 4
:goto_0
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v5
sub-int/2addr v5, v3
if-lt v4, v5, :cond_c
.line 5
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v2
sub-int/2addr v2, v3
add-int/2addr v2, v0
.line 6
new-array v5, v2, [Z
move v6, v1
move v7, v6
.line 7
:goto_1
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
if-lt v6, v0, :cond_0
return-object v5
.line 8
:cond_0
invoke-virtual {p1, v6}, Ljava/lang/String;->charAt(I)C
move-result v0
invoke-static {v0}, Ljava/lang/Character;->toUpperCase(C)C
move-result v0
.line 9
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v2
sub-int/2addr v2, v3
if-ne v6, v2, :cond_5
const/16 v2, 0x2a
if-eq v0, v2, :cond_4
const/16 v2, 0x45
if-eq v0, v2, :cond_3
const/16 v2, 0x4e
if-eq v0, v2, :cond_2
const/16 v2, 0x54
if-eq v0, v2, :cond_1
goto :goto_2
:cond_1
const/16 v0, 0x41
goto :goto_2
:cond_2
const/16 v0, 0x42
goto :goto_2
:cond_3
const/16 v0, 0x44
goto :goto_2
:cond_4
const/16 v0, 0x43
:cond_5
:goto_2
move v8, v0
move v0, v1
.line 10
:goto_3
sget-object v2, Lcom/google/zxing/oned/CodaBarReader;->ALPHABET:[C
array-length v4, v2
if-lt v0, v4, :cond_6
move v2, v1
goto :goto_4
.line 11
:cond_6
aget-char v2, v2, v0
if-ne v8, v2, :cond_b
.line 12
sget-object v2, Lcom/google/zxing/oned/CodaBarReader;->CHARACTER_ENCODINGS:[I
aget v0, v2, v0
move v2, v0
:goto_4
move v0, v1
move v8, v0
move v4, v3
:goto_5
const/4 v9, 0x7
if-lt v0, v9, :cond_8
.line 13
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
sub-int/2addr v0, v3
if-ge v6, v0, :cond_7
.line 14
aput-boolean v1, v5, v7
add-int/lit8 v7, v7, 0x1
:cond_7
add-int/lit8 v6, v6, 0x1
goto :goto_1
.line 15
:cond_8
aput-boolean v4, v5, v7
add-int/lit8 v7, v7, 0x1
rsub-int/lit8 v9, v0, 0x6
shr-int v9, v2, v9
and-int/2addr v9, v3
if-eqz v9, :cond_a
if-ne v8, v3, :cond_9
goto :goto_6
:cond_9
add-int/lit8 v8, v8, 0x1
goto :goto_5
:cond_a
:goto_6
xor-int/lit8 v4, v4, 0x1
add-int/lit8 v0, v0, 0x1
move v8, v1
goto :goto_5
:cond_b
add-int/lit8 v0, v0, 0x1
goto :goto_3
.line 16
:cond_c
invoke-virtual {p1, v4}, Ljava/lang/String;->charAt(I)C
move-result v5
invoke-static {v5}, Ljava/lang/Character;->isDigit(C)Z
move-result v5
if-nez v5, :cond_f
invoke-virtual {p1, v4}, Ljava/lang/String;->charAt(I)C
move-result v5
const/16 v6, 0x2d
if-eq v5, v6, :cond_f
.line 17
invoke-virtual {p1, v4}, Ljava/lang/String;->charAt(I)C
move-result v5
const/16 v6, 0x24
if-ne v5, v6, :cond_d
goto :goto_7
.line 18
:cond_d
invoke-virtual {p1, v4}, Ljava/lang/String;->charAt(I)C
move-result v5
.line 19
invoke-static {v2, v5}, Lcom/google/zxing/oned/CodaBarReader;->arrayContains([CC)Z
move-result v5
if-eqz v5, :cond_e
add-int/lit8 v0, v0, 0xa
goto :goto_8
.line 20
:cond_e
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Cannot encode : \'"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1, v4}, Ljava/lang/String;->charAt(I)C
move-result p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/16 p1, 0x27
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_f
:goto_7
add-int/lit8 v0, v0, 0x9
:goto_8
add-int/lit8 v4, v4, 0x1
goto/16 :goto_0
.line 21
:cond_10
new-instance p1, Ljava/lang/IllegalArgumentException;
.line 22
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Codabar should end with one of the following: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {v0}, Ljava/util/Arrays;->toString([C)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 23
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 24
:cond_11
new-instance p1, Ljava/lang/IllegalArgumentException;
.line 25
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Codabar should start with one of the following: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {v0}, Ljava/util/Arrays;->toString([C)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 26
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:array_0
.array-data 2
0x2fs
0x3as
0x2bs
0x2es
.end array-data
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,498 @@
.class public final Lcom/google/zxing/oned/Code128Writer;
.super Lcom/google/zxing/oned/OneDimensionalCodeWriter;
.source "Code128Writer.java"
# static fields
.field private static final CODE_CODE_B:I = 0x64
.field private static final CODE_CODE_C:I = 0x63
.field private static final CODE_FNC_1:I = 0x66
.field private static final CODE_FNC_2:I = 0x61
.field private static final CODE_FNC_3:I = 0x60
.field private static final CODE_FNC_4_B:I = 0x64
.field private static final CODE_START_B:I = 0x68
.field private static final CODE_START_C:I = 0x69
.field private static final CODE_STOP:I = 0x6a
.field private static final ESCAPE_FNC_1:C = '\u00f1'
.field private static final ESCAPE_FNC_2:C = '\u00f2'
.field private static final ESCAPE_FNC_3:C = '\u00f3'
.field private static final ESCAPE_FNC_4:C = '\u00f4'
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;-><init>()V
return-void
.end method
.method private static isDigits(Ljava/lang/CharSequence;II)Z
.locals 4
add-int/2addr p2, p1
.line 1
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
:goto_0
const/4 v1, 0x0
if-ge p1, p2, :cond_4
if-lt p1, v0, :cond_0
goto :goto_1
.line 2
:cond_0
invoke-interface {p0, p1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v2
const/16 v3, 0x30
if-lt v2, v3, :cond_1
const/16 v3, 0x39
if-le v2, v3, :cond_3
:cond_1
const/16 v3, 0xf1
if-eq v2, v3, :cond_2
return v1
:cond_2
add-int/lit8 p2, p2, 0x1
:cond_3
add-int/lit8 p1, p1, 0x1
goto :goto_0
:cond_4
:goto_1
if-gt p2, v0, :cond_5
const/4 p0, 0x1
return p0
:cond_5
return v1
.end method
# virtual methods
.method public encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/google/zxing/BarcodeFormat;",
"II",
"Ljava/util/Map<",
"Lcom/google/zxing/EncodeHintType;",
"*>;)",
"Lcom/google/zxing/common/BitMatrix;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/WriterException;
}
.end annotation
.line 1
sget-object v0, Lcom/google/zxing/BarcodeFormat;->CODE_128:Lcom/google/zxing/BarcodeFormat;
if-ne p2, v0, :cond_0
.line 2
invoke-super/range {p0 .. p5}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
move-result-object p1
return-object p1
.line 3
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p3, Ljava/lang/StringBuilder;
const-string p4, "Can only encode CODE_128, but got "
invoke-direct {p3, p4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public encode(Ljava/lang/String;)[Z
.locals 12
.line 4
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/4 v1, 0x1
if-lt v0, v1, :cond_e
const/16 v2, 0x50
if-gt v0, v2, :cond_e
const/4 v2, 0x0
move v3, v2
:goto_0
const/16 v4, 0x20
if-lt v3, v0, :cond_b
.line 5
new-instance v5, Ljava/util/ArrayList;
invoke-direct {v5}, Ljava/util/ArrayList;-><init>()V
move v8, v1
move v3, v2
move v6, v3
move v7, v6
:cond_0
:goto_1
if-lt v3, v0, :cond_4
.line 6
rem-int/lit8 v7, v7, 0x67
.line 7
sget-object p1, Lcom/google/zxing/oned/Code128Reader;->CODE_PATTERNS:[[I
aget-object v0, p1, v7
invoke-virtual {v5, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
const/16 v0, 0x6a
.line 8
aget-object p1, p1, v0
invoke-virtual {v5, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 9
invoke-virtual {v5}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v9
move p1, v2
:goto_2
invoke-interface {v9}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-nez v0, :cond_2
.line 10
new-array v0, p1, [Z
.line 11
invoke-virtual {v5}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_3
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result p1
if-nez p1, :cond_1
return-object v0
:cond_1
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p1
check-cast p1, [I
.line 12
invoke-static {v0, v2, p1, v1}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result p1
add-int/2addr v2, p1
goto :goto_3
.line 13
:cond_2
invoke-interface {v9}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
move-object v10, v0
check-cast v10, [I
.line 14
array-length v11, v10
move v0, v2
:goto_4
if-lt v0, v11, :cond_3
goto :goto_2
:cond_3
aget v3, v10, v0
add-int/2addr p1, v3
add-int/lit8 v0, v0, 0x1
goto :goto_4
:cond_4
const/16 v9, 0x63
if-ne v6, v9, :cond_5
const/4 v10, 0x2
goto :goto_5
:cond_5
const/4 v10, 0x4
.line 15
:goto_5
invoke-static {p1, v3, v10}, Lcom/google/zxing/oned/Code128Writer;->isDigits(Ljava/lang/CharSequence;II)Z
move-result v10
const/16 v11, 0x64
if-eqz v10, :cond_6
goto :goto_6
:cond_6
move v9, v11
:goto_6
if-ne v9, v6, :cond_8
if-ne v6, v11, :cond_7
.line 16
invoke-virtual {p1, v3}, Ljava/lang/String;->charAt(I)C
move-result v9
add-int/lit8 v11, v9, -0x20
:goto_7
:pswitch_0
add-int/lit8 v3, v3, 0x1
goto :goto_a
.line 17
:cond_7
invoke-virtual {p1, v3}, Ljava/lang/String;->charAt(I)C
move-result v9
packed-switch v9, :pswitch_data_0
add-int/lit8 v9, v3, 0x2
.line 18
invoke-virtual {p1, v3, v9}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v11
move v3, v9
goto :goto_a
:pswitch_1
const/16 v11, 0x60
goto :goto_7
:pswitch_2
const/16 v11, 0x61
goto :goto_7
:pswitch_3
const/16 v11, 0x66
goto :goto_7
:cond_8
if-nez v6, :cond_a
if-ne v9, v11, :cond_9
const/16 v6, 0x68
goto :goto_8
:cond_9
const/16 v6, 0x69
:goto_8
move v11, v6
goto :goto_9
:cond_a
move v11, v9
:goto_9
move v6, v9
.line 19
:goto_a
sget-object v9, Lcom/google/zxing/oned/Code128Reader;->CODE_PATTERNS:[[I
aget-object v9, v9, v11
invoke-virtual {v5, v9}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
mul-int/2addr v11, v8
add-int/2addr v7, v11
if-eqz v3, :cond_0
add-int/lit8 v8, v8, 0x1
goto/16 :goto_1
.line 20
:cond_b
invoke-virtual {p1, v3}, Ljava/lang/String;->charAt(I)C
move-result v5
if-lt v5, v4, :cond_c
const/16 v4, 0x7e
if-le v5, v4, :cond_d
:cond_c
packed-switch v5, :pswitch_data_1
.line 21
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "Bad character in input: "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:cond_d
:pswitch_4
add-int/lit8 v3, v3, 0x1
goto/16 :goto_0
.line 22
:cond_e
new-instance p1, Ljava/lang/IllegalArgumentException;
.line 23
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Contents length should be between 1 and 80 characters, but got "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 24
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
nop
:pswitch_data_0
.packed-switch 0xf1
:pswitch_3
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
:pswitch_data_1
.packed-switch 0xf1
:pswitch_4
:pswitch_4
:pswitch_4
:pswitch_4
.end packed-switch
.end method
@@ -0,0 +1,962 @@
.class public final Lcom/google/zxing/oned/Code39Reader;
.super Lcom/google/zxing/oned/OneDReader;
.source "Code39Reader.java"
# static fields
.field private static final ALPHABET:[C
.field public static final ALPHABET_STRING:Ljava/lang/String; = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%"
.field private static final ASTERISK_ENCODING:I
.field public static final CHARACTER_ENCODINGS:[I
# instance fields
.field private final extendedMode:Z
.field private final usingCheckDigit:Z
# direct methods
.method public static constructor <clinit>()V
.locals 2
const-string v0, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%"
.line 1
invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C
move-result-object v0
sput-object v0, Lcom/google/zxing/oned/Code39Reader;->ALPHABET:[C
const/16 v0, 0x2c
new-array v0, v0, [I
.line 2
fill-array-data v0, :array_0
sput-object v0, Lcom/google/zxing/oned/Code39Reader;->CHARACTER_ENCODINGS:[I
const/16 v1, 0x27
.line 3
aget v0, v0, v1
sput v0, Lcom/google/zxing/oned/Code39Reader;->ASTERISK_ENCODING:I
return-void
:array_0
.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
0x94
0xa8
0xa2
0x8a
0x2a
.end array-data
.end method
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Lcom/google/zxing/oned/OneDReader;-><init>()V
const/4 v0, 0x0
.line 2
iput-boolean v0, p0, Lcom/google/zxing/oned/Code39Reader;->usingCheckDigit:Z
.line 3
iput-boolean v0, p0, Lcom/google/zxing/oned/Code39Reader;->extendedMode:Z
return-void
.end method
.method public constructor <init>(Z)V
.locals 0
.line 4
invoke-direct {p0}, Lcom/google/zxing/oned/OneDReader;-><init>()V
.line 5
iput-boolean p1, p0, Lcom/google/zxing/oned/Code39Reader;->usingCheckDigit:Z
const/4 p1, 0x0
.line 6
iput-boolean p1, p0, Lcom/google/zxing/oned/Code39Reader;->extendedMode:Z
return-void
.end method
.method public constructor <init>(ZZ)V
.locals 0
.line 7
invoke-direct {p0}, Lcom/google/zxing/oned/OneDReader;-><init>()V
.line 8
iput-boolean p1, p0, Lcom/google/zxing/oned/Code39Reader;->usingCheckDigit:Z
.line 9
iput-boolean p2, p0, Lcom/google/zxing/oned/Code39Reader;->extendedMode:Z
return-void
.end method
.method private static decodeExtended(Ljava/lang/CharSequence;)Ljava/lang/String;
.locals 12
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/FormatException;
}
.end annotation
.line 1
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
.line 2
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1, v0}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v2, 0x0
move v3, v2
:goto_0
if-lt v3, v0, :cond_0
.line 3
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.line 4
:cond_0
invoke-interface {p0, v3}, Ljava/lang/CharSequence;->charAt(I)C
move-result v4
const/16 v5, 0x2f
const/16 v6, 0x25
const/16 v7, 0x24
const/16 v8, 0x2b
if-eq v4, v8, :cond_2
if-eq v4, v7, :cond_2
if-eq v4, v6, :cond_2
if-ne v4, v5, :cond_1
goto :goto_1
.line 5
:cond_1
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_4
:cond_2
:goto_1
add-int/lit8 v3, v3, 0x1
.line 6
invoke-interface {p0, v3}, Ljava/lang/CharSequence;->charAt(I)C
move-result v9
const/16 v10, 0x5a
const/16 v11, 0x41
if-eq v4, v7, :cond_b
if-eq v4, v6, :cond_8
if-eq v4, v8, :cond_6
if-eq v4, v5, :cond_3
move v4, v2
goto :goto_3
:cond_3
if-lt v9, v11, :cond_4
const/16 v4, 0x4f
if-gt v9, v4, :cond_4
add-int/lit8 v9, v9, -0x20
goto :goto_2
:cond_4
if-ne v9, v10, :cond_5
const/16 v4, 0x3a
goto :goto_3
.line 7
:cond_5
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
:cond_6
if-lt v9, v11, :cond_7
if-gt v9, v10, :cond_7
add-int/lit8 v9, v9, 0x20
goto :goto_2
.line 8
:cond_7
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
:cond_8
if-lt v9, v11, :cond_9
const/16 v4, 0x45
if-gt v9, v4, :cond_9
add-int/lit8 v9, v9, -0x26
goto :goto_2
:cond_9
const/16 v4, 0x46
if-lt v9, v4, :cond_a
const/16 v4, 0x57
if-gt v9, v4, :cond_a
add-int/lit8 v9, v9, -0xb
goto :goto_2
.line 9
:cond_a
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
:cond_b
if-lt v9, v11, :cond_c
if-gt v9, v10, :cond_c
add-int/lit8 v9, v9, -0x40
:goto_2
int-to-char v4, v9
.line 10
:goto_3
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:goto_4
add-int/lit8 v3, v3, 0x1
goto :goto_0
.line 11
:cond_c
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
.end method
.method private static findAsteriskPattern(Lcom/google/zxing/common/BitArray;[I)[I
.locals 12
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v0
const/4 v1, 0x0
.line 2
invoke-virtual {p0, v1}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I
move-result v2
.line 3
array-length v3, p1
move v5, v1
move v6, v5
move v4, v2
:goto_0
if-ge v2, v0, :cond_3
.line 4
invoke-virtual {p0, v2}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result v7
xor-int/2addr v7, v5
const/4 v8, 0x1
if-eqz v7, :cond_0
.line 5
aget v7, p1, v6
add-int/2addr v7, v8
aput v7, p1, v6
goto :goto_2
:cond_0
add-int/lit8 v7, v3, -0x1
if-ne v6, v7, :cond_2
.line 6
invoke-static {p1}, Lcom/google/zxing/oned/Code39Reader;->toNarrowWidePattern([I)I
move-result v9
sget v10, Lcom/google/zxing/oned/Code39Reader;->ASTERISK_ENCODING:I
const/4 v11, 0x2
if-ne v9, v10, :cond_1
sub-int v9, v2, v4
shr-int/2addr v9, v8
sub-int v9, v4, v9
.line 7
invoke-static {v1, v9}, Ljava/lang/Math;->max(II)I
move-result v9
invoke-virtual {p0, v9, v4, v1}, Lcom/google/zxing/common/BitArray;->isRange(IIZ)Z
move-result v9
if-eqz v9, :cond_1
new-array p0, v11, [I
aput v4, p0, v1
aput v2, p0, v8
return-object p0
.line 8
:cond_1
aget v9, p1, v1
aget v10, p1, v8
add-int/2addr v9, v10
add-int/2addr v4, v9
add-int/lit8 v9, v3, -0x2
.line 9
invoke-static {p1, v11, p1, v1, v9}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 10
aput v1, p1, v9
.line 11
aput v1, p1, v7
add-int/lit8 v6, v6, -0x1
goto :goto_1
:cond_2
add-int/lit8 v6, v6, 0x1
.line 12
:goto_1
aput v8, p1, v6
xor-int/lit8 v5, v5, 0x1
:goto_2
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 13
:cond_3
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p0
throw p0
.end method
.method private static patternToChar(I)C
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
const/4 v0, 0x0
.line 1
:goto_0
sget-object v1, Lcom/google/zxing/oned/Code39Reader;->CHARACTER_ENCODINGS:[I
array-length v2, v1
if-ge v0, v2, :cond_1
.line 2
aget v1, v1, v0
if-ne v1, p0, :cond_0
.line 3
sget-object p0, Lcom/google/zxing/oned/Code39Reader;->ALPHABET:[C
aget-char p0, p0, v0
return p0
:cond_0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 4
:cond_1
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p0
throw p0
.end method
.method private static toNarrowWidePattern([I)I
.locals 10
.line 1
array-length v0, p0
const/4 v1, 0x0
move v2, v1
:goto_0
const v3, 0x7fffffff
.line 2
array-length v4, p0
move v5, v1
:goto_1
if-lt v5, v4, :cond_7
move v2, v1
move v4, v2
move v5, v4
move v6, v5
:goto_2
const/4 v7, 0x1
if-lt v2, v0, :cond_5
const/4 v2, 0x3
const/4 v8, -0x1
if-ne v4, v2, :cond_3
:goto_3
if-ge v1, v0, :cond_2
if-gtz v4, :cond_0
goto :goto_4
.line 3
:cond_0
aget v2, p0, v1
.line 4
aget v9, p0, v1
if-le v9, v3, :cond_1
add-int/lit8 v4, v4, -0x1
shl-int/2addr v2, v7
if-lt v2, v6, :cond_1
return v8
:cond_1
add-int/lit8 v1, v1, 0x1
goto :goto_3
:cond_2
:goto_4
return v5
:cond_3
if-gt v4, v2, :cond_4
return v8
:cond_4
move v2, v3
goto :goto_0
.line 5
:cond_5
aget v8, p0, v2
.line 6
aget v9, p0, v2
if-le v9, v3, :cond_6
add-int/lit8 v9, v0, -0x1
sub-int/2addr v9, v2
shl-int/2addr v7, v9
or-int/2addr v5, v7
add-int/lit8 v4, v4, 0x1
add-int/2addr v6, v8
:cond_6
add-int/lit8 v2, v2, 0x1
goto :goto_2
.line 7
:cond_7
aget v6, p0, v5
if-ge v6, v3, :cond_8
if-le v6, v2, :cond_8
move v3, v6
:cond_8
add-int/lit8 v5, v5, 0x1
goto :goto_1
.end method
# virtual methods
.method public decodeRow(ILcom/google/zxing/common/BitArray;Ljava/util/Map;)Lcom/google/zxing/Result;
.locals 11
.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
const/16 p3, 0x9
new-array v0, p3, [I
.line 1
invoke-static {p2, v0}, Lcom/google/zxing/oned/Code39Reader;->findAsteriskPattern(Lcom/google/zxing/common/BitArray;[I)[I
move-result-object v1
const/4 v2, 0x1
.line 2
aget v3, v1, v2
invoke-virtual {p2, v3}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I
move-result v3
.line 3
invoke-virtual {p2}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v4
.line 4
new-instance v5, Ljava/lang/StringBuilder;
const/16 v6, 0x14
invoke-direct {v5, v6}, Ljava/lang/StringBuilder;-><init>(I)V
.line 5
:goto_0
invoke-static {p2, v3, v0}, Lcom/google/zxing/oned/OneDReader;->recordPattern(Lcom/google/zxing/common/BitArray;I[I)V
.line 6
invoke-static {v0}, Lcom/google/zxing/oned/Code39Reader;->toNarrowWidePattern([I)I
move-result v6
if-ltz v6, :cond_a
.line 7
invoke-static {v6}, Lcom/google/zxing/oned/Code39Reader;->patternToChar(I)C
move-result v6
.line 8
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/4 v7, 0x0
move v9, v3
move v8, v7
:goto_1
if-lt v8, p3, :cond_9
.line 9
invoke-virtual {p2, v9}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I
move-result v8
const/16 v9, 0x2a
if-ne v6, v9, :cond_8
.line 10
invoke-virtual {v5}, Ljava/lang/StringBuilder;->length()I
move-result p2
sub-int/2addr p2, v2
invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->setLength(I)V
move p2, v7
move v6, p2
:goto_2
if-lt p2, p3, :cond_7
sub-int p2, v8, v3
sub-int/2addr p2, v6
if-eq v8, v4, :cond_1
shr-int/2addr p2, v2
if-lt p2, v6, :cond_0
goto :goto_3
.line 11
:cond_0
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.line 12
:cond_1
:goto_3
iget-boolean p2, p0, Lcom/google/zxing/oned/Code39Reader;->usingCheckDigit:Z
if-eqz p2, :cond_4
.line 13
invoke-virtual {v5}, Ljava/lang/StringBuilder;->length()I
move-result p2
sub-int/2addr p2, v2
move p3, v7
move v0, p3
:goto_4
if-lt p3, p2, :cond_3
.line 14
invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->charAt(I)C
move-result p3
sget-object v4, Lcom/google/zxing/oned/Code39Reader;->ALPHABET:[C
rem-int/lit8 v0, v0, 0x2b
aget-char v0, v4, v0
if-ne p3, v0, :cond_2
.line 15
invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->setLength(I)V
goto :goto_5
.line 16
:cond_2
invoke-static {}, Lcom/google/zxing/ChecksumException;->getChecksumInstance()Lcom/google/zxing/ChecksumException;
move-result-object p1
throw p1
.line 17
:cond_3
invoke-virtual {v5, p3}, Ljava/lang/StringBuilder;->charAt(I)C
move-result v4
const-string v6, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%"
invoke-virtual {v6, v4}, Ljava/lang/String;->indexOf(I)I
move-result v4
add-int/2addr v0, v4
add-int/lit8 p3, p3, 0x1
goto :goto_4
.line 18
:cond_4
:goto_5
invoke-virtual {v5}, Ljava/lang/StringBuilder;->length()I
move-result p2
if-eqz p2, :cond_6
.line 19
iget-boolean p2, p0, Lcom/google/zxing/oned/Code39Reader;->extendedMode:Z
if-eqz p2, :cond_5
.line 20
invoke-static {v5}, Lcom/google/zxing/oned/Code39Reader;->decodeExtended(Ljava/lang/CharSequence;)Ljava/lang/String;
move-result-object p2
goto :goto_6
.line 21
:cond_5
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
.line 22
:goto_6
aget p3, v1, v2
aget v0, v1, v7
add-int/2addr p3, v0
int-to-float p3, p3
const/high16 v0, 0x40000000 # 2.0f
div-float/2addr p3, v0
add-int/2addr v8, v3
int-to-float v1, v8
div-float/2addr v1, v0
.line 23
new-instance v0, Lcom/google/zxing/Result;
const/4 v3, 0x0
const/4 v4, 0x2
new-array v4, v4, [Lcom/google/zxing/ResultPoint;
.line 24
new-instance v5, Lcom/google/zxing/ResultPoint;
int-to-float p1, p1
invoke-direct {v5, p3, p1}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
aput-object v5, v4, v7
.line 25
new-instance p3, Lcom/google/zxing/ResultPoint;
invoke-direct {p3, v1, p1}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
aput-object p3, v4, v2
.line 26
sget-object p1, Lcom/google/zxing/BarcodeFormat;->CODE_39:Lcom/google/zxing/BarcodeFormat;
.line 27
invoke-direct {v0, p2, v3, v4, p1}, Lcom/google/zxing/Result;-><init>(Ljava/lang/String;[B[Lcom/google/zxing/ResultPoint;Lcom/google/zxing/BarcodeFormat;)V
return-object v0
.line 28
:cond_6
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.line 29
:cond_7
aget v9, v0, p2
add-int/2addr v6, v9
add-int/lit8 p2, p2, 0x1
goto/16 :goto_2
:cond_8
move v3, v8
goto/16 :goto_0
.line 30
:cond_9
aget v10, v0, v8
add-int/2addr v9, v10
add-int/lit8 v8, v8, 0x1
goto/16 :goto_1
.line 31
:cond_a
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.end method
@@ -0,0 +1,273 @@
.class public final Lcom/google/zxing/oned/Code39Writer;
.super Lcom/google/zxing/oned/OneDimensionalCodeWriter;
.source "Code39Writer.java"
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;-><init>()V
return-void
.end method
.method private static toIntArray(I[I)V
.locals 3
const/4 v0, 0x0
:goto_0
const/16 v1, 0x9
if-lt v0, v1, :cond_0
return-void
:cond_0
const/4 v1, 0x1
shl-int v2, v1, v0
and-int/2addr v2, p0
if-nez v2, :cond_1
goto :goto_1
:cond_1
const/4 v1, 0x2
.line 1
:goto_1
aput v1, p1, v0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.end method
# virtual methods
.method public encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/google/zxing/BarcodeFormat;",
"II",
"Ljava/util/Map<",
"Lcom/google/zxing/EncodeHintType;",
"*>;)",
"Lcom/google/zxing/common/BitMatrix;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/WriterException;
}
.end annotation
.line 1
sget-object v0, Lcom/google/zxing/BarcodeFormat;->CODE_39:Lcom/google/zxing/BarcodeFormat;
if-ne p2, v0, :cond_0
.line 2
invoke-super/range {p0 .. p5}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
move-result-object p1
return-object p1
.line 3
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p3, Ljava/lang/StringBuilder;
const-string p4, "Can only encode CODE_39, but got "
invoke-direct {p3, p4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public encode(Ljava/lang/String;)[Z
.locals 11
.line 4
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/16 v1, 0x50
if-gt v0, v1, :cond_3
const/16 v1, 0x9
new-array v2, v1, [I
add-int/lit8 v3, v0, 0x19
const/4 v4, 0x0
move v5, v4
:goto_0
const-string v6, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%"
if-lt v5, v0, :cond_1
.line 5
new-array v7, v3, [Z
.line 6
sget-object v1, Lcom/google/zxing/oned/Code39Reader;->CHARACTER_ENCODINGS:[I
const/16 v8, 0x27
aget v1, v1, v8
invoke-static {v1, v2}, Lcom/google/zxing/oned/Code39Writer;->toIntArray(I[I)V
const/4 v9, 0x1
.line 7
invoke-static {v7, v4, v2, v9}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v1
new-array v10, v9, [I
aput v9, v10, v4
.line 8
invoke-static {v7, v1, v10, v4}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v3
add-int/2addr v3, v1
sub-int/2addr v0, v9
:goto_1
if-gez v0, :cond_0
.line 9
sget-object p1, Lcom/google/zxing/oned/Code39Reader;->CHARACTER_ENCODINGS:[I
aget p1, p1, v8
invoke-static {p1, v2}, Lcom/google/zxing/oned/Code39Writer;->toIntArray(I[I)V
.line 10
invoke-static {v7, v3, v2, v9}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
return-object v7
.line 11
:cond_0
invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C
move-result v1
invoke-virtual {v6, v1}, Ljava/lang/String;->indexOf(I)I
move-result v1
.line 12
sget-object v5, Lcom/google/zxing/oned/Code39Reader;->CHARACTER_ENCODINGS:[I
aget v1, v5, v1
invoke-static {v1, v2}, Lcom/google/zxing/oned/Code39Writer;->toIntArray(I[I)V
.line 13
invoke-static {v7, v3, v2, v9}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v1
add-int/2addr v1, v3
.line 14
invoke-static {v7, v1, v10, v4}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v3
add-int/2addr v3, v1
add-int/lit8 v0, v0, -0x1
goto :goto_1
.line 15
:cond_1
invoke-virtual {p1, v5}, Ljava/lang/String;->charAt(I)C
move-result v7
invoke-virtual {v6, v7}, Ljava/lang/String;->indexOf(I)I
move-result v6
.line 16
sget-object v7, Lcom/google/zxing/oned/Code39Reader;->CHARACTER_ENCODINGS:[I
aget v6, v7, v6
invoke-static {v6, v2}, Lcom/google/zxing/oned/Code39Writer;->toIntArray(I[I)V
move v6, v4
:goto_2
if-lt v6, v1, :cond_2
add-int/lit8 v5, v5, 0x1
goto :goto_0
.line 17
:cond_2
aget v7, v2, v6
add-int/2addr v3, v7
add-int/lit8 v6, v6, 0x1
goto :goto_2
.line 18
:cond_3
new-instance p1, Ljava/lang/IllegalArgumentException;
.line 19
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Requested contents should be less than 80 digits long, but got "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 20
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
@@ -0,0 +1,898 @@
.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 private static final ALPHABET_STRING:Ljava/lang/String; = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%abcd*"
.field private static final ASTERISK_ENCODING:I
.field private static final CHARACTER_ENCODINGS:[I
# direct methods
.method public static constructor <clinit>()V
.locals 2
const-string v0, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%abcd*"
.line 1
invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C
move-result-object v0
sput-object v0, Lcom/google/zxing/oned/Code93Reader;->ALPHABET:[C
const/16 v0, 0x30
new-array v0, v0, [I
.line 2
fill-array-data v0, :array_0
sput-object v0, Lcom/google/zxing/oned/Code93Reader;->CHARACTER_ENCODINGS:[I
const/16 v1, 0x2f
.line 3
aget v0, v0, v1
sput v0, Lcom/google/zxing/oned/Code93Reader;->ASTERISK_ENCODING:I
return-void
:array_0
.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
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/zxing/oned/OneDReader;-><init>()V
return-void
.end method
.method private static checkChecksums(Ljava/lang/CharSequence;)V
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/ChecksumException;
}
.end annotation
.line 1
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
add-int/lit8 v1, v0, -0x2
const/16 v2, 0x14
.line 2
invoke-static {p0, v1, v2}, Lcom/google/zxing/oned/Code93Reader;->checkOneChecksum(Ljava/lang/CharSequence;II)V
add-int/lit8 v0, v0, -0x1
const/16 v1, 0xf
.line 3
invoke-static {p0, v0, v1}, Lcom/google/zxing/oned/Code93Reader;->checkOneChecksum(Ljava/lang/CharSequence;II)V
return-void
.end method
.method private static checkOneChecksum(Ljava/lang/CharSequence;II)V
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/ChecksumException;
}
.end annotation
add-int/lit8 v0, p1, -0x1
const/4 v1, 0x1
const/4 v2, 0x0
move v3, v1
:goto_0
if-gez v0, :cond_1
.line 1
invoke-interface {p0, p1}, Ljava/lang/CharSequence;->charAt(I)C
move-result p0
sget-object p1, Lcom/google/zxing/oned/Code93Reader;->ALPHABET:[C
rem-int/lit8 v2, v2, 0x2f
aget-char p1, p1, v2
if-ne p0, p1, :cond_0
return-void
.line 2
:cond_0
invoke-static {}, Lcom/google/zxing/ChecksumException;->getChecksumInstance()Lcom/google/zxing/ChecksumException;
move-result-object p0
throw p0
.line 3
:cond_1
invoke-interface {p0, v0}, Ljava/lang/CharSequence;->charAt(I)C
move-result v4
const-string v5, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%abcd*"
invoke-virtual {v5, v4}, Ljava/lang/String;->indexOf(I)I
move-result v4
mul-int/2addr v4, v3
add-int/2addr v2, v4
add-int/2addr v3, v1
if-le v3, p2, :cond_2
move v3, v1
:cond_2
add-int/lit8 v0, v0, -0x1
goto :goto_0
.end method
.method private static decodeExtended(Ljava/lang/CharSequence;)Ljava/lang/String;
.locals 8
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/FormatException;
}
.end annotation
.line 1
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
.line 2
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1, v0}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v2, 0x0
move v3, v2
:goto_0
if-lt v3, v0, :cond_0
.line 3
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.line 4
:cond_0
invoke-interface {p0, v3}, Ljava/lang/CharSequence;->charAt(I)C
move-result v4
const/16 v5, 0x61
if-lt v4, v5, :cond_8
const/16 v5, 0x64
if-gt v4, v5, :cond_8
add-int/lit8 v5, v0, -0x1
if-ge v3, v5, :cond_7
add-int/lit8 v3, v3, 0x1
.line 5
invoke-interface {p0, v3}, Ljava/lang/CharSequence;->charAt(I)C
move-result v5
const/16 v6, 0x5a
const/16 v7, 0x41
packed-switch v4, :pswitch_data_0
move v4, v2
goto :goto_2
:pswitch_0
if-lt v5, v7, :cond_1
if-gt v5, v6, :cond_1
add-int/lit8 v5, v5, 0x20
goto :goto_1
.line 6
:cond_1
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
:pswitch_1
if-lt v5, v7, :cond_2
const/16 v4, 0x4f
if-gt v5, v4, :cond_2
add-int/lit8 v5, v5, -0x20
goto :goto_1
:cond_2
if-ne v5, v6, :cond_3
const/16 v4, 0x3a
goto :goto_2
.line 7
:cond_3
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
:pswitch_2
if-lt v5, v7, :cond_4
const/16 v4, 0x45
if-gt v5, v4, :cond_4
add-int/lit8 v5, v5, -0x26
goto :goto_1
:cond_4
const/16 v4, 0x46
if-lt v5, v4, :cond_5
const/16 v4, 0x57
if-gt v5, v4, :cond_5
add-int/lit8 v5, v5, -0xb
goto :goto_1
.line 8
:cond_5
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
:pswitch_3
if-lt v5, v7, :cond_6
if-gt v5, v6, :cond_6
add-int/lit8 v5, v5, -0x40
:goto_1
int-to-char v4, v5
goto :goto_2
.line 9
:cond_6
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
.line 10
:goto_2
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_3
.line 11
:cond_7
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
.line 12
:cond_8
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:goto_3
add-int/lit8 v3, v3, 0x1
goto :goto_0
nop
:pswitch_data_0
.packed-switch 0x61
:pswitch_3
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
.end method
.method private static findAsteriskPattern(Lcom/google/zxing/common/BitArray;)[I
.locals 12
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v0
const/4 v1, 0x0
.line 2
invoke-virtual {p0, v1}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I
move-result v2
const/4 v3, 0x6
new-array v3, v3, [I
move v5, v1
move v6, v5
move v4, v2
:goto_0
if-ge v2, v0, :cond_3
.line 3
invoke-virtual {p0, v2}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result v7
xor-int/2addr v7, v5
const/4 v8, 0x1
if-eqz v7, :cond_0
.line 4
aget v7, v3, v6
add-int/2addr v7, v8
aput v7, v3, v6
goto :goto_2
:cond_0
const/4 v7, 0x5
if-ne v6, v7, :cond_2
.line 5
invoke-static {v3}, Lcom/google/zxing/oned/Code93Reader;->toPattern([I)I
move-result v9
sget v10, Lcom/google/zxing/oned/Code93Reader;->ASTERISK_ENCODING:I
const/4 v11, 0x2
if-ne v9, v10, :cond_1
new-array p0, v11, [I
aput v4, p0, v1
aput v2, p0, v8
return-object p0
.line 6
:cond_1
aget v9, v3, v1
aget v10, v3, v8
add-int/2addr v9, v10
add-int/2addr v4, v9
const/4 v9, 0x4
.line 7
invoke-static {v3, v11, v3, v1, v9}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
aput v1, v3, v9
aput v1, v3, v7
add-int/lit8 v6, v6, -0x1
goto :goto_1
:cond_2
add-int/lit8 v6, v6, 0x1
.line 8
:goto_1
aput v8, v3, v6
xor-int/lit8 v5, v5, 0x1
:goto_2
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 9
:cond_3
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p0
throw p0
.end method
.method private static patternToChar(I)C
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
const/4 v0, 0x0
.line 1
:goto_0
sget-object v1, Lcom/google/zxing/oned/Code93Reader;->CHARACTER_ENCODINGS:[I
array-length v2, v1
if-ge v0, v2, :cond_1
.line 2
aget v1, v1, v0
if-ne v1, p0, :cond_0
.line 3
sget-object p0, Lcom/google/zxing/oned/Code93Reader;->ALPHABET:[C
aget-char p0, p0, v0
return p0
:cond_0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 4
:cond_1
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p0
throw p0
.end method
.method private static toPattern([I)I
.locals 8
.line 1
array-length v0, p0
.line 2
array-length v1, p0
const/4 v2, 0x0
move v3, v2
move v4, v3
:goto_0
if-lt v3, v1, :cond_6
move v1, v2
move v3, v1
:goto_1
if-lt v1, v0, :cond_0
return v3
.line 3
:cond_0
aget v5, p0, v1
shl-int/lit8 v5, v5, 0x8
mul-int/lit8 v5, v5, 0x9
div-int/2addr v5, v4
shr-int/lit8 v6, v5, 0x8
and-int/lit16 v5, v5, 0xff
const/16 v7, 0x7f
if-le v5, v7, :cond_1
add-int/lit8 v6, v6, 0x1
:cond_1
const/4 v5, 0x1
if-lt v6, v5, :cond_5
const/4 v7, 0x4
if-le v6, v7, :cond_2
goto :goto_4
:cond_2
and-int/lit8 v7, v1, 0x1
if-nez v7, :cond_4
move v7, v2
:goto_2
if-lt v7, v6, :cond_3
goto :goto_3
:cond_3
shl-int/lit8 v3, v3, 0x1
or-int/2addr v3, v5
add-int/lit8 v7, v7, 0x1
goto :goto_2
:cond_4
shl-int/2addr v3, v6
:goto_3
add-int/lit8 v1, v1, 0x1
goto :goto_1
:cond_5
:goto_4
const/4 p0, -0x1
return p0
.line 4
:cond_6
aget v5, p0, v3
add-int/2addr v4, v5
add-int/lit8 v3, v3, 0x1
goto :goto_0
.end method
# virtual methods
.method public decodeRow(ILcom/google/zxing/common/BitArray;Ljava/util/Map;)Lcom/google/zxing/Result;
.locals 11
.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 1
invoke-static {p2}, Lcom/google/zxing/oned/Code93Reader;->findAsteriskPattern(Lcom/google/zxing/common/BitArray;)[I
move-result-object p3
const/4 v0, 0x1
.line 2
aget v1, p3, v0
invoke-virtual {p2, v1}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I
move-result v1
.line 3
invoke-virtual {p2}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v2
.line 4
new-instance v3, Ljava/lang/StringBuilder;
const/16 v4, 0x14
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v4, 0x6
new-array v5, v4, [I
.line 5
:goto_0
invoke-static {p2, v1, v5}, Lcom/google/zxing/oned/OneDReader;->recordPattern(Lcom/google/zxing/common/BitArray;I[I)V
.line 6
invoke-static {v5}, Lcom/google/zxing/oned/Code93Reader;->toPattern([I)I
move-result v6
if-ltz v6, :cond_4
.line 7
invoke-static {v6}, Lcom/google/zxing/oned/Code93Reader;->patternToChar(I)C
move-result v6
.line 8
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/4 v7, 0x0
move v9, v1
move v8, v7
:goto_1
if-lt v8, v4, :cond_3
.line 9
invoke-virtual {p2, v9}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I
move-result v8
const/16 v9, 0x2a
if-ne v6, v9, :cond_2
.line 10
invoke-virtual {v3}, Ljava/lang/StringBuilder;->length()I
move-result v4
sub-int/2addr v4, v0
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->deleteCharAt(I)Ljava/lang/StringBuilder;
if-eq v8, v2, :cond_1
.line 11
invoke-virtual {p2, v8}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result p2
if-eqz p2, :cond_1
.line 12
invoke-virtual {v3}, Ljava/lang/StringBuilder;->length()I
move-result p2
const/4 v2, 0x2
if-lt p2, v2, :cond_0
.line 13
invoke-static {v3}, Lcom/google/zxing/oned/Code93Reader;->checkChecksums(Ljava/lang/CharSequence;)V
.line 14
invoke-virtual {v3}, Ljava/lang/StringBuilder;->length()I
move-result p2
sub-int/2addr p2, v2
invoke-virtual {v3, p2}, Ljava/lang/StringBuilder;->setLength(I)V
.line 15
invoke-static {v3}, Lcom/google/zxing/oned/Code93Reader;->decodeExtended(Ljava/lang/CharSequence;)Ljava/lang/String;
move-result-object p2
.line 16
aget v3, p3, v0
aget p3, p3, v7
add-int/2addr v3, p3
int-to-float p3, v3
const/high16 v3, 0x40000000 # 2.0f
div-float/2addr p3, v3
add-int/2addr v8, v1
int-to-float v1, v8
div-float/2addr v1, v3
.line 17
new-instance v3, Lcom/google/zxing/Result;
const/4 v4, 0x0
new-array v2, v2, [Lcom/google/zxing/ResultPoint;
.line 18
new-instance v5, Lcom/google/zxing/ResultPoint;
int-to-float p1, p1
invoke-direct {v5, p3, p1}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
aput-object v5, v2, v7
.line 19
new-instance p3, Lcom/google/zxing/ResultPoint;
invoke-direct {p3, v1, p1}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
aput-object p3, v2, v0
.line 20
sget-object p1, Lcom/google/zxing/BarcodeFormat;->CODE_93:Lcom/google/zxing/BarcodeFormat;
.line 21
invoke-direct {v3, p2, v4, v2, p1}, Lcom/google/zxing/Result;-><init>(Ljava/lang/String;[B[Lcom/google/zxing/ResultPoint;Lcom/google/zxing/BarcodeFormat;)V
return-object v3
.line 22
:cond_0
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.line 23
:cond_1
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
:cond_2
move v1, v8
goto :goto_0
.line 24
:cond_3
aget v10, v5, v8
add-int/2addr v9, v10
add-int/lit8 v8, v8, 0x1
goto :goto_1
.line 25
:cond_4
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.end method
@@ -0,0 +1,320 @@
.class public final Lcom/google/zxing/oned/EAN13Reader;
.super Lcom/google/zxing/oned/UPCEANReader;
.source "EAN13Reader.java"
# static fields
.field public static final FIRST_DIGIT_ENCODINGS:[I
# instance fields
.field private final decodeMiddleCounters:[I
# direct methods
.method public static constructor <clinit>()V
.locals 3
const/16 v0, 0xa
new-array v0, v0, [I
const/4 v1, 0x1
const/16 v2, 0xb
aput v2, v0, v1
const/4 v1, 0x2
const/16 v2, 0xd
aput v2, v0, v1
const/4 v1, 0x3
const/16 v2, 0xe
aput v2, v0, v1
const/4 v1, 0x4
const/16 v2, 0x13
aput v2, v0, v1
const/4 v1, 0x5
const/16 v2, 0x19
aput v2, v0, v1
const/4 v1, 0x6
const/16 v2, 0x1c
aput v2, v0, v1
const/4 v1, 0x7
const/16 v2, 0x15
aput v2, v0, v1
const/16 v1, 0x8
const/16 v2, 0x16
aput v2, v0, v1
const/16 v1, 0x9
const/16 v2, 0x1a
aput v2, v0, v1
.line 1
sput-object v0, Lcom/google/zxing/oned/EAN13Reader;->FIRST_DIGIT_ENCODINGS:[I
return-void
.end method
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Lcom/google/zxing/oned/UPCEANReader;-><init>()V
const/4 v0, 0x4
new-array v0, v0, [I
.line 2
iput-object v0, p0, Lcom/google/zxing/oned/EAN13Reader;->decodeMiddleCounters:[I
return-void
.end method
.method private static determineFirstDigit(Ljava/lang/StringBuilder;I)V
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
const/4 v0, 0x0
move v1, v0
:goto_0
const/16 v2, 0xa
if-ge v1, v2, :cond_1
.line 1
sget-object v2, Lcom/google/zxing/oned/EAN13Reader;->FIRST_DIGIT_ENCODINGS:[I
aget v2, v2, v1
if-ne p1, v2, :cond_0
add-int/lit8 v1, v1, 0x30
int-to-char p1, v1
.line 2
invoke-virtual {p0, v0, p1}, Ljava/lang/StringBuilder;->insert(IC)Ljava/lang/StringBuilder;
return-void
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 3
:cond_1
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p0
throw p0
.end method
# virtual methods
.method public decodeMiddle(Lcom/google/zxing/common/BitArray;[ILjava/lang/StringBuilder;)I
.locals 10
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/EAN13Reader;->decodeMiddleCounters:[I
const/4 v1, 0x0
.line 2
aput v1, v0, v1
const/4 v2, 0x1
.line 3
aput v1, v0, v2
const/4 v3, 0x2
.line 4
aput v1, v0, v3
const/4 v3, 0x3
.line 5
aput v1, v0, v3
.line 6
invoke-virtual {p1}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v3
.line 7
aget p2, p2, v2
move v4, v1
move v5, v4
:goto_0
const/4 v6, 0x6
if-ge v4, v6, :cond_3
if-lt p2, v3, :cond_0
goto :goto_2
.line 8
:cond_0
sget-object v6, Lcom/google/zxing/oned/UPCEANReader;->L_AND_G_PATTERNS:[[I
invoke-static {p1, v0, p2, v6}, Lcom/google/zxing/oned/UPCEANReader;->decodeDigit(Lcom/google/zxing/common/BitArray;[II[[I)I
move-result v7
.line 9
rem-int/lit8 v6, v7, 0xa
add-int/lit8 v6, v6, 0x30
int-to-char v6, v6
invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 10
array-length v8, v0
move v6, v1
:goto_1
if-lt v6, v8, :cond_2
const/16 v6, 0xa
if-lt v7, v6, :cond_1
rsub-int/lit8 v6, v4, 0x5
shl-int v6, v2, v6
or-int/2addr v5, v6
:cond_1
add-int/lit8 v4, v4, 0x1
goto :goto_0
:cond_2
aget v9, v0, v6
add-int/2addr p2, v9
add-int/lit8 v6, v6, 0x1
goto :goto_1
.line 11
:cond_3
:goto_2
invoke-static {p3, v5}, Lcom/google/zxing/oned/EAN13Reader;->determineFirstDigit(Ljava/lang/StringBuilder;I)V
.line 12
sget-object v4, Lcom/google/zxing/oned/UPCEANReader;->MIDDLE_PATTERN:[I
invoke-static {p1, p2, v2, v4}, Lcom/google/zxing/oned/UPCEANReader;->findGuardPattern(Lcom/google/zxing/common/BitArray;IZ[I)[I
move-result-object p2
.line 13
aget p2, p2, v2
move v2, v1
:goto_3
if-ge v2, v6, :cond_6
if-lt p2, v3, :cond_4
goto :goto_5
.line 14
:cond_4
sget-object v4, Lcom/google/zxing/oned/UPCEANReader;->L_PATTERNS:[[I
invoke-static {p1, v0, p2, v4}, Lcom/google/zxing/oned/UPCEANReader;->decodeDigit(Lcom/google/zxing/common/BitArray;[II[[I)I
move-result v4
add-int/lit8 v4, v4, 0x30
int-to-char v4, v4
.line 15
invoke-virtual {p3, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 16
array-length v4, v0
move v5, v1
:goto_4
if-lt v5, v4, :cond_5
add-int/lit8 v2, v2, 0x1
goto :goto_3
:cond_5
aget v7, v0, v5
add-int/2addr p2, v7
add-int/lit8 v5, v5, 0x1
goto :goto_4
:cond_6
:goto_5
return p2
.end method
.method public getBarcodeFormat()Lcom/google/zxing/BarcodeFormat;
.locals 1
.line 1
sget-object v0, Lcom/google/zxing/BarcodeFormat;->EAN_13:Lcom/google/zxing/BarcodeFormat;
return-object v0
.end method
@@ -0,0 +1,272 @@
.class public final Lcom/google/zxing/oned/EAN13Writer;
.super Lcom/google/zxing/oned/UPCEANWriter;
.source "EAN13Writer.java"
# static fields
.field private static final CODE_WIDTH:I = 0x5f
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/zxing/oned/UPCEANWriter;-><init>()V
return-void
.end method
# virtual methods
.method public encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/google/zxing/BarcodeFormat;",
"II",
"Ljava/util/Map<",
"Lcom/google/zxing/EncodeHintType;",
"*>;)",
"Lcom/google/zxing/common/BitMatrix;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/WriterException;
}
.end annotation
.line 1
sget-object v0, Lcom/google/zxing/BarcodeFormat;->EAN_13:Lcom/google/zxing/BarcodeFormat;
if-ne p2, v0, :cond_0
.line 2
invoke-super/range {p0 .. p5}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
move-result-object p1
return-object p1
.line 3
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p3, Ljava/lang/StringBuilder;
const-string p4, "Can only encode EAN_13, but got "
invoke-direct {p3, p4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public encode(Ljava/lang/String;)[Z
.locals 8
.line 4
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/16 v1, 0xd
if-ne v0, v1, :cond_4
.line 5
:try_start_0
invoke-static {p1}, Lcom/google/zxing/oned/UPCEANReader;->checkStandardUPCEANChecksum(Ljava/lang/CharSequence;)Z
move-result v0
:try_end_0
.catch Lcom/google/zxing/FormatException; {:try_start_0 .. :try_end_0} :catch_0
if-eqz v0, :cond_3
const/4 v0, 0x0
const/4 v1, 0x1
.line 6
invoke-virtual {p1, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v2
.line 7
sget-object v3, Lcom/google/zxing/oned/EAN13Reader;->FIRST_DIGIT_ENCODINGS:[I
aget v2, v3, v2
const/16 v3, 0x5f
new-array v3, v3, [Z
.line 8
sget-object v4, Lcom/google/zxing/oned/UPCEANReader;->START_END_PATTERN:[I
invoke-static {v3, v0, v4, v1}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v4
add-int/2addr v4, v0
move v5, v1
:goto_0
const/4 v6, 0x6
if-le v5, v6, :cond_1
.line 9
sget-object v2, Lcom/google/zxing/oned/UPCEANReader;->MIDDLE_PATTERN:[I
invoke-static {v3, v4, v2, v0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v0
add-int/2addr v0, v4
const/4 v2, 0x7
:goto_1
const/16 v4, 0xc
if-le v2, v4, :cond_0
.line 10
sget-object p1, Lcom/google/zxing/oned/UPCEANReader;->START_END_PATTERN:[I
invoke-static {v3, v0, p1, v1}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
return-object v3
:cond_0
add-int/lit8 v4, v2, 0x1
.line 11
invoke-virtual {p1, v2, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v2
.line 12
sget-object v5, Lcom/google/zxing/oned/UPCEANReader;->L_PATTERNS:[[I
aget-object v2, v5, v2
invoke-static {v3, v0, v2, v1}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v2
add-int/2addr v0, v2
move v2, v4
goto :goto_1
:cond_1
add-int/lit8 v6, v5, 0x1
.line 13
invoke-virtual {p1, v5, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v7
invoke-static {v7}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v7
rsub-int/lit8 v5, v5, 0x6
shr-int v5, v2, v5
and-int/2addr v5, v1
if-ne v5, v1, :cond_2
add-int/lit8 v7, v7, 0xa
.line 14
:cond_2
sget-object v5, Lcom/google/zxing/oned/UPCEANReader;->L_AND_G_PATTERNS:[[I
aget-object v5, v5, v7
invoke-static {v3, v4, v5, v0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v5
add-int/2addr v4, v5
move v5, v6
goto :goto_0
.line 15
:cond_3
:try_start_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Contents do not pass checksum"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:try_end_1
.catch Lcom/google/zxing/FormatException; {:try_start_1 .. :try_end_1} :catch_0
.line 16
:catch_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Illegal contents"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 17
:cond_4
new-instance v0, Ljava/lang/IllegalArgumentException;
.line 18
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Requested contents should be 13 digits long, but got "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 19
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
@@ -0,0 +1,184 @@
.class public final Lcom/google/zxing/oned/EAN8Reader;
.super Lcom/google/zxing/oned/UPCEANReader;
.source "EAN8Reader.java"
# instance fields
.field private final decodeMiddleCounters:[I
# direct methods
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Lcom/google/zxing/oned/UPCEANReader;-><init>()V
const/4 v0, 0x4
new-array v0, v0, [I
.line 2
iput-object v0, p0, Lcom/google/zxing/oned/EAN8Reader;->decodeMiddleCounters:[I
return-void
.end method
# virtual methods
.method public decodeMiddle(Lcom/google/zxing/common/BitArray;[ILjava/lang/StringBuilder;)I
.locals 8
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/EAN8Reader;->decodeMiddleCounters:[I
const/4 v1, 0x0
.line 2
aput v1, v0, v1
const/4 v2, 0x1
.line 3
aput v1, v0, v2
const/4 v3, 0x2
.line 4
aput v1, v0, v3
const/4 v3, 0x3
.line 5
aput v1, v0, v3
.line 6
invoke-virtual {p1}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v3
.line 7
aget p2, p2, v2
move v4, v1
:goto_0
const/4 v5, 0x4
if-ge v4, v5, :cond_2
if-lt p2, v3, :cond_0
goto :goto_2
.line 8
:cond_0
sget-object v5, Lcom/google/zxing/oned/UPCEANReader;->L_PATTERNS:[[I
invoke-static {p1, v0, p2, v5}, Lcom/google/zxing/oned/UPCEANReader;->decodeDigit(Lcom/google/zxing/common/BitArray;[II[[I)I
move-result v5
add-int/lit8 v5, v5, 0x30
int-to-char v5, v5
.line 9
invoke-virtual {p3, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 10
array-length v6, v0
move v5, v1
:goto_1
if-lt v5, v6, :cond_1
add-int/lit8 v4, v4, 0x1
goto :goto_0
:cond_1
aget v7, v0, v5
add-int/2addr p2, v7
add-int/lit8 v5, v5, 0x1
goto :goto_1
.line 11
:cond_2
:goto_2
sget-object v4, Lcom/google/zxing/oned/UPCEANReader;->MIDDLE_PATTERN:[I
invoke-static {p1, p2, v2, v4}, Lcom/google/zxing/oned/UPCEANReader;->findGuardPattern(Lcom/google/zxing/common/BitArray;IZ[I)[I
move-result-object p2
.line 12
aget p2, p2, v2
move v2, v1
:goto_3
if-ge v2, v5, :cond_5
if-lt p2, v3, :cond_3
goto :goto_5
.line 13
:cond_3
sget-object v4, Lcom/google/zxing/oned/UPCEANReader;->L_PATTERNS:[[I
invoke-static {p1, v0, p2, v4}, Lcom/google/zxing/oned/UPCEANReader;->decodeDigit(Lcom/google/zxing/common/BitArray;[II[[I)I
move-result v4
add-int/lit8 v4, v4, 0x30
int-to-char v4, v4
.line 14
invoke-virtual {p3, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 15
array-length v4, v0
move v6, v1
:goto_4
if-lt v6, v4, :cond_4
add-int/lit8 v2, v2, 0x1
goto :goto_3
:cond_4
aget v7, v0, v6
add-int/2addr p2, v7
add-int/lit8 v6, v6, 0x1
goto :goto_4
:cond_5
:goto_5
return p2
.end method
.method public getBarcodeFormat()Lcom/google/zxing/BarcodeFormat;
.locals 1
.line 1
sget-object v0, Lcom/google/zxing/BarcodeFormat;->EAN_8:Lcom/google/zxing/BarcodeFormat;
return-object v0
.end method
@@ -0,0 +1,216 @@
.class public final Lcom/google/zxing/oned/EAN8Writer;
.super Lcom/google/zxing/oned/UPCEANWriter;
.source "EAN8Writer.java"
# static fields
.field private static final CODE_WIDTH:I = 0x43
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/zxing/oned/UPCEANWriter;-><init>()V
return-void
.end method
# virtual methods
.method public encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/google/zxing/BarcodeFormat;",
"II",
"Ljava/util/Map<",
"Lcom/google/zxing/EncodeHintType;",
"*>;)",
"Lcom/google/zxing/common/BitMatrix;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/WriterException;
}
.end annotation
.line 1
sget-object v0, Lcom/google/zxing/BarcodeFormat;->EAN_8:Lcom/google/zxing/BarcodeFormat;
if-ne p2, v0, :cond_0
.line 2
invoke-super/range {p0 .. p5}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
move-result-object p1
return-object p1
.line 3
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p3, Ljava/lang/StringBuilder;
const-string p4, "Can only encode EAN_8, but got "
invoke-direct {p3, p4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 4
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
.line 5
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public encode(Ljava/lang/String;)[Z
.locals 7
.line 6
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/16 v1, 0x8
if-ne v0, v1, :cond_2
const/16 v0, 0x43
new-array v0, v0, [Z
.line 7
sget-object v1, Lcom/google/zxing/oned/UPCEANReader;->START_END_PATTERN:[I
const/4 v2, 0x0
const/4 v3, 0x1
invoke-static {v0, v2, v1, v3}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v1
add-int/2addr v1, v2
move v4, v2
:goto_0
const/4 v5, 0x3
if-le v4, v5, :cond_1
.line 8
sget-object v4, Lcom/google/zxing/oned/UPCEANReader;->MIDDLE_PATTERN:[I
invoke-static {v0, v1, v4, v2}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v2
add-int/2addr v2, v1
const/4 v1, 0x4
:goto_1
const/4 v4, 0x7
if-le v1, v4, :cond_0
.line 9
sget-object p1, Lcom/google/zxing/oned/UPCEANReader;->START_END_PATTERN:[I
invoke-static {v0, v2, p1, v3}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
return-object v0
:cond_0
add-int/lit8 v4, v1, 0x1
.line 10
invoke-virtual {p1, v1, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v1
.line 11
sget-object v5, Lcom/google/zxing/oned/UPCEANReader;->L_PATTERNS:[[I
aget-object v1, v5, v1
invoke-static {v0, v2, v1, v3}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v1
add-int/2addr v2, v1
move v1, v4
goto :goto_1
:cond_1
add-int/lit8 v5, v4, 0x1
.line 12
invoke-virtual {p1, v4, v5}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v4
invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v4
.line 13
sget-object v6, Lcom/google/zxing/oned/UPCEANReader;->L_PATTERNS:[[I
aget-object v4, v6, v4
invoke-static {v0, v1, v4, v2}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v4
add-int/2addr v1, v4
move v4, v5
goto :goto_0
.line 14
:cond_2
new-instance v0, Ljava/lang/IllegalArgumentException;
.line 15
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Requested contents should be 8 digits long, but got "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 16
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,922 @@
.class public final Lcom/google/zxing/oned/ITFReader;
.super Lcom/google/zxing/oned/OneDReader;
.source "ITFReader.java"
# static fields
.field private static final DEFAULT_ALLOWED_LENGTHS:[I
.field private static final END_PATTERN_REVERSED:[I
.field private static final MAX_AVG_VARIANCE:I = 0x6b
.field private static final MAX_INDIVIDUAL_VARIANCE:I = 0xcc
.field private static final N:I = 0x1
.field public static final PATTERNS:[[I
.field private static final START_PATTERN:[I
.field private static final W:I = 0x3
# instance fields
.field private narrowLineWidth:I
# direct methods
.method public static constructor <clinit>()V
.locals 6
const/16 v0, 0xa
new-array v1, v0, [I
.line 1
fill-array-data v1, :array_0
sput-object v1, Lcom/google/zxing/oned/ITFReader;->DEFAULT_ALLOWED_LENGTHS:[I
const/4 v1, 0x4
new-array v2, v1, [I
.line 2
fill-array-data v2, :array_1
sput-object v2, Lcom/google/zxing/oned/ITFReader;->START_PATTERN:[I
const/4 v2, 0x3
new-array v3, v2, [I
.line 3
fill-array-data v3, :array_2
sput-object v3, Lcom/google/zxing/oned/ITFReader;->END_PATTERN_REVERSED:[I
new-array v0, v0, [[I
const/4 v3, 0x5
new-array v4, v3, [I
.line 4
fill-array-data v4, :array_3
const/4 v5, 0x0
aput-object v4, v0, v5
new-array v4, v3, [I
.line 5
fill-array-data v4, :array_4
const/4 v5, 0x1
aput-object v4, v0, v5
new-array v4, v3, [I
.line 6
fill-array-data v4, :array_5
const/4 v5, 0x2
aput-object v4, v0, v5
new-array v4, v3, [I
.line 7
fill-array-data v4, :array_6
aput-object v4, v0, v2
new-array v2, v3, [I
.line 8
fill-array-data v2, :array_7
aput-object v2, v0, v1
new-array v1, v3, [I
.line 9
fill-array-data v1, :array_8
aput-object v1, v0, v3
new-array v1, v3, [I
.line 10
fill-array-data v1, :array_9
const/4 v2, 0x6
aput-object v1, v0, v2
new-array v1, v3, [I
.line 11
fill-array-data v1, :array_a
const/4 v2, 0x7
aput-object v1, v0, v2
new-array v1, v3, [I
.line 12
fill-array-data v1, :array_b
const/16 v2, 0x8
aput-object v1, v0, v2
new-array v1, v3, [I
.line 13
fill-array-data v1, :array_c
const/16 v2, 0x9
aput-object v1, v0, v2
.line 14
sput-object v0, Lcom/google/zxing/oned/ITFReader;->PATTERNS:[[I
return-void
:array_0
.array-data 4
0x2c
0x18
0x14
0x12
0x10
0xe
0xc
0xa
0x8
0x6
.end array-data
:array_1
.array-data 4
0x1
0x1
0x1
0x1
.end array-data
:array_2
.array-data 4
0x1
0x1
0x3
.end array-data
:array_3
.array-data 4
0x1
0x1
0x3
0x3
0x1
.end array-data
:array_4
.array-data 4
0x3
0x1
0x1
0x1
0x3
.end array-data
:array_5
.array-data 4
0x1
0x3
0x1
0x1
0x3
.end array-data
:array_6
.array-data 4
0x3
0x3
0x1
0x1
0x1
.end array-data
:array_7
.array-data 4
0x1
0x1
0x3
0x1
0x3
.end array-data
:array_8
.array-data 4
0x3
0x1
0x3
0x1
0x1
.end array-data
:array_9
.array-data 4
0x1
0x3
0x3
0x1
0x1
.end array-data
:array_a
.array-data 4
0x1
0x1
0x1
0x3
0x3
.end array-data
:array_b
.array-data 4
0x3
0x1
0x1
0x3
0x1
.end array-data
:array_c
.array-data 4
0x1
0x3
0x1
0x3
0x1
.end array-data
.end method
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Lcom/google/zxing/oned/OneDReader;-><init>()V
const/4 v0, -0x1
.line 2
iput v0, p0, Lcom/google/zxing/oned/ITFReader;->narrowLineWidth:I
return-void
.end method
.method private static decodeDigit([I)I
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
sget-object v0, Lcom/google/zxing/oned/ITFReader;->PATTERNS:[[I
array-length v0, v0
const/16 v1, 0x6b
const/4 v2, -0x1
const/4 v3, 0x0
:goto_0
if-lt v3, v0, :cond_1
if-ltz v2, :cond_0
return v2
.line 2
:cond_0
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p0
throw p0
.line 3
:cond_1
sget-object v4, Lcom/google/zxing/oned/ITFReader;->PATTERNS:[[I
aget-object v4, v4, v3
const/16 v5, 0xcc
.line 4
invoke-static {p0, v4, v5}, Lcom/google/zxing/oned/OneDReader;->patternMatchVariance([I[II)I
move-result v4
if-ge v4, v1, :cond_2
move v2, v3
move v1, v4
:cond_2
add-int/lit8 v3, v3, 0x1
goto :goto_0
.end method
.method private static decodeMiddle(Lcom/google/zxing/common/BitArray;IILjava/lang/StringBuilder;)V
.locals 9
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
const/16 v0, 0xa
new-array v1, v0, [I
const/4 v2, 0x5
new-array v3, v2, [I
new-array v4, v2, [I
:goto_0
if-lt p1, p2, :cond_0
return-void
.line 1
:cond_0
invoke-static {p0, p1, v1}, Lcom/google/zxing/oned/OneDReader;->recordPattern(Lcom/google/zxing/common/BitArray;I[I)V
const/4 v5, 0x0
move v6, v5
:goto_1
if-lt v6, v2, :cond_2
.line 2
invoke-static {v3}, Lcom/google/zxing/oned/ITFReader;->decodeDigit([I)I
move-result v6
add-int/lit8 v6, v6, 0x30
int-to-char v6, v6
.line 3
invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 4
invoke-static {v4}, Lcom/google/zxing/oned/ITFReader;->decodeDigit([I)I
move-result v6
add-int/lit8 v6, v6, 0x30
int-to-char v6, v6
.line 5
invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:goto_2
if-lt v5, v0, :cond_1
goto :goto_0
.line 6
:cond_1
aget v6, v1, v5
add-int/2addr p1, v6
add-int/lit8 v5, v5, 0x1
goto :goto_2
:cond_2
shl-int/lit8 v7, v6, 0x1
.line 7
aget v8, v1, v7
aput v8, v3, v6
add-int/lit8 v7, v7, 0x1
.line 8
aget v7, v1, v7
aput v7, v4, v6
add-int/lit8 v6, v6, 0x1
goto :goto_1
.end method
.method private static findGuardPattern(Lcom/google/zxing/common/BitArray;I[I)[I
.locals 12
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
array-length v0, p2
.line 2
new-array v1, v0, [I
.line 3
invoke-virtual {p0}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v2
const/4 v3, 0x0
move v4, p1
move v5, v3
move v6, v5
:goto_0
if-ge p1, v2, :cond_3
.line 4
invoke-virtual {p0, p1}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result v7
xor-int/2addr v7, v5
const/4 v8, 0x1
if-eqz v7, :cond_0
.line 5
aget v7, v1, v6
add-int/2addr v7, v8
aput v7, v1, v6
goto :goto_2
:cond_0
add-int/lit8 v7, v0, -0x1
if-ne v6, v7, :cond_2
const/16 v9, 0xcc
.line 6
invoke-static {v1, p2, v9}, Lcom/google/zxing/oned/OneDReader;->patternMatchVariance([I[II)I
move-result v9
const/16 v10, 0x6b
const/4 v11, 0x2
if-ge v9, v10, :cond_1
new-array p0, v11, [I
aput v4, p0, v3
aput p1, p0, v8
return-object p0
.line 7
:cond_1
aget v9, v1, v3
aget v10, v1, v8
add-int/2addr v9, v10
add-int/2addr v4, v9
add-int/lit8 v9, v0, -0x2
.line 8
invoke-static {v1, v11, v1, v3, v9}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 9
aput v3, v1, v9
.line 10
aput v3, v1, v7
add-int/lit8 v6, v6, -0x1
goto :goto_1
:cond_2
add-int/lit8 v6, v6, 0x1
.line 11
:goto_1
aput v8, v1, v6
xor-int/lit8 v5, v5, 0x1
:goto_2
add-int/lit8 p1, p1, 0x1
goto :goto_0
.line 12
:cond_3
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p0
throw p0
.end method
.method private static skipWhiteSpace(Lcom/google/zxing/common/BitArray;)I
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v0
const/4 v1, 0x0
.line 2
invoke-virtual {p0, v1}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I
move-result p0
if-eq p0, v0, :cond_0
return p0
.line 3
:cond_0
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p0
throw p0
.end method
.method private validateQuietZone(Lcom/google/zxing/common/BitArray;I)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
iget v0, p0, Lcom/google/zxing/oned/ITFReader;->narrowLineWidth:I
mul-int/lit8 v0, v0, 0xa
add-int/lit8 p2, p2, -0x1
:goto_0
if-lez v0, :cond_2
if-gez p2, :cond_0
goto :goto_1
.line 2
:cond_0
invoke-virtual {p1, p2}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result v1
if-eqz v1, :cond_1
goto :goto_1
:cond_1
add-int/lit8 v0, v0, -0x1
add-int/lit8 p2, p2, -0x1
goto :goto_0
:cond_2
:goto_1
if-nez v0, :cond_3
return-void
.line 3
:cond_3
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.end method
# virtual methods
.method public decodeEnd(Lcom/google/zxing/common/BitArray;)[I
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
invoke-virtual {p1}, Lcom/google/zxing/common/BitArray;->reverse()V
.line 2
:try_start_0
invoke-static {p1}, Lcom/google/zxing/oned/ITFReader;->skipWhiteSpace(Lcom/google/zxing/common/BitArray;)I
move-result v0
.line 3
sget-object v1, Lcom/google/zxing/oned/ITFReader;->END_PATTERN_REVERSED:[I
invoke-static {p1, v0, v1}, Lcom/google/zxing/oned/ITFReader;->findGuardPattern(Lcom/google/zxing/common/BitArray;I[I)[I
move-result-object v0
const/4 v1, 0x0
.line 4
aget v2, v0, v1
invoke-direct {p0, p1, v2}, Lcom/google/zxing/oned/ITFReader;->validateQuietZone(Lcom/google/zxing/common/BitArray;I)V
.line 5
aget v2, v0, v1
.line 6
invoke-virtual {p1}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v3
const/4 v4, 0x1
aget v5, v0, v4
sub-int/2addr v3, v5
aput v3, v0, v1
.line 7
invoke-virtual {p1}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v1
sub-int/2addr v1, v2
aput v1, v0, v4
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 8
invoke-virtual {p1}, Lcom/google/zxing/common/BitArray;->reverse()V
return-object v0
:catchall_0
move-exception v0
invoke-virtual {p1}, Lcom/google/zxing/common/BitArray;->reverse()V
.line 9
throw v0
.end method
.method public decodeRow(ILcom/google/zxing/common/BitArray;Ljava/util/Map;)Lcom/google/zxing/Result;
.locals 9
.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/FormatException;,
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
invoke-virtual {p0, p2}, Lcom/google/zxing/oned/ITFReader;->decodeStart(Lcom/google/zxing/common/BitArray;)[I
move-result-object v0
.line 2
invoke-virtual {p0, p2}, Lcom/google/zxing/oned/ITFReader;->decodeEnd(Lcom/google/zxing/common/BitArray;)[I
move-result-object v1
.line 3
new-instance v2, Ljava/lang/StringBuilder;
const/16 v3, 0x14
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v3, 0x1
.line 4
aget v4, v0, v3
const/4 v5, 0x0
aget v6, v1, v5
invoke-static {p2, v4, v6, v2}, Lcom/google/zxing/oned/ITFReader;->decodeMiddle(Lcom/google/zxing/common/BitArray;IILjava/lang/StringBuilder;)V
.line 5
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
const/4 v2, 0x0
if-eqz p3, :cond_0
.line 6
sget-object v4, Lcom/google/zxing/DecodeHintType;->ALLOWED_LENGTHS:Lcom/google/zxing/DecodeHintType;
invoke-interface {p3, v4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p3
check-cast p3, [I
goto :goto_0
:cond_0
move-object p3, v2
:goto_0
if-nez p3, :cond_1
.line 7
sget-object p3, Lcom/google/zxing/oned/ITFReader;->DEFAULT_ALLOWED_LENGTHS:[I
.line 8
:cond_1
invoke-virtual {p2}, Ljava/lang/String;->length()I
move-result v4
.line 9
array-length v6, p3
move v7, v5
:goto_1
if-lt v7, v6, :cond_2
move p3, v5
goto :goto_2
:cond_2
aget v8, p3, v7
if-ne v4, v8, :cond_4
move p3, v3
:goto_2
if-eqz p3, :cond_3
.line 10
new-instance p3, Lcom/google/zxing/Result;
const/4 v4, 0x2
new-array v4, v4, [Lcom/google/zxing/ResultPoint;
.line 11
new-instance v6, Lcom/google/zxing/ResultPoint;
aget v0, v0, v3
int-to-float v0, v0
int-to-float p1, p1
invoke-direct {v6, v0, p1}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
aput-object v6, v4, v5
.line 12
new-instance v0, Lcom/google/zxing/ResultPoint;
aget v1, v1, v5
int-to-float v1, v1
invoke-direct {v0, v1, p1}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
aput-object v0, v4, v3
.line 13
sget-object p1, Lcom/google/zxing/BarcodeFormat;->ITF:Lcom/google/zxing/BarcodeFormat;
.line 14
invoke-direct {p3, p2, v2, v4, p1}, Lcom/google/zxing/Result;-><init>(Ljava/lang/String;[B[Lcom/google/zxing/ResultPoint;Lcom/google/zxing/BarcodeFormat;)V
return-object p3
.line 15
:cond_3
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p1
throw p1
:cond_4
add-int/lit8 v7, v7, 0x1
goto :goto_1
.end method
.method public decodeStart(Lcom/google/zxing/common/BitArray;)[I
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
invoke-static {p1}, Lcom/google/zxing/oned/ITFReader;->skipWhiteSpace(Lcom/google/zxing/common/BitArray;)I
move-result v0
.line 2
sget-object v1, Lcom/google/zxing/oned/ITFReader;->START_PATTERN:[I
invoke-static {p1, v0, v1}, Lcom/google/zxing/oned/ITFReader;->findGuardPattern(Lcom/google/zxing/common/BitArray;I[I)[I
move-result-object v0
const/4 v1, 0x1
.line 3
aget v1, v0, v1
const/4 v2, 0x0
aget v3, v0, v2
sub-int/2addr v1, v3
shr-int/lit8 v1, v1, 0x2
iput v1, p0, Lcom/google/zxing/oned/ITFReader;->narrowLineWidth:I
.line 4
aget v1, v0, v2
invoke-direct {p0, p1, v1}, Lcom/google/zxing/oned/ITFReader;->validateQuietZone(Lcom/google/zxing/common/BitArray;I)V
return-object v0
.end method
@@ -0,0 +1,267 @@
.class public final Lcom/google/zxing/oned/ITFWriter;
.super Lcom/google/zxing/oned/OneDimensionalCodeWriter;
.source "ITFWriter.java"
# static fields
.field private static final END_PATTERN:[I
.field private static final START_PATTERN:[I
# direct methods
.method public static constructor <clinit>()V
.locals 1
const/4 v0, 0x4
new-array v0, v0, [I
.line 1
fill-array-data v0, :array_0
sput-object v0, Lcom/google/zxing/oned/ITFWriter;->START_PATTERN:[I
const/4 v0, 0x3
new-array v0, v0, [I
.line 2
fill-array-data v0, :array_1
sput-object v0, Lcom/google/zxing/oned/ITFWriter;->END_PATTERN:[I
return-void
nop
:array_0
.array-data 4
0x1
0x1
0x1
0x1
.end array-data
:array_1
.array-data 4
0x3
0x1
0x1
.end array-data
.end method
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;-><init>()V
return-void
.end method
# virtual methods
.method public encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/google/zxing/BarcodeFormat;",
"II",
"Ljava/util/Map<",
"Lcom/google/zxing/EncodeHintType;",
"*>;)",
"Lcom/google/zxing/common/BitMatrix;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/WriterException;
}
.end annotation
.line 1
sget-object v0, Lcom/google/zxing/BarcodeFormat;->ITF:Lcom/google/zxing/BarcodeFormat;
if-ne p2, v0, :cond_0
.line 2
invoke-super/range {p0 .. p5}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
move-result-object p1
return-object p1
.line 3
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p3, Ljava/lang/StringBuilder;
const-string p4, "Can only encode ITF, but got "
invoke-direct {p3, p4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public encode(Ljava/lang/String;)[Z
.locals 13
.line 4
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
.line 5
rem-int/lit8 v1, v0, 0x2
if-nez v1, :cond_3
const/16 v1, 0x50
if-gt v0, v1, :cond_2
mul-int/lit8 v1, v0, 0x9
add-int/lit8 v1, v1, 0x9
.line 6
new-array v1, v1, [Z
.line 7
sget-object v2, Lcom/google/zxing/oned/ITFWriter;->START_PATTERN:[I
const/4 v3, 0x0
const/4 v4, 0x1
invoke-static {v1, v3, v2, v4}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v2
move v5, v3
:goto_0
if-lt v5, v0, :cond_0
.line 8
sget-object p1, Lcom/google/zxing/oned/ITFWriter;->END_PATTERN:[I
invoke-static {v1, v2, p1, v4}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
return-object v1
.line 9
:cond_0
invoke-virtual {p1, v5}, Ljava/lang/String;->charAt(I)C
move-result v6
const/16 v7, 0xa
invoke-static {v6, v7}, Ljava/lang/Character;->digit(CI)I
move-result v6
add-int/lit8 v8, v5, 0x1
.line 10
invoke-virtual {p1, v8}, Ljava/lang/String;->charAt(I)C
move-result v8
invoke-static {v8, v7}, Ljava/lang/Character;->digit(CI)I
move-result v7
const/16 v8, 0x12
new-array v8, v8, [I
move v9, v3
:goto_1
const/4 v10, 0x5
if-lt v9, v10, :cond_1
.line 11
invoke-static {v1, v2, v8, v4}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v6
add-int/2addr v2, v6
add-int/lit8 v5, v5, 0x2
goto :goto_0
:cond_1
shl-int/lit8 v10, v9, 0x1
.line 12
sget-object v11, Lcom/google/zxing/oned/ITFReader;->PATTERNS:[[I
aget-object v12, v11, v6
aget v12, v12, v9
aput v12, v8, v10
add-int/2addr v10, v4
.line 13
aget-object v11, v11, v7
aget v11, v11, v9
aput v11, v8, v10
add-int/lit8 v9, v9, 0x1
goto :goto_1
.line 14
:cond_2
new-instance p1, Ljava/lang/IllegalArgumentException;
.line 15
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Requested contents should be less than 80 digits long, but got "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 16
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 17
:cond_3
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "The lenght of the input should be even"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
@@ -0,0 +1,395 @@
.class public final Lcom/google/zxing/oned/MultiFormatOneDReader;
.super Lcom/google/zxing/oned/OneDReader;
.source "MultiFormatOneDReader.java"
# instance fields
.field private final readers:[Lcom/google/zxing/oned/OneDReader;
# direct methods
.method public constructor <init>(Ljava/util/Map;)V
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Lcom/google/zxing/DecodeHintType;",
"*>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lcom/google/zxing/oned/OneDReader;-><init>()V
if-nez p1, :cond_0
const/4 v0, 0x0
goto :goto_0
.line 2
:cond_0
sget-object v0, Lcom/google/zxing/DecodeHintType;->POSSIBLE_FORMATS:Lcom/google/zxing/DecodeHintType;
invoke-interface {p1, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Collection;
:goto_0
if-eqz p1, :cond_1
.line 3
sget-object v1, Lcom/google/zxing/DecodeHintType;->ASSUME_CODE_39_CHECK_DIGIT:Lcom/google/zxing/DecodeHintType;
invoke-interface {p1, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
if-eqz v1, :cond_1
const/4 v1, 0x1
goto :goto_1
:cond_1
const/4 v1, 0x0
.line 4
:goto_1
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
if-eqz v0, :cond_a
.line 5
sget-object v3, Lcom/google/zxing/BarcodeFormat;->EAN_13:Lcom/google/zxing/BarcodeFormat;
invoke-interface {v0, v3}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_2
.line 6
sget-object v3, Lcom/google/zxing/BarcodeFormat;->UPC_A:Lcom/google/zxing/BarcodeFormat;
invoke-interface {v0, v3}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_2
.line 7
sget-object v3, Lcom/google/zxing/BarcodeFormat;->EAN_8:Lcom/google/zxing/BarcodeFormat;
invoke-interface {v0, v3}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_2
.line 8
sget-object v3, Lcom/google/zxing/BarcodeFormat;->UPC_E:Lcom/google/zxing/BarcodeFormat;
invoke-interface {v0, v3}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_3
.line 9
:cond_2
new-instance v3, Lcom/google/zxing/oned/MultiFormatUPCEANReader;
invoke-direct {v3, p1}, Lcom/google/zxing/oned/MultiFormatUPCEANReader;-><init>(Ljava/util/Map;)V
invoke-virtual {v2, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 10
:cond_3
sget-object v3, Lcom/google/zxing/BarcodeFormat;->CODE_39:Lcom/google/zxing/BarcodeFormat;
invoke-interface {v0, v3}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_4
.line 11
new-instance v3, Lcom/google/zxing/oned/Code39Reader;
invoke-direct {v3, v1}, Lcom/google/zxing/oned/Code39Reader;-><init>(Z)V
invoke-virtual {v2, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 12
:cond_4
sget-object v1, Lcom/google/zxing/BarcodeFormat;->CODE_93:Lcom/google/zxing/BarcodeFormat;
invoke-interface {v0, v1}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_5
.line 13
new-instance v1, Lcom/google/zxing/oned/Code93Reader;
invoke-direct {v1}, Lcom/google/zxing/oned/Code93Reader;-><init>()V
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 14
:cond_5
sget-object v1, Lcom/google/zxing/BarcodeFormat;->CODE_128:Lcom/google/zxing/BarcodeFormat;
invoke-interface {v0, v1}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_6
.line 15
new-instance v1, Lcom/google/zxing/oned/Code128Reader;
invoke-direct {v1}, Lcom/google/zxing/oned/Code128Reader;-><init>()V
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 16
:cond_6
sget-object v1, Lcom/google/zxing/BarcodeFormat;->ITF:Lcom/google/zxing/BarcodeFormat;
invoke-interface {v0, v1}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_7
.line 17
new-instance v1, Lcom/google/zxing/oned/ITFReader;
invoke-direct {v1}, Lcom/google/zxing/oned/ITFReader;-><init>()V
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 18
:cond_7
sget-object v1, Lcom/google/zxing/BarcodeFormat;->CODABAR:Lcom/google/zxing/BarcodeFormat;
invoke-interface {v0, v1}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_8
.line 19
new-instance v1, Lcom/google/zxing/oned/CodaBarReader;
invoke-direct {v1}, Lcom/google/zxing/oned/CodaBarReader;-><init>()V
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 20
:cond_8
sget-object v1, Lcom/google/zxing/BarcodeFormat;->RSS_14:Lcom/google/zxing/BarcodeFormat;
invoke-interface {v0, v1}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_9
.line 21
new-instance v1, Lcom/google/zxing/oned/rss/RSS14Reader;
invoke-direct {v1}, Lcom/google/zxing/oned/rss/RSS14Reader;-><init>()V
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 22
:cond_9
sget-object v1, Lcom/google/zxing/BarcodeFormat;->RSS_EXPANDED:Lcom/google/zxing/BarcodeFormat;
invoke-interface {v0, v1}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_a
.line 23
new-instance v0, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;
invoke-direct {v0}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;-><init>()V
invoke-virtual {v2, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 24
:cond_a
invoke-virtual {v2}, Ljava/util/ArrayList;->isEmpty()Z
move-result v0
if-eqz v0, :cond_b
.line 25
new-instance v0, Lcom/google/zxing/oned/MultiFormatUPCEANReader;
invoke-direct {v0, p1}, Lcom/google/zxing/oned/MultiFormatUPCEANReader;-><init>(Ljava/util/Map;)V
invoke-virtual {v2, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 26
new-instance p1, Lcom/google/zxing/oned/Code39Reader;
invoke-direct {p1}, Lcom/google/zxing/oned/Code39Reader;-><init>()V
invoke-virtual {v2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 27
new-instance p1, Lcom/google/zxing/oned/CodaBarReader;
invoke-direct {p1}, Lcom/google/zxing/oned/CodaBarReader;-><init>()V
invoke-virtual {v2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 28
new-instance p1, Lcom/google/zxing/oned/Code93Reader;
invoke-direct {p1}, Lcom/google/zxing/oned/Code93Reader;-><init>()V
invoke-virtual {v2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 29
new-instance p1, Lcom/google/zxing/oned/Code128Reader;
invoke-direct {p1}, Lcom/google/zxing/oned/Code128Reader;-><init>()V
invoke-virtual {v2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 30
new-instance p1, Lcom/google/zxing/oned/ITFReader;
invoke-direct {p1}, Lcom/google/zxing/oned/ITFReader;-><init>()V
invoke-virtual {v2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 31
new-instance p1, Lcom/google/zxing/oned/rss/RSS14Reader;
invoke-direct {p1}, Lcom/google/zxing/oned/rss/RSS14Reader;-><init>()V
invoke-virtual {v2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 32
new-instance p1, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;
invoke-direct {p1}, Lcom/google/zxing/oned/rss/expanded/RSSExpandedReader;-><init>()V
invoke-virtual {v2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 33
:cond_b
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result p1
new-array p1, p1, [Lcom/google/zxing/oned/OneDReader;
invoke-virtual {v2, p1}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object p1
check-cast p1, [Lcom/google/zxing/oned/OneDReader;
iput-object p1, p0, Lcom/google/zxing/oned/MultiFormatOneDReader;->readers:[Lcom/google/zxing/oned/OneDReader;
return-void
.end method
# virtual methods
.method public decodeRow(ILcom/google/zxing/common/BitArray;Ljava/util/Map;)Lcom/google/zxing/Result;
.locals 4
.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;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/MultiFormatOneDReader;->readers:[Lcom/google/zxing/oned/OneDReader;
array-length v1, v0
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_0
aget-object v3, v0, v2
.line 2
:try_start_0
invoke-virtual {v3, p1, p2, p3}, Lcom/google/zxing/oned/OneDReader;->decodeRow(ILcom/google/zxing/common/BitArray;Ljava/util/Map;)Lcom/google/zxing/Result;
move-result-object p1
:try_end_0
.catch Lcom/google/zxing/ReaderException; {:try_start_0 .. :try_end_0} :catch_0
return-object p1
:catch_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 3
:cond_0
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.end method
.method public reset()V
.locals 4
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/MultiFormatOneDReader;->readers:[Lcom/google/zxing/oned/OneDReader;
array-length v1, v0
const/4 v2, 0x0
:goto_0
if-lt v2, v1, :cond_0
return-void
:cond_0
aget-object v3, v0, v2
.line 2
invoke-interface {v3}, Lcom/google/zxing/Reader;->reset()V
add-int/lit8 v2, v2, 0x1
goto :goto_0
.end method
@@ -0,0 +1,362 @@
.class public final Lcom/google/zxing/oned/MultiFormatUPCEANReader;
.super Lcom/google/zxing/oned/OneDReader;
.source "MultiFormatUPCEANReader.java"
# instance fields
.field private final readers:[Lcom/google/zxing/oned/UPCEANReader;
# direct methods
.method public constructor <init>(Ljava/util/Map;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Lcom/google/zxing/DecodeHintType;",
"*>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lcom/google/zxing/oned/OneDReader;-><init>()V
if-nez p1, :cond_0
const/4 p1, 0x0
goto :goto_0
.line 2
:cond_0
sget-object v0, Lcom/google/zxing/DecodeHintType;->POSSIBLE_FORMATS:Lcom/google/zxing/DecodeHintType;
invoke-interface {p1, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/util/Collection;
.line 3
:goto_0
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
if-eqz p1, :cond_4
.line 4
sget-object v1, Lcom/google/zxing/BarcodeFormat;->EAN_13:Lcom/google/zxing/BarcodeFormat;
invoke-interface {p1, v1}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1
.line 5
new-instance v1, Lcom/google/zxing/oned/EAN13Reader;
invoke-direct {v1}, Lcom/google/zxing/oned/EAN13Reader;-><init>()V
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_1
.line 6
:cond_1
sget-object v1, Lcom/google/zxing/BarcodeFormat;->UPC_A:Lcom/google/zxing/BarcodeFormat;
invoke-interface {p1, v1}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2
.line 7
new-instance v1, Lcom/google/zxing/oned/UPCAReader;
invoke-direct {v1}, Lcom/google/zxing/oned/UPCAReader;-><init>()V
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 8
:cond_2
:goto_1
sget-object v1, Lcom/google/zxing/BarcodeFormat;->EAN_8:Lcom/google/zxing/BarcodeFormat;
invoke-interface {p1, v1}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_3
.line 9
new-instance v1, Lcom/google/zxing/oned/EAN8Reader;
invoke-direct {v1}, Lcom/google/zxing/oned/EAN8Reader;-><init>()V
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 10
:cond_3
sget-object v1, Lcom/google/zxing/BarcodeFormat;->UPC_E:Lcom/google/zxing/BarcodeFormat;
invoke-interface {p1, v1}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_4
.line 11
new-instance p1, Lcom/google/zxing/oned/UPCEReader;
invoke-direct {p1}, Lcom/google/zxing/oned/UPCEReader;-><init>()V
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 12
:cond_4
invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z
move-result p1
if-eqz p1, :cond_5
.line 13
new-instance p1, Lcom/google/zxing/oned/EAN13Reader;
invoke-direct {p1}, Lcom/google/zxing/oned/EAN13Reader;-><init>()V
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 14
new-instance p1, Lcom/google/zxing/oned/EAN8Reader;
invoke-direct {p1}, Lcom/google/zxing/oned/EAN8Reader;-><init>()V
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 15
new-instance p1, Lcom/google/zxing/oned/UPCEReader;
invoke-direct {p1}, Lcom/google/zxing/oned/UPCEReader;-><init>()V
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 16
:cond_5
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result p1
new-array p1, p1, [Lcom/google/zxing/oned/UPCEANReader;
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object p1
check-cast p1, [Lcom/google/zxing/oned/UPCEANReader;
iput-object p1, p0, Lcom/google/zxing/oned/MultiFormatUPCEANReader;->readers:[Lcom/google/zxing/oned/UPCEANReader;
return-void
.end method
# virtual methods
.method public decodeRow(ILcom/google/zxing/common/BitArray;Ljava/util/Map;)Lcom/google/zxing/Result;
.locals 6
.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;
}
.end annotation
.line 1
invoke-static {p2}, Lcom/google/zxing/oned/UPCEANReader;->findStartGuardPattern(Lcom/google/zxing/common/BitArray;)[I
move-result-object v0
.line 2
iget-object v1, p0, Lcom/google/zxing/oned/MultiFormatUPCEANReader;->readers:[Lcom/google/zxing/oned/UPCEANReader;
array-length v2, v1
const/4 v3, 0x0
move v4, v3
:goto_0
if-ge v4, v2, :cond_4
aget-object v5, v1, v4
.line 3
:try_start_0
invoke-virtual {v5, p1, p2, v0, p3}, Lcom/google/zxing/oned/UPCEANReader;->decodeRow(ILcom/google/zxing/common/BitArray;[ILjava/util/Map;)Lcom/google/zxing/Result;
move-result-object p1
:try_end_0
.catch Lcom/google/zxing/ReaderException; {:try_start_0 .. :try_end_0} :catch_0
.line 4
invoke-virtual {p1}, Lcom/google/zxing/Result;->getBarcodeFormat()Lcom/google/zxing/BarcodeFormat;
move-result-object p2
sget-object v0, Lcom/google/zxing/BarcodeFormat;->EAN_13:Lcom/google/zxing/BarcodeFormat;
const/4 v1, 0x1
if-ne p2, v0, :cond_0
.line 5
invoke-virtual {p1}, Lcom/google/zxing/Result;->getText()Ljava/lang/String;
move-result-object p2
invoke-virtual {p2, v3}, Ljava/lang/String;->charAt(I)C
move-result p2
const/16 v0, 0x30
if-ne p2, v0, :cond_0
move p2, v1
goto :goto_1
:cond_0
move p2, v3
:goto_1
if-nez p3, :cond_1
const/4 p3, 0x0
goto :goto_2
.line 6
:cond_1
sget-object v0, Lcom/google/zxing/DecodeHintType;->POSSIBLE_FORMATS:Lcom/google/zxing/DecodeHintType;
invoke-interface {p3, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p3
check-cast p3, Ljava/util/Collection;
:goto_2
if-eqz p3, :cond_2
.line 7
sget-object v0, Lcom/google/zxing/BarcodeFormat;->UPC_A:Lcom/google/zxing/BarcodeFormat;
invoke-interface {p3, v0}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result p3
if-nez p3, :cond_2
goto :goto_3
:cond_2
move v3, v1
:goto_3
if-eqz p2, :cond_3
if-eqz v3, :cond_3
.line 8
new-instance p2, Lcom/google/zxing/Result;
invoke-virtual {p1}, Lcom/google/zxing/Result;->getText()Ljava/lang/String;
move-result-object p3
invoke-virtual {p3, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p3
.line 9
invoke-virtual {p1}, Lcom/google/zxing/Result;->getRawBytes()[B
move-result-object v0
.line 10
invoke-virtual {p1}, Lcom/google/zxing/Result;->getResultPoints()[Lcom/google/zxing/ResultPoint;
move-result-object v1
.line 11
sget-object v2, Lcom/google/zxing/BarcodeFormat;->UPC_A:Lcom/google/zxing/BarcodeFormat;
.line 12
invoke-direct {p2, p3, v0, v1, v2}, Lcom/google/zxing/Result;-><init>(Ljava/lang/String;[B[Lcom/google/zxing/ResultPoint;Lcom/google/zxing/BarcodeFormat;)V
.line 13
invoke-virtual {p1}, Lcom/google/zxing/Result;->getResultMetadata()Ljava/util/Map;
move-result-object p1
invoke-virtual {p2, p1}, Lcom/google/zxing/Result;->putAllMetadata(Ljava/util/Map;)V
return-object p2
:cond_3
return-object p1
:catch_0
add-int/lit8 v4, v4, 0x1
goto :goto_0
.line 14
:cond_4
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.end method
.method public reset()V
.locals 4
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/MultiFormatUPCEANReader;->readers:[Lcom/google/zxing/oned/UPCEANReader;
array-length v1, v0
const/4 v2, 0x0
:goto_0
if-lt v2, v1, :cond_0
return-void
:cond_0
aget-object v3, v0, v2
.line 2
invoke-interface {v3}, Lcom/google/zxing/Reader;->reset()V
add-int/lit8 v2, v2, 0x1
goto :goto_0
.end method
@@ -0,0 +1,861 @@
.class public abstract Lcom/google/zxing/oned/OneDReader;
.super Ljava/lang/Object;
.source "OneDReader.java"
# interfaces
.implements Lcom/google/zxing/Reader;
# static fields
.field public static final INTEGER_MATH_SHIFT:I = 0x8
.field public static final PATTERN_MATCH_RESULT_SCALE_FACTOR:I = 0x100
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private doDecode(Lcom/google/zxing/BinaryBitmap;Ljava/util/Map;)Lcom/google/zxing/Result;
.locals 21
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/zxing/BinaryBitmap;",
"Ljava/util/Map<",
"Lcom/google/zxing/DecodeHintType;",
"*>;)",
"Lcom/google/zxing/Result;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
move-object/from16 v0, p2
.line 1
invoke-virtual/range {p1 .. p1}, Lcom/google/zxing/BinaryBitmap;->getWidth()I
move-result v1
.line 2
invoke-virtual/range {p1 .. p1}, Lcom/google/zxing/BinaryBitmap;->getHeight()I
move-result v2
.line 3
new-instance v3, Lcom/google/zxing/common/BitArray;
invoke-direct {v3, v1}, Lcom/google/zxing/common/BitArray;-><init>(I)V
shr-int/lit8 v4, v2, 0x1
const/4 v5, 0x0
const/4 v6, 0x1
if-eqz v0, :cond_0
.line 4
sget-object v7, Lcom/google/zxing/DecodeHintType;->TRY_HARDER:Lcom/google/zxing/DecodeHintType;
invoke-interface {v0, v7}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v7
if-eqz v7, :cond_0
move v7, v6
goto :goto_0
:cond_0
move v7, v5
:goto_0
if-eqz v7, :cond_1
const/16 v8, 0x8
goto :goto_1
:cond_1
const/4 v8, 0x5
:goto_1
shr-int v8, v2, v8
.line 5
invoke-static {v6, v8}, Ljava/lang/Math;->max(II)I
move-result v8
if-eqz v7, :cond_2
move v7, v2
goto :goto_2
:cond_2
const/16 v7, 0xf
:goto_2
move v9, v5
:goto_3
if-ge v9, v7, :cond_8
add-int/lit8 v10, v9, 0x1
shr-int/lit8 v11, v10, 0x1
and-int/lit8 v9, v9, 0x1
if-nez v9, :cond_3
move v9, v6
goto :goto_4
:cond_3
move v9, v5
:goto_4
if-eqz v9, :cond_4
goto :goto_5
:cond_4
neg-int v11, v11
:goto_5
mul-int/2addr v11, v8
add-int/2addr v11, v4
if-ltz v11, :cond_8
if-ge v11, v2, :cond_8
move-object/from16 v9, p1
.line 6
:try_start_0
invoke-virtual {v9, v11, v3}, Lcom/google/zxing/BinaryBitmap;->getBlackRow(ILcom/google/zxing/common/BitArray;)Lcom/google/zxing/common/BitArray;
move-result-object v12
:try_end_0
.catch Lcom/google/zxing/NotFoundException; {:try_start_0 .. :try_end_0} :catch_5
move v3, v5
:goto_6
const/4 v13, 0x2
if-lt v3, v13, :cond_5
move-object/from16 v13, p0
move/from16 v20, v1
move v15, v6
move-object v3, v12
goto/16 :goto_a
:cond_5
if-ne v3, v6, :cond_6
.line 7
invoke-virtual {v12}, Lcom/google/zxing/common/BitArray;->reverse()V
if-eqz v0, :cond_6
.line 8
sget-object v13, Lcom/google/zxing/DecodeHintType;->NEED_RESULT_POINT_CALLBACK:Lcom/google/zxing/DecodeHintType;
invoke-interface {v0, v13}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v14
if-eqz v14, :cond_6
.line 9
new-instance v14, Ljava/util/EnumMap;
const-class v15, Lcom/google/zxing/DecodeHintType;
invoke-direct {v14, v15}, Ljava/util/EnumMap;-><init>(Ljava/lang/Class;)V
.line 10
invoke-virtual {v14, v0}, Ljava/util/EnumMap;->putAll(Ljava/util/Map;)V
.line 11
invoke-virtual {v14, v13}, Ljava/util/EnumMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-object/from16 v13, p0
move-object v0, v14
goto :goto_7
:cond_6
move-object/from16 v13, p0
.line 12
:goto_7
:try_start_1
invoke-virtual {v13, v11, v12, v0}, Lcom/google/zxing/oned/OneDReader;->decodeRow(ILcom/google/zxing/common/BitArray;Ljava/util/Map;)Lcom/google/zxing/Result;
move-result-object v14
if-ne v3, v6, :cond_7
.line 13
sget-object v15, Lcom/google/zxing/ResultMetadataType;->ORIENTATION:Lcom/google/zxing/ResultMetadataType;
:try_end_1
.catch Lcom/google/zxing/ReaderException; {:try_start_1 .. :try_end_1} :catch_3
const/16 v16, 0xb4
:try_start_2
invoke-static/range {v16 .. v16}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v6
invoke-virtual {v14, v15, v6}, Lcom/google/zxing/Result;->putMetadata(Lcom/google/zxing/ResultMetadataType;Ljava/lang/Object;)V
.line 14
invoke-virtual {v14}, Lcom/google/zxing/Result;->getResultPoints()[Lcom/google/zxing/ResultPoint;
move-result-object v6
if-eqz v6, :cond_7
.line 15
new-instance v15, Lcom/google/zxing/ResultPoint;
:try_end_2
.catch Lcom/google/zxing/ReaderException; {:try_start_2 .. :try_end_2} :catch_0
move-object/from16 v16, v0
int-to-float v0, v1
:try_start_3
aget-object v18, v6, v5
invoke-virtual/range {v18 .. v18}, Lcom/google/zxing/ResultPoint;->getX()F
move-result v18
:try_end_3
.catch Lcom/google/zxing/ReaderException; {:try_start_3 .. :try_end_3} :catch_1
sub-float v18, v0, v18
const/high16 v19, 0x3f800000 # 1.0f
move/from16 v20, v1
sub-float v1, v18, v19
:try_start_4
aget-object v18, v6, v5
invoke-virtual/range {v18 .. v18}, Lcom/google/zxing/ResultPoint;->getY()F
move-result v5
invoke-direct {v15, v1, v5}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
const/4 v1, 0x0
aput-object v15, v6, v1
.line 16
new-instance v5, Lcom/google/zxing/ResultPoint;
:try_end_4
.catch Lcom/google/zxing/ReaderException; {:try_start_4 .. :try_end_4} :catch_2
const/4 v15, 0x1
:try_start_5
aget-object v17, v6, v15
invoke-virtual/range {v17 .. v17}, Lcom/google/zxing/ResultPoint;->getX()F
move-result v17
sub-float v0, v0, v17
sub-float v0, v0, v19
aget-object v17, v6, v15
invoke-virtual/range {v17 .. v17}, Lcom/google/zxing/ResultPoint;->getY()F
move-result v1
invoke-direct {v5, v0, v1}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
aput-object v5, v6, v15
:try_end_5
.catch Lcom/google/zxing/ReaderException; {:try_start_5 .. :try_end_5} :catch_4
goto :goto_8
:catch_0
move-object/from16 v16, v0
:catch_1
move/from16 v20, v1
:catch_2
const/4 v15, 0x1
goto :goto_9
:cond_7
:goto_8
return-object v14
:catch_3
move-object/from16 v16, v0
move/from16 v20, v1
move v15, v6
:catch_4
:goto_9
add-int/lit8 v3, v3, 0x1
move v6, v15
move-object/from16 v0, v16
move/from16 v1, v20
const/4 v5, 0x0
goto/16 :goto_6
:catch_5
move-object/from16 v13, p0
move/from16 v20, v1
move v15, v6
:goto_a
move v9, v10
move v6, v15
move/from16 v1, v20
const/4 v5, 0x0
goto/16 :goto_3
:cond_8
move-object/from16 v13, p0
.line 17
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
throw v0
.end method
.method public static patternMatchVariance([I[II)I
.locals 8
.line 1
array-length v0, p0
const/4 v1, 0x0
move v2, v1
move v3, v2
move v4, v3
:goto_0
if-lt v2, v0, :cond_4
const v5, 0x7fffffff
if-ge v3, v4, :cond_0
return v5
:cond_0
shl-int/lit8 v2, v3, 0x8
.line 2
div-int v6, v2, v4
mul-int/2addr p2, v6
shr-int/lit8 v7, p2, 0x8
move p2, v1
:goto_1
if-lt v1, v0, :cond_1
.line 3
div-int/2addr p2, v3
return p2
.line 4
:cond_1
aget v2, p0, v1
shl-int/lit8 v2, v2, 0x8
.line 5
aget v4, p1, v1
mul-int/2addr v4, v6
if-le v2, v4, :cond_2
sub-int/2addr v2, v4
goto :goto_2
:cond_2
sub-int v2, v4, v2
:goto_2
if-le v2, v7, :cond_3
return v5
:cond_3
add-int/2addr p2, v2
add-int/lit8 v1, v1, 0x1
goto :goto_1
.line 6
:cond_4
aget v5, p0, v2
add-int/2addr v3, v5
.line 7
aget v5, p1, v2
add-int/2addr v4, v5
add-int/lit8 v2, v2, 0x1
goto :goto_0
.end method
.method public static recordPattern(Lcom/google/zxing/common/BitArray;I[I)V
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
array-length v0, p2
const/4 v1, 0x0
.line 2
invoke-static {p2, v1, v0, v1}, Ljava/util/Arrays;->fill([IIII)V
.line 3
invoke-virtual {p0}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v2
if-ge p1, v2, :cond_5
.line 4
invoke-virtual {p0, p1}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result v3
const/4 v4, 0x1
xor-int/2addr v3, v4
:goto_0
if-lt p1, v2, :cond_0
goto :goto_1
.line 5
:cond_0
invoke-virtual {p0, p1}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result v5
xor-int/2addr v5, v3
if-eqz v5, :cond_1
.line 6
aget v5, p2, v1
add-int/2addr v5, v4
aput v5, p2, v1
goto :goto_3
:cond_1
add-int/lit8 v1, v1, 0x1
if-ne v1, v0, :cond_4
:goto_1
if-eq v1, v0, :cond_3
sub-int/2addr v0, v4
if-ne v1, v0, :cond_2
if-ne p1, v2, :cond_2
goto :goto_2
.line 7
:cond_2
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p0
throw p0
:cond_3
:goto_2
return-void
.line 8
:cond_4
aput v4, p2, v1
xor-int/lit8 v3, v3, 0x1
:goto_3
add-int/lit8 p1, p1, 0x1
goto :goto_0
.line 9
:cond_5
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p0
throw p0
.end method
.method public static recordPatternInReverse(Lcom/google/zxing/common/BitArray;I[I)V
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
array-length v0, p2
.line 2
invoke-virtual {p0, p1}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result v1
:cond_0
:goto_0
if-lez p1, :cond_2
if-gez v0, :cond_1
goto :goto_1
:cond_1
add-int/lit8 p1, p1, -0x1
.line 3
invoke-virtual {p0, p1}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result v2
if-eq v2, v1, :cond_0
add-int/lit8 v0, v0, -0x1
xor-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_2
:goto_1
if-gez v0, :cond_3
add-int/lit8 p1, p1, 0x1
.line 4
invoke-static {p0, p1, p2}, Lcom/google/zxing/oned/OneDReader;->recordPattern(Lcom/google/zxing/common/BitArray;I[I)V
return-void
.line 5
:cond_3
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p0
throw p0
.end method
# virtual methods
.method public decode(Lcom/google/zxing/BinaryBitmap;)Lcom/google/zxing/Result;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;,
Lcom/google/zxing/FormatException;
}
.end annotation
const/4 v0, 0x0
.line 1
invoke-virtual {p0, p1, v0}, Lcom/google/zxing/oned/OneDReader;->decode(Lcom/google/zxing/BinaryBitmap;Ljava/util/Map;)Lcom/google/zxing/Result;
move-result-object p1
return-object p1
.end method
.method public decode(Lcom/google/zxing/BinaryBitmap;Ljava/util/Map;)Lcom/google/zxing/Result;
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/zxing/BinaryBitmap;",
"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/FormatException;
}
.end annotation
.line 2
:try_start_0
invoke-direct {p0, p1, p2}, Lcom/google/zxing/oned/OneDReader;->doDecode(Lcom/google/zxing/BinaryBitmap;Ljava/util/Map;)Lcom/google/zxing/Result;
move-result-object p1
:try_end_0
.catch Lcom/google/zxing/NotFoundException; {:try_start_0 .. :try_end_0} :catch_0
return-object p1
:catch_0
move-exception v0
const/4 v1, 0x0
if-eqz p2, :cond_0
.line 3
sget-object v2, Lcom/google/zxing/DecodeHintType;->TRY_HARDER:Lcom/google/zxing/DecodeHintType;
invoke-interface {p2, v2}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
const/4 v2, 0x1
goto :goto_0
:cond_0
move v2, v1
:goto_0
if-eqz v2, :cond_4
.line 4
invoke-virtual {p1}, Lcom/google/zxing/BinaryBitmap;->isRotateSupported()Z
move-result v2
if-eqz v2, :cond_4
.line 5
invoke-virtual {p1}, Lcom/google/zxing/BinaryBitmap;->rotateCounterClockwise()Lcom/google/zxing/BinaryBitmap;
move-result-object p1
.line 6
invoke-direct {p0, p1, p2}, Lcom/google/zxing/oned/OneDReader;->doDecode(Lcom/google/zxing/BinaryBitmap;Ljava/util/Map;)Lcom/google/zxing/Result;
move-result-object p2
.line 7
invoke-virtual {p2}, Lcom/google/zxing/Result;->getResultMetadata()Ljava/util/Map;
move-result-object v0
const/16 v2, 0x10e
if-eqz v0, :cond_1
.line 8
sget-object v3, Lcom/google/zxing/ResultMetadataType;->ORIENTATION:Lcom/google/zxing/ResultMetadataType;
invoke-interface {v0, v3}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_1
.line 9
invoke-interface {v0, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
add-int/2addr v0, v2
.line 10
rem-int/lit16 v2, v0, 0x168
.line 11
:cond_1
sget-object v0, Lcom/google/zxing/ResultMetadataType;->ORIENTATION:Lcom/google/zxing/ResultMetadataType;
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {p2, v0, v2}, Lcom/google/zxing/Result;->putMetadata(Lcom/google/zxing/ResultMetadataType;Ljava/lang/Object;)V
.line 12
invoke-virtual {p2}, Lcom/google/zxing/Result;->getResultPoints()[Lcom/google/zxing/ResultPoint;
move-result-object v0
if-eqz v0, :cond_3
.line 13
invoke-virtual {p1}, Lcom/google/zxing/BinaryBitmap;->getHeight()I
move-result p1
.line 14
:goto_1
array-length v2, v0
if-lt v1, v2, :cond_2
goto :goto_2
.line 15
:cond_2
new-instance v2, Lcom/google/zxing/ResultPoint;
int-to-float v3, p1
aget-object v4, v0, v1
invoke-virtual {v4}, Lcom/google/zxing/ResultPoint;->getY()F
move-result v4
sub-float/2addr v3, v4
const/high16 v4, 0x3f800000 # 1.0f
sub-float/2addr v3, v4
aget-object v4, v0, v1
invoke-virtual {v4}, Lcom/google/zxing/ResultPoint;->getX()F
move-result v4
invoke-direct {v2, v3, v4}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
aput-object v2, v0, v1
add-int/lit8 v1, v1, 0x1
goto :goto_1
:cond_3
:goto_2
return-object p2
.line 16
:cond_4
throw v0
.end method
.method public abstract decodeRow(ILcom/google/zxing/common/BitArray;Ljava/util/Map;)Lcom/google/zxing/Result;
.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
.end method
.method public reset()V
.locals 0
return-void
.end method
@@ -0,0 +1,272 @@
.class public abstract Lcom/google/zxing/oned/OneDimensionalCodeWriter;
.super Ljava/lang/Object;
.source "OneDimensionalCodeWriter.java"
# interfaces
.implements Lcom/google/zxing/Writer;
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static appendPattern([ZI[IZ)I
.locals 7
.line 1
array-length v0, p2
const/4 v1, 0x0
move v2, v1
move v3, v2
:goto_0
if-lt v2, v0, :cond_0
return v3
:cond_0
aget v4, p2, v2
move v5, v1
:goto_1
if-lt v5, v4, :cond_1
add-int/2addr v3, v4
xor-int/lit8 p3, p3, 0x1
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
add-int/lit8 v6, p1, 0x1
.line 2
aput-boolean p3, p0, p1
add-int/lit8 v5, v5, 0x1
move p1, v6
goto :goto_1
.end method
.method private static renderResult([ZIII)Lcom/google/zxing/common/BitMatrix;
.locals 5
.line 1
array-length v0, p0
add-int/2addr p3, v0
.line 2
invoke-static {p1, p3}, Ljava/lang/Math;->max(II)I
move-result p1
const/4 v1, 0x1
.line 3
invoke-static {v1, p2}, Ljava/lang/Math;->max(II)I
move-result p2
.line 4
div-int p3, p1, p3
mul-int v1, v0, p3
sub-int v1, p1, v1
.line 5
div-int/lit8 v1, v1, 0x2
.line 6
new-instance v2, Lcom/google/zxing/common/BitMatrix;
invoke-direct {v2, p1, p2}, Lcom/google/zxing/common/BitMatrix;-><init>(II)V
const/4 p1, 0x0
move v3, p1
:goto_0
if-lt v3, v0, :cond_0
return-object v2
.line 7
:cond_0
aget-boolean v4, p0, v3
if-eqz v4, :cond_1
.line 8
invoke-virtual {v2, v1, p1, p3, p2}, Lcom/google/zxing/common/BitMatrix;->setRegion(IIII)V
:cond_1
add-int/lit8 v3, v3, 0x1
add-int/2addr v1, p3
goto :goto_0
.end method
# virtual methods
.method public encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;II)Lcom/google/zxing/common/BitMatrix;
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/WriterException;
}
.end annotation
const/4 v5, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move v3, p3
move v4, p4
.line 1
invoke-virtual/range {v0 .. v5}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
move-result-object p1
return-object p1
.end method
.method public encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/google/zxing/BarcodeFormat;",
"II",
"Ljava/util/Map<",
"Lcom/google/zxing/EncodeHintType;",
"*>;)",
"Lcom/google/zxing/common/BitMatrix;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/WriterException;
}
.end annotation
.line 2
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result p2
if-eqz p2, :cond_2
if-ltz p3, :cond_1
if-ltz p4, :cond_1
.line 3
invoke-virtual {p0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->getDefaultMargin()I
move-result p2
if-eqz p5, :cond_0
.line 4
sget-object v0, Lcom/google/zxing/EncodeHintType;->MARGIN:Lcom/google/zxing/EncodeHintType;
invoke-interface {p5, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p5
check-cast p5, Ljava/lang/Integer;
if-eqz p5, :cond_0
.line 5
invoke-virtual {p5}, Ljava/lang/Integer;->intValue()I
move-result p2
.line 6
:cond_0
invoke-virtual {p0, p1}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->encode(Ljava/lang/String;)[Z
move-result-object p1
.line 7
invoke-static {p1, p3, p4, p2}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->renderResult([ZIII)Lcom/google/zxing/common/BitMatrix;
move-result-object p1
return-object p1
.line 8
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p2, Ljava/lang/StringBuilder;
const-string p5, "Negative size is not allowed. Input: "
invoke-direct {p2, p5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 9
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/16 p3, 0x78
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {p2, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
.line 10
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 11
:cond_2
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Found empty contents"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public abstract encode(Ljava/lang/String;)[Z
.end method
.method public getDefaultMargin()I
.locals 1
const/16 v0, 0xa
return v0
.end method
@@ -0,0 +1,236 @@
.class public final Lcom/google/zxing/oned/UPCAReader;
.super Lcom/google/zxing/oned/UPCEANReader;
.source "UPCAReader.java"
# instance fields
.field private final ean13Reader:Lcom/google/zxing/oned/UPCEANReader;
# direct methods
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Lcom/google/zxing/oned/UPCEANReader;-><init>()V
.line 2
new-instance v0, Lcom/google/zxing/oned/EAN13Reader;
invoke-direct {v0}, Lcom/google/zxing/oned/EAN13Reader;-><init>()V
iput-object v0, p0, Lcom/google/zxing/oned/UPCAReader;->ean13Reader:Lcom/google/zxing/oned/UPCEANReader;
return-void
.end method
.method private static maybeReturnResult(Lcom/google/zxing/Result;)Lcom/google/zxing/Result;
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/FormatException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/zxing/Result;->getText()Ljava/lang/String;
move-result-object v0
const/4 v1, 0x0
.line 2
invoke-virtual {v0, v1}, Ljava/lang/String;->charAt(I)C
move-result v1
const/16 v2, 0x30
if-ne v1, v2, :cond_0
.line 3
new-instance v1, Lcom/google/zxing/Result;
const/4 v2, 0x1
invoke-virtual {v0, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v0
const/4 v2, 0x0
invoke-virtual {p0}, Lcom/google/zxing/Result;->getResultPoints()[Lcom/google/zxing/ResultPoint;
move-result-object p0
sget-object v3, Lcom/google/zxing/BarcodeFormat;->UPC_A:Lcom/google/zxing/BarcodeFormat;
invoke-direct {v1, v0, v2, p0, v3}, Lcom/google/zxing/Result;-><init>(Ljava/lang/String;[B[Lcom/google/zxing/ResultPoint;Lcom/google/zxing/BarcodeFormat;)V
return-object v1
.line 4
:cond_0
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
.end method
# virtual methods
.method public decode(Lcom/google/zxing/BinaryBitmap;)Lcom/google/zxing/Result;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;,
Lcom/google/zxing/FormatException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/UPCAReader;->ean13Reader:Lcom/google/zxing/oned/UPCEANReader;
invoke-virtual {v0, p1}, Lcom/google/zxing/oned/OneDReader;->decode(Lcom/google/zxing/BinaryBitmap;)Lcom/google/zxing/Result;
move-result-object p1
invoke-static {p1}, Lcom/google/zxing/oned/UPCAReader;->maybeReturnResult(Lcom/google/zxing/Result;)Lcom/google/zxing/Result;
move-result-object p1
return-object p1
.end method
.method public decode(Lcom/google/zxing/BinaryBitmap;Ljava/util/Map;)Lcom/google/zxing/Result;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/zxing/BinaryBitmap;",
"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/FormatException;
}
.end annotation
.line 2
iget-object v0, p0, Lcom/google/zxing/oned/UPCAReader;->ean13Reader:Lcom/google/zxing/oned/UPCEANReader;
invoke-virtual {v0, p1, p2}, Lcom/google/zxing/oned/OneDReader;->decode(Lcom/google/zxing/BinaryBitmap;Ljava/util/Map;)Lcom/google/zxing/Result;
move-result-object p1
invoke-static {p1}, Lcom/google/zxing/oned/UPCAReader;->maybeReturnResult(Lcom/google/zxing/Result;)Lcom/google/zxing/Result;
move-result-object p1
return-object p1
.end method
.method public decodeMiddle(Lcom/google/zxing/common/BitArray;[ILjava/lang/StringBuilder;)I
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/UPCAReader;->ean13Reader:Lcom/google/zxing/oned/UPCEANReader;
invoke-virtual {v0, p1, p2, p3}, Lcom/google/zxing/oned/UPCEANReader;->decodeMiddle(Lcom/google/zxing/common/BitArray;[ILjava/lang/StringBuilder;)I
move-result p1
return p1
.end method
.method public decodeRow(ILcom/google/zxing/common/BitArray;Ljava/util/Map;)Lcom/google/zxing/Result;
.locals 1
.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/FormatException;,
Lcom/google/zxing/ChecksumException;
}
.end annotation
.line 2
iget-object v0, p0, Lcom/google/zxing/oned/UPCAReader;->ean13Reader:Lcom/google/zxing/oned/UPCEANReader;
invoke-virtual {v0, p1, p2, p3}, Lcom/google/zxing/oned/UPCEANReader;->decodeRow(ILcom/google/zxing/common/BitArray;Ljava/util/Map;)Lcom/google/zxing/Result;
move-result-object p1
invoke-static {p1}, Lcom/google/zxing/oned/UPCAReader;->maybeReturnResult(Lcom/google/zxing/Result;)Lcom/google/zxing/Result;
move-result-object p1
return-object p1
.end method
.method public decodeRow(ILcom/google/zxing/common/BitArray;[ILjava/util/Map;)Lcom/google/zxing/Result;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Lcom/google/zxing/common/BitArray;",
"[I",
"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/FormatException;,
Lcom/google/zxing/ChecksumException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/UPCAReader;->ean13Reader:Lcom/google/zxing/oned/UPCEANReader;
invoke-virtual {v0, p1, p2, p3, p4}, Lcom/google/zxing/oned/UPCEANReader;->decodeRow(ILcom/google/zxing/common/BitArray;[ILjava/util/Map;)Lcom/google/zxing/Result;
move-result-object p1
invoke-static {p1}, Lcom/google/zxing/oned/UPCAReader;->maybeReturnResult(Lcom/google/zxing/Result;)Lcom/google/zxing/Result;
move-result-object p1
return-object p1
.end method
.method public getBarcodeFormat()Lcom/google/zxing/BarcodeFormat;
.locals 1
.line 1
sget-object v0, Lcom/google/zxing/BarcodeFormat;->UPC_A:Lcom/google/zxing/BarcodeFormat;
return-object v0
.end method
@@ -0,0 +1,242 @@
.class public final Lcom/google/zxing/oned/UPCAWriter;
.super Ljava/lang/Object;
.source "UPCAWriter.java"
# interfaces
.implements Lcom/google/zxing/Writer;
# instance fields
.field private final subWriter:Lcom/google/zxing/oned/EAN13Writer;
# direct methods
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Lcom/google/zxing/oned/EAN13Writer;
invoke-direct {v0}, Lcom/google/zxing/oned/EAN13Writer;-><init>()V
iput-object v0, p0, Lcom/google/zxing/oned/UPCAWriter;->subWriter:Lcom/google/zxing/oned/EAN13Writer;
return-void
.end method
.method private static preencode(Ljava/lang/String;)Ljava/lang/String;
.locals 6
.line 1
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
const/16 v1, 0x30
const/16 v2, 0xb
if-ne v0, v2, :cond_2
const/4 v0, 0x0
move v3, v0
:goto_0
if-lt v0, v2, :cond_0
.line 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0, p0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
rsub-int p0, v3, 0x3e8
rem-int/lit8 p0, p0, 0xa
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
goto :goto_2
.line 3
:cond_0
invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C
move-result v4
sub-int/2addr v4, v1
rem-int/lit8 v5, v0, 0x2
if-nez v5, :cond_1
const/4 v5, 0x3
goto :goto_1
:cond_1
const/4 v5, 0x1
:goto_1
mul-int/2addr v4, v5
add-int/2addr v3, v4
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_2
const/16 v2, 0xc
if-ne v0, v2, :cond_3
.line 4
:goto_2
new-instance v0, Ljava/lang/StringBuilder;
invoke-static {v1}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.line 5
:cond_3
new-instance v0, Ljava/lang/IllegalArgumentException;
.line 6
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Requested contents should be 11 or 12 digits long, but got "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result p0
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
.line 7
invoke-direct {v0, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
# virtual methods
.method public encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;II)Lcom/google/zxing/common/BitMatrix;
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/WriterException;
}
.end annotation
const/4 v5, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move v3, p3
move v4, p4
.line 1
invoke-virtual/range {v0 .. v5}, Lcom/google/zxing/oned/UPCAWriter;->encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
move-result-object p1
return-object p1
.end method
.method public encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
.locals 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/google/zxing/BarcodeFormat;",
"II",
"Ljava/util/Map<",
"Lcom/google/zxing/EncodeHintType;",
"*>;)",
"Lcom/google/zxing/common/BitMatrix;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/WriterException;
}
.end annotation
.line 2
sget-object v0, Lcom/google/zxing/BarcodeFormat;->UPC_A:Lcom/google/zxing/BarcodeFormat;
if-ne p2, v0, :cond_0
.line 3
iget-object v1, p0, Lcom/google/zxing/oned/UPCAWriter;->subWriter:Lcom/google/zxing/oned/EAN13Writer;
invoke-static {p1}, Lcom/google/zxing/oned/UPCAWriter;->preencode(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
sget-object v3, Lcom/google/zxing/BarcodeFormat;->EAN_13:Lcom/google/zxing/BarcodeFormat;
move v4, p3
move v5, p4
move-object v6, p5
invoke-virtual/range {v1 .. v6}, Lcom/google/zxing/oned/EAN13Writer;->encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
move-result-object p1
return-object p1
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p3, Ljava/lang/StringBuilder;
const-string p4, "Can only encode UPC-A, but got "
invoke-direct {p3, p4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
@@ -0,0 +1,324 @@
.class final Lcom/google/zxing/oned/UPCEANExtension2Support;
.super Ljava/lang/Object;
.source "UPCEANExtension2Support.java"
# instance fields
.field private final decodeMiddleCounters:[I
.field private final decodeRowStringBuffer:Ljava/lang/StringBuilder;
# direct methods
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x4
new-array v0, v0, [I
.line 2
iput-object v0, p0, Lcom/google/zxing/oned/UPCEANExtension2Support;->decodeMiddleCounters:[I
.line 3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iput-object v0, p0, Lcom/google/zxing/oned/UPCEANExtension2Support;->decodeRowStringBuffer:Ljava/lang/StringBuilder;
return-void
.end method
.method private static parseExtensionString(Ljava/lang/String;)Ljava/util/Map;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/Map<",
"Lcom/google/zxing/ResultMetadataType;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 1
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
const/4 v1, 0x2
if-eq v0, v1, :cond_0
const/4 p0, 0x0
return-object p0
.line 2
:cond_0
new-instance v0, Ljava/util/EnumMap;
const-class v1, Lcom/google/zxing/ResultMetadataType;
invoke-direct {v0, v1}, Ljava/util/EnumMap;-><init>(Ljava/lang/Class;)V
.line 3
sget-object v1, Lcom/google/zxing/ResultMetadataType;->ISSUE_NUMBER:Lcom/google/zxing/ResultMetadataType;
invoke-static {p0}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;
move-result-object p0
invoke-virtual {v0, v1, p0}, Ljava/util/EnumMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-object v0
.end method
# virtual methods
.method public decodeMiddle(Lcom/google/zxing/common/BitArray;[ILjava/lang/StringBuilder;)I
.locals 11
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/UPCEANExtension2Support;->decodeMiddleCounters:[I
const/4 v1, 0x0
.line 2
aput v1, v0, v1
const/4 v2, 0x1
.line 3
aput v1, v0, v2
const/4 v3, 0x2
.line 4
aput v1, v0, v3
const/4 v4, 0x3
.line 5
aput v1, v0, v4
.line 6
invoke-virtual {p1}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v4
.line 7
aget p2, p2, v2
move v5, v1
move v6, v5
:goto_0
if-ge v5, v3, :cond_4
if-lt p2, v4, :cond_0
goto :goto_2
.line 8
:cond_0
sget-object v7, Lcom/google/zxing/oned/UPCEANReader;->L_AND_G_PATTERNS:[[I
invoke-static {p1, v0, p2, v7}, Lcom/google/zxing/oned/UPCEANReader;->decodeDigit(Lcom/google/zxing/common/BitArray;[II[[I)I
move-result v7
.line 9
rem-int/lit8 v8, v7, 0xa
add-int/lit8 v8, v8, 0x30
int-to-char v8, v8
invoke-virtual {p3, v8}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 10
array-length v8, v0
move v9, v1
:goto_1
if-lt v9, v8, :cond_3
const/16 v8, 0xa
if-lt v7, v8, :cond_1
rsub-int/lit8 v7, v5, 0x1
shl-int v7, v2, v7
or-int/2addr v6, v7
:cond_1
if-eq v5, v2, :cond_2
.line 11
invoke-virtual {p1, p2}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I
move-result p2
.line 12
invoke-virtual {p1, p2}, Lcom/google/zxing/common/BitArray;->getNextUnset(I)I
move-result p2
:cond_2
add-int/lit8 v5, v5, 0x1
goto :goto_0
.line 13
:cond_3
aget v10, v0, v9
add-int/2addr p2, v10
add-int/lit8 v9, v9, 0x1
goto :goto_1
.line 14
:cond_4
:goto_2
invoke-virtual {p3}, Ljava/lang/StringBuilder;->length()I
move-result p1
if-ne p1, v3, :cond_6
.line 15
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result p1
rem-int/lit8 p1, p1, 0x4
if-ne p1, v6, :cond_5
return p2
.line 16
:cond_5
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.line 17
:cond_6
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.end method
.method public decodeRow(ILcom/google/zxing/common/BitArray;[I)Lcom/google/zxing/Result;
.locals 8
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/UPCEANExtension2Support;->decodeRowStringBuffer:Ljava/lang/StringBuilder;
const/4 v1, 0x0
.line 2
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->setLength(I)V
.line 3
invoke-virtual {p0, p2, p3, v0}, Lcom/google/zxing/oned/UPCEANExtension2Support;->decodeMiddle(Lcom/google/zxing/common/BitArray;[ILjava/lang/StringBuilder;)I
move-result p2
.line 4
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 5
invoke-static {v0}, Lcom/google/zxing/oned/UPCEANExtension2Support;->parseExtensionString(Ljava/lang/String;)Ljava/util/Map;
move-result-object v2
.line 6
new-instance v3, Lcom/google/zxing/Result;
const/4 v4, 0x2
new-array v4, v4, [Lcom/google/zxing/ResultPoint;
.line 7
new-instance v5, Lcom/google/zxing/ResultPoint;
aget v6, p3, v1
const/4 v7, 0x1
aget p3, p3, v7
add-int/2addr v6, p3
int-to-float p3, v6
const/high16 v6, 0x40000000 # 2.0f
div-float/2addr p3, v6
int-to-float p1, p1
invoke-direct {v5, p3, p1}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
aput-object v5, v4, v1
.line 8
new-instance p3, Lcom/google/zxing/ResultPoint;
int-to-float p2, p2
invoke-direct {p3, p2, p1}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
aput-object p3, v4, v7
.line 9
sget-object p1, Lcom/google/zxing/BarcodeFormat;->UPC_EAN_EXTENSION:Lcom/google/zxing/BarcodeFormat;
const/4 p2, 0x0
.line 10
invoke-direct {v3, v0, p2, v4, p1}, Lcom/google/zxing/Result;-><init>(Ljava/lang/String;[B[Lcom/google/zxing/ResultPoint;Lcom/google/zxing/BarcodeFormat;)V
if-eqz v2, :cond_0
.line 11
invoke-virtual {v3, v2}, Lcom/google/zxing/Result;->putAllMetadata(Ljava/util/Map;)V
:cond_0
return-object v3
.end method
@@ -0,0 +1,610 @@
.class final Lcom/google/zxing/oned/UPCEANExtension5Support;
.super Ljava/lang/Object;
.source "UPCEANExtension5Support.java"
# static fields
.field private static final CHECK_DIGIT_ENCODINGS:[I
# instance fields
.field private final decodeMiddleCounters:[I
.field private final decodeRowStringBuffer:Ljava/lang/StringBuilder;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const/16 v0, 0xa
new-array v0, v0, [I
.line 1
fill-array-data v0, :array_0
sput-object v0, Lcom/google/zxing/oned/UPCEANExtension5Support;->CHECK_DIGIT_ENCODINGS:[I
return-void
:array_0
.array-data 4
0x18
0x14
0x12
0x11
0xc
0x6
0x3
0xa
0x9
0x5
.end array-data
.end method
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x4
new-array v0, v0, [I
.line 2
iput-object v0, p0, Lcom/google/zxing/oned/UPCEANExtension5Support;->decodeMiddleCounters:[I
.line 3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iput-object v0, p0, Lcom/google/zxing/oned/UPCEANExtension5Support;->decodeRowStringBuffer:Ljava/lang/StringBuilder;
return-void
.end method
.method private static determineCheckDigit(I)I
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
const/4 v0, 0x0
:goto_0
const/16 v1, 0xa
if-ge v0, v1, :cond_1
.line 1
sget-object v1, Lcom/google/zxing/oned/UPCEANExtension5Support;->CHECK_DIGIT_ENCODINGS:[I
aget v1, v1, v0
if-ne p0, v1, :cond_0
return v0
:cond_0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 2
:cond_1
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p0
throw p0
.end method
.method private static extensionChecksum(Ljava/lang/CharSequence;)I
.locals 4
.line 1
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
add-int/lit8 v1, v0, -0x2
const/4 v2, 0x0
:goto_0
if-gez v1, :cond_1
mul-int/lit8 v2, v2, 0x3
add-int/lit8 v0, v0, -0x1
:goto_1
if-gez v0, :cond_0
mul-int/lit8 v2, v2, 0x3
.line 2
rem-int/lit8 v2, v2, 0xa
return v2
.line 3
:cond_0
invoke-interface {p0, v0}, Ljava/lang/CharSequence;->charAt(I)C
move-result v1
add-int/lit8 v1, v1, -0x30
add-int/2addr v2, v1
add-int/lit8 v0, v0, -0x2
goto :goto_1
.line 4
:cond_1
invoke-interface {p0, v1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v3
add-int/lit8 v3, v3, -0x30
add-int/2addr v2, v3
add-int/lit8 v1, v1, -0x2
goto :goto_0
.end method
.method private static parseExtension5String(Ljava/lang/String;)Ljava/lang/String;
.locals 4
const/4 v0, 0x0
.line 1
invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C
move-result v0
const/16 v1, 0x30
const-string v2, ""
if-eq v0, v1, :cond_4
const/16 v1, 0x35
if-eq v0, v1, :cond_3
const/16 v1, 0x39
if-eq v0, v1, :cond_0
goto :goto_0
:cond_0
const-string v0, "90000"
.line 2
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
const/4 p0, 0x0
return-object p0
:cond_1
const-string v0, "99991"
.line 3
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_2
const-string p0, "0.00"
return-object p0
:cond_2
const-string v0, "99990"
.line 4
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_5
const-string p0, "Used"
return-object p0
:cond_3
const-string v2, "$"
goto :goto_0
:cond_4
const-string v2, "\uc9d9"
:cond_5
:goto_0
const/4 v0, 0x1
.line 5
invoke-virtual {p0, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result p0
.line 6
div-int/lit8 v0, p0, 0x64
invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v0
.line 7
rem-int/lit8 p0, p0, 0x64
const/16 v1, 0xa
if-ge p0, v1, :cond_6
.line 8
new-instance v1, Ljava/lang/StringBuilder;
const-string v3, "0"
invoke-direct {v1, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_1
:cond_6
invoke-static {p0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p0
.line 9
:goto_1
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v0, 0x2e
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private static parseExtensionString(Ljava/lang/String;)Ljava/util/Map;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/Map<",
"Lcom/google/zxing/ResultMetadataType;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 1
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x5
if-eq v0, v2, :cond_0
return-object v1
.line 2
:cond_0
invoke-static {p0}, Lcom/google/zxing/oned/UPCEANExtension5Support;->parseExtension5String(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
if-nez p0, :cond_1
return-object v1
.line 3
:cond_1
new-instance v0, Ljava/util/EnumMap;
const-class v1, Lcom/google/zxing/ResultMetadataType;
invoke-direct {v0, v1}, Ljava/util/EnumMap;-><init>(Ljava/lang/Class;)V
.line 4
sget-object v1, Lcom/google/zxing/ResultMetadataType;->SUGGESTED_PRICE:Lcom/google/zxing/ResultMetadataType;
invoke-virtual {v0, v1, p0}, Ljava/util/EnumMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-object v0
.end method
# virtual methods
.method public decodeMiddle(Lcom/google/zxing/common/BitArray;[ILjava/lang/StringBuilder;)I
.locals 10
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/UPCEANExtension5Support;->decodeMiddleCounters:[I
const/4 v1, 0x0
.line 2
aput v1, v0, v1
const/4 v2, 0x1
.line 3
aput v1, v0, v2
const/4 v3, 0x2
.line 4
aput v1, v0, v3
const/4 v3, 0x3
.line 5
aput v1, v0, v3
.line 6
invoke-virtual {p1}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v3
.line 7
aget p2, p2, v2
move v4, v1
move v5, v4
:goto_0
const/4 v6, 0x5
if-ge v4, v6, :cond_4
if-lt p2, v3, :cond_0
goto :goto_2
.line 8
:cond_0
sget-object v6, Lcom/google/zxing/oned/UPCEANReader;->L_AND_G_PATTERNS:[[I
invoke-static {p1, v0, p2, v6}, Lcom/google/zxing/oned/UPCEANReader;->decodeDigit(Lcom/google/zxing/common/BitArray;[II[[I)I
move-result v7
.line 9
rem-int/lit8 v6, v7, 0xa
add-int/lit8 v6, v6, 0x30
int-to-char v6, v6
invoke-virtual {p3, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 10
array-length v8, v0
move v6, v1
:goto_1
if-lt v6, v8, :cond_3
const/16 v6, 0xa
if-lt v7, v6, :cond_1
rsub-int/lit8 v6, v4, 0x4
shl-int v6, v2, v6
or-int/2addr v5, v6
:cond_1
const/4 v6, 0x4
if-eq v4, v6, :cond_2
.line 11
invoke-virtual {p1, p2}, Lcom/google/zxing/common/BitArray;->getNextSet(I)I
move-result p2
.line 12
invoke-virtual {p1, p2}, Lcom/google/zxing/common/BitArray;->getNextUnset(I)I
move-result p2
:cond_2
add-int/lit8 v4, v4, 0x1
goto :goto_0
.line 13
:cond_3
aget v9, v0, v6
add-int/2addr p2, v9
add-int/lit8 v6, v6, 0x1
goto :goto_1
.line 14
:cond_4
:goto_2
invoke-virtual {p3}, Ljava/lang/StringBuilder;->length()I
move-result p1
if-ne p1, v6, :cond_6
.line 15
invoke-static {v5}, Lcom/google/zxing/oned/UPCEANExtension5Support;->determineCheckDigit(I)I
move-result p1
.line 16
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p3
invoke-static {p3}, Lcom/google/zxing/oned/UPCEANExtension5Support;->extensionChecksum(Ljava/lang/CharSequence;)I
move-result p3
if-ne p3, p1, :cond_5
return p2
.line 17
:cond_5
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.line 18
:cond_6
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p1
throw p1
.end method
.method public decodeRow(ILcom/google/zxing/common/BitArray;[I)Lcom/google/zxing/Result;
.locals 8
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/UPCEANExtension5Support;->decodeRowStringBuffer:Ljava/lang/StringBuilder;
const/4 v1, 0x0
.line 2
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->setLength(I)V
.line 3
invoke-virtual {p0, p2, p3, v0}, Lcom/google/zxing/oned/UPCEANExtension5Support;->decodeMiddle(Lcom/google/zxing/common/BitArray;[ILjava/lang/StringBuilder;)I
move-result p2
.line 4
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 5
invoke-static {v0}, Lcom/google/zxing/oned/UPCEANExtension5Support;->parseExtensionString(Ljava/lang/String;)Ljava/util/Map;
move-result-object v2
.line 6
new-instance v3, Lcom/google/zxing/Result;
const/4 v4, 0x2
new-array v4, v4, [Lcom/google/zxing/ResultPoint;
.line 7
new-instance v5, Lcom/google/zxing/ResultPoint;
aget v6, p3, v1
const/4 v7, 0x1
aget p3, p3, v7
add-int/2addr v6, p3
int-to-float p3, v6
const/high16 v6, 0x40000000 # 2.0f
div-float/2addr p3, v6
int-to-float p1, p1
invoke-direct {v5, p3, p1}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
aput-object v5, v4, v1
.line 8
new-instance p3, Lcom/google/zxing/ResultPoint;
int-to-float p2, p2
invoke-direct {p3, p2, p1}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
aput-object p3, v4, v7
.line 9
sget-object p1, Lcom/google/zxing/BarcodeFormat;->UPC_EAN_EXTENSION:Lcom/google/zxing/BarcodeFormat;
const/4 p2, 0x0
.line 10
invoke-direct {v3, v0, p2, v4, p1}, Lcom/google/zxing/Result;-><init>(Ljava/lang/String;[B[Lcom/google/zxing/ResultPoint;Lcom/google/zxing/BarcodeFormat;)V
if-eqz v2, :cond_0
.line 11
invoke-virtual {v3, v2}, Lcom/google/zxing/Result;->putAllMetadata(Ljava/util/Map;)V
:cond_0
return-object v3
.end method
@@ -0,0 +1,104 @@
.class final Lcom/google/zxing/oned/UPCEANExtensionSupport;
.super Ljava/lang/Object;
.source "UPCEANExtensionSupport.java"
# static fields
.field private static final EXTENSION_START_PATTERN:[I
# instance fields
.field private final fiveSupport:Lcom/google/zxing/oned/UPCEANExtension5Support;
.field private final twoSupport:Lcom/google/zxing/oned/UPCEANExtension2Support;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const/4 v0, 0x3
new-array v0, v0, [I
.line 1
fill-array-data v0, :array_0
sput-object v0, Lcom/google/zxing/oned/UPCEANExtensionSupport;->EXTENSION_START_PATTERN:[I
return-void
nop
:array_0
.array-data 4
0x1
0x1
0x2
.end array-data
.end method
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Lcom/google/zxing/oned/UPCEANExtension2Support;
invoke-direct {v0}, Lcom/google/zxing/oned/UPCEANExtension2Support;-><init>()V
iput-object v0, p0, Lcom/google/zxing/oned/UPCEANExtensionSupport;->twoSupport:Lcom/google/zxing/oned/UPCEANExtension2Support;
.line 3
new-instance v0, Lcom/google/zxing/oned/UPCEANExtension5Support;
invoke-direct {v0}, Lcom/google/zxing/oned/UPCEANExtension5Support;-><init>()V
iput-object v0, p0, Lcom/google/zxing/oned/UPCEANExtensionSupport;->fiveSupport:Lcom/google/zxing/oned/UPCEANExtension5Support;
return-void
.end method
# virtual methods
.method public decodeRow(ILcom/google/zxing/common/BitArray;I)Lcom/google/zxing/Result;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
sget-object v0, Lcom/google/zxing/oned/UPCEANExtensionSupport;->EXTENSION_START_PATTERN:[I
const/4 v1, 0x0
invoke-static {p2, p3, v1, v0}, Lcom/google/zxing/oned/UPCEANReader;->findGuardPattern(Lcom/google/zxing/common/BitArray;IZ[I)[I
move-result-object p3
.line 2
:try_start_0
iget-object v0, p0, Lcom/google/zxing/oned/UPCEANExtensionSupport;->fiveSupport:Lcom/google/zxing/oned/UPCEANExtension5Support;
invoke-virtual {v0, p1, p2, p3}, Lcom/google/zxing/oned/UPCEANExtension5Support;->decodeRow(ILcom/google/zxing/common/BitArray;[I)Lcom/google/zxing/Result;
move-result-object p1
:try_end_0
.catch Lcom/google/zxing/ReaderException; {:try_start_0 .. :try_end_0} :catch_0
return-object p1
.line 3
:catch_0
iget-object v0, p0, Lcom/google/zxing/oned/UPCEANExtensionSupport;->twoSupport:Lcom/google/zxing/oned/UPCEANExtension2Support;
invoke-virtual {v0, p1, p2, p3}, Lcom/google/zxing/oned/UPCEANExtension2Support;->decodeRow(ILcom/google/zxing/common/BitArray;[I)Lcom/google/zxing/Result;
move-result-object p1
return-object p1
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,27 @@
.class public abstract Lcom/google/zxing/oned/UPCEANWriter;
.super Lcom/google/zxing/oned/OneDimensionalCodeWriter;
.source "UPCEANWriter.java"
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;-><init>()V
return-void
.end method
# virtual methods
.method public getDefaultMargin()I
.locals 1
.line 1
sget-object v0, Lcom/google/zxing/oned/UPCEANReader;->START_END_PATTERN:[I
array-length v0, v0
return v0
.end method
@@ -0,0 +1,462 @@
.class public final Lcom/google/zxing/oned/UPCEReader;
.super Lcom/google/zxing/oned/UPCEANReader;
.source "UPCEReader.java"
# static fields
.field private static final MIDDLE_END_PATTERN:[I
.field private static final NUMSYS_AND_CHECK_DIGIT_PATTERNS:[[I
# instance fields
.field private final decodeMiddleCounters:[I
# direct methods
.method public static constructor <clinit>()V
.locals 4
const/4 v0, 0x6
new-array v0, v0, [I
.line 1
fill-array-data v0, :array_0
sput-object v0, Lcom/google/zxing/oned/UPCEReader;->MIDDLE_END_PATTERN:[I
const/4 v0, 0x2
new-array v0, v0, [[I
const/16 v1, 0xa
new-array v2, v1, [I
.line 2
fill-array-data v2, :array_1
const/4 v3, 0x0
aput-object v2, v0, v3
new-array v1, v1, [I
.line 3
fill-array-data v1, :array_2
const/4 v2, 0x1
aput-object v1, v0, v2
.line 4
sput-object v0, Lcom/google/zxing/oned/UPCEReader;->NUMSYS_AND_CHECK_DIGIT_PATTERNS:[[I
return-void
:array_0
.array-data 4
0x1
0x1
0x1
0x1
0x1
0x1
.end array-data
:array_1
.array-data 4
0x38
0x34
0x32
0x31
0x2c
0x26
0x23
0x2a
0x29
0x25
.end array-data
:array_2
.array-data 4
0x7
0xb
0xd
0xe
0x13
0x19
0x1c
0x15
0x16
0x1a
.end array-data
.end method
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Lcom/google/zxing/oned/UPCEANReader;-><init>()V
const/4 v0, 0x4
new-array v0, v0, [I
.line 2
iput-object v0, p0, Lcom/google/zxing/oned/UPCEReader;->decodeMiddleCounters:[I
return-void
.end method
.method public static convertUPCEtoUPCA(Ljava/lang/String;)Ljava/lang/String;
.locals 10
const/4 v0, 0x6
new-array v0, v0, [C
const/4 v1, 0x1
const/4 v2, 0x7
const/4 v3, 0x0
.line 1
invoke-virtual {p0, v1, v2, v0, v3}, Ljava/lang/String;->getChars(II[CI)V
.line 2
new-instance v1, Ljava/lang/StringBuilder;
const/16 v4, 0xc
invoke-direct {v1, v4}, Ljava/lang/StringBuilder;-><init>(I)V
.line 3
invoke-virtual {p0, v3}, Ljava/lang/String;->charAt(I)C
move-result v4
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/4 v4, 0x5
.line 4
aget-char v5, v0, v4
const-string v6, "00000"
const-string v7, "0000"
const/4 v8, 0x3
const/4 v9, 0x2
packed-switch v5, :pswitch_data_0
.line 5
invoke-virtual {v1, v0, v3, v4}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
.line 6
invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 7
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_0
:pswitch_0
const/4 v4, 0x4
.line 8
invoke-virtual {v1, v0, v3, v4}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
.line 9
invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 10
aget-char v0, v0, v4
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_0
.line 11
:pswitch_1
invoke-virtual {v1, v0, v3, v8}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
.line 12
invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 13
invoke-virtual {v1, v0, v8, v9}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
goto :goto_0
.line 14
:pswitch_2
invoke-virtual {v1, v0, v3, v9}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
.line 15
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 16
invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 17
invoke-virtual {v1, v0, v9, v8}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
.line 18
:goto_0
invoke-virtual {p0, v2}, Ljava/lang/String;->charAt(I)C
move-result p0
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 19
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
:pswitch_data_0
.packed-switch 0x30
:pswitch_2
:pswitch_2
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
.end method
.method private static determineNumSysAndCheckDigit(Ljava/lang/StringBuilder;I)V
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
const/4 v0, 0x0
move v1, v0
:goto_0
const/4 v2, 0x1
if-gt v1, v2, :cond_2
move v2, v0
:goto_1
const/16 v3, 0xa
if-lt v2, v3, :cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 1
:cond_0
sget-object v3, Lcom/google/zxing/oned/UPCEReader;->NUMSYS_AND_CHECK_DIGIT_PATTERNS:[[I
aget-object v3, v3, v1
aget v3, v3, v2
if-ne p1, v3, :cond_1
add-int/lit8 v1, v1, 0x30
int-to-char p1, v1
.line 2
invoke-virtual {p0, v0, p1}, Ljava/lang/StringBuilder;->insert(IC)Ljava/lang/StringBuilder;
add-int/lit8 v2, v2, 0x30
int-to-char p1, v2
.line 3
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return-void
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
.line 4
:cond_2
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p0
throw p0
.end method
# virtual methods
.method public checkChecksum(Ljava/lang/String;)Z
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/FormatException;,
Lcom/google/zxing/ChecksumException;
}
.end annotation
.line 1
invoke-static {p1}, Lcom/google/zxing/oned/UPCEReader;->convertUPCEtoUPCA(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-super {p0, p1}, Lcom/google/zxing/oned/UPCEANReader;->checkChecksum(Ljava/lang/String;)Z
move-result p1
return p1
.end method
.method public decodeEnd(Lcom/google/zxing/common/BitArray;I)[I
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
sget-object v0, Lcom/google/zxing/oned/UPCEReader;->MIDDLE_END_PATTERN:[I
const/4 v1, 0x1
invoke-static {p1, p2, v1, v0}, Lcom/google/zxing/oned/UPCEANReader;->findGuardPattern(Lcom/google/zxing/common/BitArray;IZ[I)[I
move-result-object p1
return-object p1
.end method
.method public decodeMiddle(Lcom/google/zxing/common/BitArray;[ILjava/lang/StringBuilder;)I
.locals 10
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/UPCEReader;->decodeMiddleCounters:[I
const/4 v1, 0x0
.line 2
aput v1, v0, v1
const/4 v2, 0x1
.line 3
aput v1, v0, v2
const/4 v3, 0x2
.line 4
aput v1, v0, v3
const/4 v3, 0x3
.line 5
aput v1, v0, v3
.line 6
invoke-virtual {p1}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v3
.line 7
aget p2, p2, v2
move v4, v1
move v5, v4
:goto_0
const/4 v6, 0x6
if-ge v4, v6, :cond_3
if-lt p2, v3, :cond_0
goto :goto_2
.line 8
:cond_0
sget-object v6, Lcom/google/zxing/oned/UPCEANReader;->L_AND_G_PATTERNS:[[I
invoke-static {p1, v0, p2, v6}, Lcom/google/zxing/oned/UPCEANReader;->decodeDigit(Lcom/google/zxing/common/BitArray;[II[[I)I
move-result v6
.line 9
rem-int/lit8 v7, v6, 0xa
add-int/lit8 v7, v7, 0x30
int-to-char v7, v7
invoke-virtual {p3, v7}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 10
array-length v7, v0
move v8, v1
:goto_1
if-lt v8, v7, :cond_2
const/16 v7, 0xa
if-lt v6, v7, :cond_1
rsub-int/lit8 v6, v4, 0x5
shl-int v6, v2, v6
or-int/2addr v5, v6
:cond_1
add-int/lit8 v4, v4, 0x1
goto :goto_0
:cond_2
aget v9, v0, v8
add-int/2addr p2, v9
add-int/lit8 v8, v8, 0x1
goto :goto_1
.line 11
:cond_3
:goto_2
invoke-static {p3, v5}, Lcom/google/zxing/oned/UPCEReader;->determineNumSysAndCheckDigit(Ljava/lang/StringBuilder;I)V
return p2
.end method
.method public getBarcodeFormat()Lcom/google/zxing/BarcodeFormat;
.locals 1
.line 1
sget-object v0, Lcom/google/zxing/BarcodeFormat;->UPC_E:Lcom/google/zxing/BarcodeFormat;
return-object v0
.end method
@@ -0,0 +1,389 @@
.class public abstract Lcom/google/zxing/oned/rss/AbstractRSSReader;
.super Lcom/google/zxing/oned/OneDReader;
.source "AbstractRSSReader.java"
# static fields
.field private static final MAX_AVG_VARIANCE:I = 0x33
.field private static final MAX_FINDER_PATTERN_RATIO:F = 0.89285713f
.field private static final MAX_INDIVIDUAL_VARIANCE:I = 0x66
.field private static final MIN_FINDER_PATTERN_RATIO:F = 0.7916667f
# instance fields
.field private final dataCharacterCounters:[I
.field private final decodeFinderCounters:[I
.field private final evenCounts:[I
.field private final evenRoundingErrors:[F
.field private final oddCounts:[I
.field private final oddRoundingErrors:[F
# direct methods
.method public constructor <init>()V
.locals 3
.line 1
invoke-direct {p0}, Lcom/google/zxing/oned/OneDReader;-><init>()V
const/4 v0, 0x4
new-array v1, v0, [I
.line 2
iput-object v1, p0, Lcom/google/zxing/oned/rss/AbstractRSSReader;->decodeFinderCounters:[I
const/16 v1, 0x8
new-array v1, v1, [I
.line 3
iput-object v1, p0, Lcom/google/zxing/oned/rss/AbstractRSSReader;->dataCharacterCounters:[I
new-array v2, v0, [F
.line 4
iput-object v2, p0, Lcom/google/zxing/oned/rss/AbstractRSSReader;->oddRoundingErrors:[F
new-array v0, v0, [F
.line 5
iput-object v0, p0, Lcom/google/zxing/oned/rss/AbstractRSSReader;->evenRoundingErrors:[F
.line 6
array-length v0, v1
div-int/lit8 v0, v0, 0x2
new-array v0, v0, [I
iput-object v0, p0, Lcom/google/zxing/oned/rss/AbstractRSSReader;->oddCounts:[I
.line 7
array-length v0, v1
div-int/lit8 v0, v0, 0x2
new-array v0, v0, [I
iput-object v0, p0, Lcom/google/zxing/oned/rss/AbstractRSSReader;->evenCounts:[I
return-void
.end method
.method public static count([I)I
.locals 4
.line 1
array-length v0, p0
const/4 v1, 0x0
move v2, v1
:goto_0
if-lt v1, v0, :cond_0
return v2
:cond_0
aget v3, p0, v1
add-int/2addr v2, v3
add-int/lit8 v1, v1, 0x1
goto :goto_0
.end method
.method public static decrement([I[F)V
.locals 5
const/4 v0, 0x0
.line 1
aget v1, p1, v0
const/4 v2, 0x1
move v3, v2
.line 2
:goto_0
array-length v4, p0
if-lt v3, v4, :cond_0
.line 3
aget p1, p0, v0
sub-int/2addr p1, v2
aput p1, p0, v0
return-void
.line 4
:cond_0
aget v4, p1, v3
cmpg-float v4, v4, v1
if-gez v4, :cond_1
.line 5
aget v0, p1, v3
move v1, v0
move v0, v3
:cond_1
add-int/lit8 v3, v3, 0x1
goto :goto_0
.end method
.method public static increment([I[F)V
.locals 5
const/4 v0, 0x0
.line 1
aget v1, p1, v0
const/4 v2, 0x1
move v3, v2
.line 2
:goto_0
array-length v4, p0
if-lt v3, v4, :cond_0
.line 3
aget p1, p0, v0
add-int/2addr p1, v2
aput p1, p0, v0
return-void
.line 4
:cond_0
aget v4, p1, v3
cmpl-float v4, v4, v1
if-lez v4, :cond_1
.line 5
aget v0, p1, v3
move v1, v0
move v0, v3
:cond_1
add-int/lit8 v3, v3, 0x1
goto :goto_0
.end method
.method public static isFinderPattern([I)Z
.locals 7
const/4 v0, 0x0
.line 1
aget v1, p0, v0
const/4 v2, 0x1
aget v3, p0, v2
add-int/2addr v1, v3
const/4 v3, 0x2
.line 2
aget v3, p0, v3
add-int/2addr v3, v1
const/4 v4, 0x3
aget v4, p0, v4
add-int/2addr v3, v4
int-to-float v1, v1
int-to-float v3, v3
div-float/2addr v1, v3
const v3, 0x3f4aaaab
cmpl-float v3, v1, v3
if-ltz v3, :cond_4
const v3, 0x3f649249
cmpg-float v1, v1, v3
if-gtz v1, :cond_4
const v1, 0x7fffffff
const/high16 v3, -0x80000000
.line 3
array-length v4, p0
move v5, v0
:goto_0
if-lt v5, v4, :cond_1
mul-int/lit8 v1, v1, 0xa
if-ge v3, v1, :cond_0
return v2
:cond_0
return v0
:cond_1
aget v6, p0, v5
if-le v6, v3, :cond_2
move v3, v6
:cond_2
if-ge v6, v1, :cond_3
move v1, v6
:cond_3
add-int/lit8 v5, v5, 0x1
goto :goto_0
:cond_4
return v0
.end method
.method public static parseFinderValue([I[[I)I
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
const/4 v0, 0x0
.line 1
:goto_0
array-length v1, p1
if-ge v0, v1, :cond_1
.line 2
aget-object v1, p1, v0
const/16 v2, 0x66
invoke-static {p0, v1, v2}, Lcom/google/zxing/oned/OneDReader;->patternMatchVariance([I[II)I
move-result v1
const/16 v2, 0x33
if-ge v1, v2, :cond_0
return v0
:cond_0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 3
:cond_1
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object p0
throw p0
.end method
# virtual methods
.method public final getDataCharacterCounters()[I
.locals 1
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/AbstractRSSReader;->dataCharacterCounters:[I
return-object v0
.end method
.method public final getDecodeFinderCounters()[I
.locals 1
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/AbstractRSSReader;->decodeFinderCounters:[I
return-object v0
.end method
.method public final getEvenCounts()[I
.locals 1
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/AbstractRSSReader;->evenCounts:[I
return-object v0
.end method
.method public final getEvenRoundingErrors()[F
.locals 1
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/AbstractRSSReader;->evenRoundingErrors:[F
return-object v0
.end method
.method public final getOddCounts()[I
.locals 1
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/AbstractRSSReader;->oddCounts:[I
return-object v0
.end method
.method public final getOddRoundingErrors()[F
.locals 1
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/AbstractRSSReader;->oddRoundingErrors:[F
return-object v0
.end method
@@ -0,0 +1,46 @@
.class public Lcom/google/zxing/oned/rss/DataCharacter;
.super Ljava/lang/Object;
.source "DataCharacter.java"
# instance fields
.field private final checksumPortion:I
.field private final value:I
# direct methods
.method public constructor <init>(II)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput p1, p0, Lcom/google/zxing/oned/rss/DataCharacter;->value:I
.line 3
iput p2, p0, Lcom/google/zxing/oned/rss/DataCharacter;->checksumPortion:I
return-void
.end method
# virtual methods
.method public final getChecksumPortion()I
.locals 1
.line 1
iget v0, p0, Lcom/google/zxing/oned/rss/DataCharacter;->checksumPortion:I
return v0
.end method
.method public final getValue()I
.locals 1
.line 1
iget v0, p0, Lcom/google/zxing/oned/rss/DataCharacter;->value:I
return v0
.end method
@@ -0,0 +1,88 @@
.class public final Lcom/google/zxing/oned/rss/FinderPattern;
.super Ljava/lang/Object;
.source "FinderPattern.java"
# instance fields
.field private final resultPoints:[Lcom/google/zxing/ResultPoint;
.field private final startEnd:[I
.field private final value:I
# direct methods
.method public constructor <init>(I[IIII)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput p1, p0, Lcom/google/zxing/oned/rss/FinderPattern;->value:I
.line 3
iput-object p2, p0, Lcom/google/zxing/oned/rss/FinderPattern;->startEnd:[I
const/4 p1, 0x2
new-array p1, p1, [Lcom/google/zxing/ResultPoint;
.line 4
new-instance p2, Lcom/google/zxing/ResultPoint;
int-to-float p3, p3
int-to-float p5, p5
invoke-direct {p2, p3, p5}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
const/4 p3, 0x0
aput-object p2, p1, p3
.line 5
new-instance p2, Lcom/google/zxing/ResultPoint;
int-to-float p3, p4
invoke-direct {p2, p3, p5}, Lcom/google/zxing/ResultPoint;-><init>(FF)V
const/4 p3, 0x1
aput-object p2, p1, p3
.line 6
iput-object p1, p0, Lcom/google/zxing/oned/rss/FinderPattern;->resultPoints:[Lcom/google/zxing/ResultPoint;
return-void
.end method
# virtual methods
.method public getResultPoints()[Lcom/google/zxing/ResultPoint;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/FinderPattern;->resultPoints:[Lcom/google/zxing/ResultPoint;
return-object v0
.end method
.method public getStartEnd()[I
.locals 1
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/FinderPattern;->startEnd:[I
return-object v0
.end method
.method public getValue()I
.locals 1
.line 1
iget v0, p0, Lcom/google/zxing/oned/rss/FinderPattern;->value:I
return v0
.end method
@@ -0,0 +1,56 @@
.class final Lcom/google/zxing/oned/rss/Pair;
.super Lcom/google/zxing/oned/rss/DataCharacter;
.source "Pair.java"
# instance fields
.field private count:I
.field private final finderPattern:Lcom/google/zxing/oned/rss/FinderPattern;
# direct methods
.method public constructor <init>(IILcom/google/zxing/oned/rss/FinderPattern;)V
.locals 0
.line 1
invoke-direct {p0, p1, p2}, Lcom/google/zxing/oned/rss/DataCharacter;-><init>(II)V
.line 2
iput-object p3, p0, Lcom/google/zxing/oned/rss/Pair;->finderPattern:Lcom/google/zxing/oned/rss/FinderPattern;
return-void
.end method
# virtual methods
.method public getCount()I
.locals 1
.line 1
iget v0, p0, Lcom/google/zxing/oned/rss/Pair;->count:I
return v0
.end method
.method public getFinderPattern()Lcom/google/zxing/oned/rss/FinderPattern;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/Pair;->finderPattern:Lcom/google/zxing/oned/rss/FinderPattern;
return-object v0
.end method
.method public incrementCount()V
.locals 1
.line 1
iget v0, p0, Lcom/google/zxing/oned/rss/Pair;->count:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/google/zxing/oned/rss/Pair;->count:I
return-void
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,517 @@
.class public final Lcom/google/zxing/oned/rss/RSSUtils;
.super Ljava/lang/Object;
.source "RSSUtils.java"
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static combins(II)I
.locals 4
sub-int v0, p0, p1
if-le v0, p1, :cond_0
move v3, v0
move v0, p1
move p1, v3
:cond_0
const/4 v1, 0x1
move v2, v1
:goto_0
if-gt p0, p1, :cond_2
:goto_1
if-le v2, v0, :cond_1
return v1
.line 1
:cond_1
div-int/2addr v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_2
mul-int/2addr v1, p0
if-gt v2, v0, :cond_3
.line 2
div-int/2addr v1, v2
add-int/lit8 v2, v2, 0x1
:cond_3
add-int/lit8 p0, p0, -0x1
goto :goto_0
.end method
.method public static elements([III)[I
.locals 9
.line 1
array-length v0, p0
add-int/lit8 v0, v0, 0x2
new-array v0, v0, [I
const/4 v1, 0x1
shl-int/2addr p2, v1
const/4 v2, 0x0
.line 2
aput v1, v0, v2
const/16 v3, 0xa
move v4, v1
move v5, v4
:goto_0
add-int/lit8 v6, p2, -0x2
if-lt v4, v6, :cond_3
add-int/lit8 p0, p2, -0x1
sub-int/2addr p1, v5
.line 3
aput p1, v0, p0
.line 4
aget p1, v0, p0
if-ge p1, v3, :cond_0
.line 5
aget v3, v0, p0
:cond_0
if-le v3, v1, :cond_2
:goto_1
if-lt v2, p2, :cond_1
goto :goto_2
.line 6
:cond_1
aget p0, v0, v2
add-int/lit8 p1, v3, -0x1
add-int/2addr p0, p1
aput p0, v0, v2
add-int/lit8 p0, v2, 0x1
.line 7
aget v4, v0, p0
sub-int/2addr v4, p1
aput v4, v0, p0
add-int/lit8 v2, v2, 0x2
goto :goto_1
:cond_2
:goto_2
return-object v0
:cond_3
add-int/lit8 v6, v4, -0x1
.line 8
aget v7, p0, v6
aget v6, v0, v6
sub-int/2addr v7, v6
aput v7, v0, v4
add-int/lit8 v6, v4, 0x1
.line 9
aget v7, p0, v4
aget v8, v0, v4
sub-int/2addr v7, v8
aput v7, v0, v6
.line 10
aget v7, v0, v4
aget v6, v0, v6
add-int/2addr v7, v6
add-int/2addr v5, v7
.line 11
aget v6, v0, v4
if-ge v6, v3, :cond_4
.line 12
aget v3, v0, v4
:cond_4
add-int/lit8 v4, v4, 0x2
goto :goto_0
.end method
.method public static getRSSvalue([IIZ)I
.locals 18
move-object/from16 v0, p0
move/from16 v1, p1
.line 1
array-length v2, v0
.line 2
array-length v3, v0
const/4 v5, 0x0
const/4 v6, 0x0
:goto_0
if-lt v5, v3, :cond_6
move v8, v6
const/4 v3, 0x0
const/4 v5, 0x0
const/4 v7, 0x0
:goto_1
add-int/lit8 v9, v2, -0x1
if-lt v7, v9, :cond_0
return v5
:cond_0
const/4 v10, 0x1
shl-int v11, v10, v7
or-int/2addr v3, v11
move v6, v10
.line 3
:goto_2
aget v12, v0, v7
if-lt v6, v12, :cond_1
sub-int/2addr v8, v6
add-int/lit8 v7, v7, 0x1
goto :goto_1
:cond_1
sub-int v12, v8, v6
add-int/lit8 v13, v12, -0x1
sub-int v14, v2, v7
add-int/lit8 v15, v14, -0x2
.line 4
invoke-static {v13, v15}, Lcom/google/zxing/oned/rss/RSSUtils;->combins(II)I
move-result v13
if-eqz p2, :cond_2
if-nez v3, :cond_2
add-int/lit8 v4, v14, -0x1
sub-int v10, v12, v4
if-lt v10, v4, :cond_2
sub-int v4, v12, v14
.line 5
invoke-static {v4, v15}, Lcom/google/zxing/oned/rss/RSSUtils;->combins(II)I
move-result v4
sub-int/2addr v13, v4
:cond_2
add-int/lit8 v4, v14, -0x1
const/4 v10, 0x1
if-le v4, v10, :cond_4
sub-int v4, v12, v15
const/4 v15, 0x0
:goto_3
if-gt v4, v1, :cond_3
sub-int v4, v9, v7
mul-int/2addr v4, v15
sub-int/2addr v13, v4
move/from16 v17, v2
goto :goto_4
:cond_3
sub-int v16, v12, v4
move/from16 v17, v2
add-int/lit8 v2, v16, -0x1
add-int/lit8 v10, v14, -0x3
.line 6
invoke-static {v2, v10}, Lcom/google/zxing/oned/rss/RSSUtils;->combins(II)I
move-result v2
add-int/2addr v15, v2
add-int/lit8 v4, v4, -0x1
move/from16 v2, v17
const/4 v10, 0x1
goto :goto_3
:cond_4
move/from16 v17, v2
if-le v12, v1, :cond_5
add-int/lit8 v13, v13, -0x1
:cond_5
:goto_4
add-int/2addr v5, v13
add-int/lit8 v6, v6, 0x1
not-int v2, v11
and-int/2addr v3, v2
move/from16 v2, v17
const/4 v10, 0x1
goto :goto_2
:cond_6
move/from16 v17, v2
.line 7
aget v2, v0, v5
add-int/2addr v6, v2
add-int/lit8 v5, v5, 0x1
move/from16 v2, v17
goto :goto_0
.end method
.method public static getRSSwidths(IIIIZ)[I
.locals 17
move/from16 v0, p2
move/from16 v1, p3
.line 1
new-array v2, v0, [I
move/from16 v4, p0
move/from16 v5, p1
const/4 v6, 0x0
const/4 v7, 0x0
:goto_0
add-int/lit8 v8, v0, -0x1
if-lt v6, v8, :cond_0
.line 2
aput v5, v2, v6
return-object v2
:cond_0
const/4 v9, 0x1
shl-int v10, v9, v6
or-int/2addr v7, v10
move v11, v9
:goto_1
sub-int v12, v5, v11
add-int/lit8 v13, v12, -0x1
sub-int v14, v0, v6
add-int/lit8 v15, v14, -0x2
.line 3
invoke-static {v13, v15}, Lcom/google/zxing/oned/rss/RSSUtils;->combins(II)I
move-result v13
if-eqz p4, :cond_1
if-nez v7, :cond_1
add-int/lit8 v3, v14, -0x1
sub-int v9, v12, v3
if-lt v9, v3, :cond_1
sub-int v3, v12, v14
.line 4
invoke-static {v3, v15}, Lcom/google/zxing/oned/rss/RSSUtils;->combins(II)I
move-result v3
sub-int/2addr v13, v3
:cond_1
add-int/lit8 v3, v14, -0x1
const/4 v9, 0x1
if-le v3, v9, :cond_3
sub-int v3, v12, v15
const/4 v15, 0x0
:goto_2
if-gt v3, v1, :cond_2
sub-int v3, v8, v6
mul-int/2addr v3, v15
sub-int/2addr v13, v3
goto :goto_3
:cond_2
sub-int v16, v12, v3
add-int/lit8 v0, v16, -0x1
add-int/lit8 v9, v14, -0x3
.line 5
invoke-static {v0, v9}, Lcom/google/zxing/oned/rss/RSSUtils;->combins(II)I
move-result v0
add-int/2addr v15, v0
add-int/lit8 v3, v3, -0x1
move/from16 v0, p2
const/4 v9, 0x1
goto :goto_2
:cond_3
if-le v12, v1, :cond_4
add-int/lit8 v13, v13, -0x1
:cond_4
:goto_3
sub-int/2addr v4, v13
if-gez v4, :cond_5
add-int/2addr v4, v13
.line 6
aput v11, v2, v6
add-int/lit8 v6, v6, 0x1
move/from16 v0, p2
move v5, v12
goto :goto_0
:cond_5
add-int/lit8 v11, v11, 0x1
not-int v0, v10
and-int/2addr v7, v0
move/from16 v0, p2
const/4 v9, 0x1
goto :goto_1
.end method
@@ -0,0 +1,208 @@
.class final Lcom/google/zxing/oned/rss/expanded/BitArrayBuilder;
.super Ljava/lang/Object;
.source "BitArrayBuilder.java"
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static buildBitArray(Ljava/util/List;)Lcom/google/zxing/common/BitArray;
.locals 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/google/zxing/oned/rss/expanded/ExpandedPair;",
">;)",
"Lcom/google/zxing/common/BitArray;"
}
.end annotation
.line 1
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v0
const/4 v1, 0x1
shl-int/2addr v0, v1
sub-int/2addr v0, v1
.line 2
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v2
sub-int/2addr v2, v1
invoke-interface {p0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
invoke-virtual {v2}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->getRightChar()Lcom/google/zxing/oned/rss/DataCharacter;
move-result-object v2
if-nez v2, :cond_0
add-int/lit8 v0, v0, -0x1
:cond_0
mul-int/lit8 v0, v0, 0xc
.line 3
new-instance v2, Lcom/google/zxing/common/BitArray;
invoke-direct {v2, v0}, Lcom/google/zxing/common/BitArray;-><init>(I)V
const/4 v0, 0x0
.line 4
invoke-interface {p0, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
.line 5
invoke-virtual {v3}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->getRightChar()Lcom/google/zxing/oned/rss/DataCharacter;
move-result-object v3
invoke-virtual {v3}, Lcom/google/zxing/oned/rss/DataCharacter;->getValue()I
move-result v3
const/16 v4, 0xb
move v5, v4
:goto_0
if-gez v5, :cond_7
move v6, v1
.line 6
:goto_1
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v3
if-lt v6, v3, :cond_1
return-object v2
.line 7
:cond_1
invoke-interface {p0, v6}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
move-object v7, v3
check-cast v7, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
.line 8
invoke-virtual {v7}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->getLeftChar()Lcom/google/zxing/oned/rss/DataCharacter;
move-result-object v3
invoke-virtual {v3}, Lcom/google/zxing/oned/rss/DataCharacter;->getValue()I
move-result v8
move v3, v4
:goto_2
if-gez v3, :cond_5
.line 9
invoke-virtual {v7}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->getRightChar()Lcom/google/zxing/oned/rss/DataCharacter;
move-result-object v3
if-eqz v3, :cond_4
.line 10
invoke-virtual {v7}, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->getRightChar()Lcom/google/zxing/oned/rss/DataCharacter;
move-result-object v3
invoke-virtual {v3}, Lcom/google/zxing/oned/rss/DataCharacter;->getValue()I
move-result v3
move v5, v4
:goto_3
if-gez v5, :cond_2
goto :goto_4
:cond_2
shl-int v7, v1, v5
and-int/2addr v7, v3
if-eqz v7, :cond_3
.line 11
invoke-virtual {v2, v0}, Lcom/google/zxing/common/BitArray;->set(I)V
:cond_3
add-int/lit8 v0, v0, 0x1
add-int/lit8 v5, v5, -0x1
goto :goto_3
:cond_4
:goto_4
add-int/lit8 v6, v6, 0x1
goto :goto_1
:cond_5
shl-int v5, v1, v3
and-int/2addr v5, v8
if-eqz v5, :cond_6
.line 12
invoke-virtual {v2, v0}, Lcom/google/zxing/common/BitArray;->set(I)V
:cond_6
add-int/lit8 v0, v0, 0x1
add-int/lit8 v3, v3, -0x1
goto :goto_2
:cond_7
shl-int v6, v1, v5
and-int/2addr v6, v3
if-eqz v6, :cond_8
.line 13
invoke-virtual {v2, v0}, Lcom/google/zxing/common/BitArray;->set(I)V
:cond_8
add-int/lit8 v0, v0, 0x1
add-int/lit8 v5, v5, -0x1
goto :goto_0
.end method
@@ -0,0 +1,92 @@
.class final Lcom/google/zxing/oned/rss/expanded/ExpandedPair;
.super Ljava/lang/Object;
.source "ExpandedPair.java"
# instance fields
.field private final finderPattern:Lcom/google/zxing/oned/rss/FinderPattern;
.field private final leftChar:Lcom/google/zxing/oned/rss/DataCharacter;
.field private final mayBeLast:Z
.field private final rightChar:Lcom/google/zxing/oned/rss/DataCharacter;
# direct methods
.method public constructor <init>(Lcom/google/zxing/oned/rss/DataCharacter;Lcom/google/zxing/oned/rss/DataCharacter;Lcom/google/zxing/oned/rss/FinderPattern;Z)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->leftChar:Lcom/google/zxing/oned/rss/DataCharacter;
.line 3
iput-object p2, p0, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->rightChar:Lcom/google/zxing/oned/rss/DataCharacter;
.line 4
iput-object p3, p0, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->finderPattern:Lcom/google/zxing/oned/rss/FinderPattern;
.line 5
iput-boolean p4, p0, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->mayBeLast:Z
return-void
.end method
# virtual methods
.method public getFinderPattern()Lcom/google/zxing/oned/rss/FinderPattern;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->finderPattern:Lcom/google/zxing/oned/rss/FinderPattern;
return-object v0
.end method
.method public getLeftChar()Lcom/google/zxing/oned/rss/DataCharacter;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->leftChar:Lcom/google/zxing/oned/rss/DataCharacter;
return-object v0
.end method
.method public getRightChar()Lcom/google/zxing/oned/rss/DataCharacter;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->rightChar:Lcom/google/zxing/oned/rss/DataCharacter;
return-object v0
.end method
.method public mayBeLast()Z
.locals 1
.line 1
iget-boolean v0, p0, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->mayBeLast:Z
return v0
.end method
.method public mustBeLast()Z
.locals 1
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/ExpandedPair;->rightChar:Lcom/google/zxing/oned/rss/DataCharacter;
if-nez v0, :cond_0
const/4 v0, 0x1
return v0
:cond_0
const/4 v0, 0x0
return v0
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,33 @@
.class final Lcom/google/zxing/oned/rss/expanded/decoders/AI013103decoder;
.super Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0xDecoder;
.source "AI013103decoder.java"
# direct methods
.method public constructor <init>(Lcom/google/zxing/common/BitArray;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0xDecoder;-><init>(Lcom/google/zxing/common/BitArray;)V
return-void
.end method
# virtual methods
.method public addWeightCode(Ljava/lang/StringBuilder;I)V
.locals 0
const-string p2, "(3103)"
.line 1
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
return-void
.end method
.method public checkWeight(I)I
.locals 0
return p1
.end method
@@ -0,0 +1,55 @@
.class final Lcom/google/zxing/oned/rss/expanded/decoders/AI01320xDecoder;
.super Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0xDecoder;
.source "AI01320xDecoder.java"
# direct methods
.method public constructor <init>(Lcom/google/zxing/common/BitArray;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0xDecoder;-><init>(Lcom/google/zxing/common/BitArray;)V
return-void
.end method
# virtual methods
.method public addWeightCode(Ljava/lang/StringBuilder;I)V
.locals 1
const/16 v0, 0x2710
if-ge p2, v0, :cond_0
const-string p2, "(3202)"
.line 1
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_0
:cond_0
const-string p2, "(3203)"
.line 2
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:goto_0
return-void
.end method
.method public checkWeight(I)I
.locals 1
const/16 v0, 0x2710
if-ge p1, v0, :cond_0
return p1
:cond_0
sub-int/2addr p1, v0
return p1
.end method
@@ -0,0 +1,113 @@
.class final Lcom/google/zxing/oned/rss/expanded/decoders/AI01392xDecoder;
.super Lcom/google/zxing/oned/rss/expanded/decoders/AI01decoder;
.source "AI01392xDecoder.java"
# static fields
.field private static final HEADER_SIZE:I = 0x8
.field private static final LAST_DIGIT_SIZE:I = 0x2
# direct methods
.method public constructor <init>(Lcom/google/zxing/common/BitArray;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01decoder;-><init>(Lcom/google/zxing/common/BitArray;)V
return-void
.end method
# virtual methods
.method public parseInformation()Ljava/lang/String;
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->getInformation()Lcom/google/zxing/common/BitArray;
move-result-object v0
invoke-virtual {v0}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v0
const/16 v1, 0x30
if-lt v0, v1, :cond_0
.line 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const/16 v2, 0x8
.line 3
invoke-virtual {p0, v0, v2}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01decoder;->encodeCompressedGtin(Ljava/lang/StringBuilder;I)V
.line 4
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->getGeneralDecoder()Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;
move-result-object v2
const/4 v3, 0x2
invoke-virtual {v2, v1, v3}, Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;->extractNumericValueFromBitArray(II)I
move-result v1
const-string v2, "(392"
.line 5
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 6
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/16 v1, 0x29
.line 7
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 8
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->getGeneralDecoder()Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;
move-result-object v1
const/16 v2, 0x32
const/4 v3, 0x0
invoke-virtual {v1, v2, v3}, Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;->decodeGeneralPurposeField(ILjava/lang/String;)Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;
move-result-object v1
.line 9
invoke-virtual {v1}, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;->getNewString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 10
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.line 11
:cond_0
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
throw v0
.end method
@@ -0,0 +1,149 @@
.class final Lcom/google/zxing/oned/rss/expanded/decoders/AI01393xDecoder;
.super Lcom/google/zxing/oned/rss/expanded/decoders/AI01decoder;
.source "AI01393xDecoder.java"
# static fields
.field private static final FIRST_THREE_DIGITS_SIZE:I = 0xa
.field private static final HEADER_SIZE:I = 0x8
.field private static final LAST_DIGIT_SIZE:I = 0x2
# direct methods
.method public constructor <init>(Lcom/google/zxing/common/BitArray;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01decoder;-><init>(Lcom/google/zxing/common/BitArray;)V
return-void
.end method
# virtual methods
.method public parseInformation()Ljava/lang/String;
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->getInformation()Lcom/google/zxing/common/BitArray;
move-result-object v0
invoke-virtual {v0}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v0
const/16 v1, 0x30
if-lt v0, v1, :cond_2
.line 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const/16 v2, 0x8
.line 3
invoke-virtual {p0, v0, v2}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01decoder;->encodeCompressedGtin(Ljava/lang/StringBuilder;I)V
.line 4
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->getGeneralDecoder()Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;
move-result-object v2
const/4 v3, 0x2
invoke-virtual {v2, v1, v3}, Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;->extractNumericValueFromBitArray(II)I
move-result v2
const-string v3, "(393"
.line 5
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 6
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/16 v2, 0x29
.line 7
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 8
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->getGeneralDecoder()Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;
move-result-object v2
const/16 v3, 0x32
const/16 v4, 0xa
invoke-virtual {v2, v3, v4}, Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;->extractNumericValueFromBitArray(II)I
move-result v2
.line 9
div-int/lit8 v3, v2, 0x64
if-nez v3, :cond_0
.line 10
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 11
:cond_0
div-int/lit8 v3, v2, 0xa
if-nez v3, :cond_1
.line 12
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 13
:cond_1
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 14
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->getGeneralDecoder()Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;
move-result-object v1
const/16 v2, 0x3c
const/4 v3, 0x0
invoke-virtual {v1, v2, v3}, Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;->decodeGeneralPurposeField(ILjava/lang/String;)Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;
move-result-object v1
.line 15
invoke-virtual {v1}, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;->getNewString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 16
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.line 17
:cond_2
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
throw v0
.end method
@@ -0,0 +1,226 @@
.class final Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;
.super Lcom/google/zxing/oned/rss/expanded/decoders/AI01weightDecoder;
.source "AI013x0x1xDecoder.java"
# static fields
.field private static final DATE_SIZE:I = 0x10
.field private static final HEADER_SIZE:I = 0x8
.field private static final WEIGHT_SIZE:I = 0x14
# instance fields
.field private final dateCode:Ljava/lang/String;
.field private final firstAIdigits:Ljava/lang/String;
# direct methods
.method public constructor <init>(Lcom/google/zxing/common/BitArray;Ljava/lang/String;Ljava/lang/String;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01weightDecoder;-><init>(Lcom/google/zxing/common/BitArray;)V
.line 2
iput-object p3, p0, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;->dateCode:Ljava/lang/String;
.line 3
iput-object p2, p0, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;->firstAIdigits:Ljava/lang/String;
return-void
.end method
.method private encodeCompressedDate(Ljava/lang/StringBuilder;I)V
.locals 4
.line 1
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->getGeneralDecoder()Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;
move-result-object v0
const/16 v1, 0x10
invoke-virtual {v0, p2, v1}, Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;->extractNumericValueFromBitArray(II)I
move-result p2
const v0, 0x9600
if-ne p2, v0, :cond_0
return-void
:cond_0
const/16 v0, 0x28
.line 2
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 3
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;->dateCode:Ljava/lang/String;
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v0, 0x29
.line 4
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 5
rem-int/lit8 v0, p2, 0x20
.line 6
div-int/lit8 p2, p2, 0x20
.line 7
rem-int/lit8 v1, p2, 0xc
add-int/lit8 v1, v1, 0x1
.line 8
div-int/lit8 p2, p2, 0xc
.line 9
div-int/lit8 v2, p2, 0xa
const/16 v3, 0x30
if-nez v2, :cond_1
.line 10
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 11
:cond_1
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 12
div-int/lit8 p2, v1, 0xa
if-nez p2, :cond_2
.line 13
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 14
:cond_2
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 15
div-int/lit8 p2, v0, 0xa
if-nez p2, :cond_3
.line 16
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 17
:cond_3
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
return-void
.end method
# virtual methods
.method public addWeightCode(Ljava/lang/StringBuilder;I)V
.locals 1
const v0, 0x186a0
.line 1
div-int/2addr p2, v0
const/16 v0, 0x28
.line 2
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 3
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;->firstAIdigits:Ljava/lang/String;
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 4
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/16 p2, 0x29
.line 5
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return-void
.end method
.method public checkWeight(I)I
.locals 1
const v0, 0x186a0
.line 1
rem-int/2addr p1, v0
return p1
.end method
.method public parseInformation()Ljava/lang/String;
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->getInformation()Lcom/google/zxing/common/BitArray;
move-result-object v0
invoke-virtual {v0}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v0
const/16 v1, 0x54
if-ne v0, v1, :cond_0
.line 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const/16 v1, 0x8
.line 3
invoke-virtual {p0, v0, v1}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01decoder;->encodeCompressedGtin(Ljava/lang/StringBuilder;I)V
const/16 v1, 0x30
const/16 v2, 0x14
.line 4
invoke-virtual {p0, v0, v1, v2}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01weightDecoder;->encodeCompressedWeight(Ljava/lang/StringBuilder;II)V
const/16 v1, 0x44
.line 5
invoke-direct {p0, v0, v1}, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;->encodeCompressedDate(Ljava/lang/StringBuilder;I)V
.line 6
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.line 7
:cond_0
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
throw v0
.end method
@@ -0,0 +1,76 @@
.class abstract Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0xDecoder;
.super Lcom/google/zxing/oned/rss/expanded/decoders/AI01weightDecoder;
.source "AI013x0xDecoder.java"
# static fields
.field private static final HEADER_SIZE:I = 0x5
.field private static final WEIGHT_SIZE:I = 0xf
# direct methods
.method public constructor <init>(Lcom/google/zxing/common/BitArray;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01weightDecoder;-><init>(Lcom/google/zxing/common/BitArray;)V
return-void
.end method
# virtual methods
.method public parseInformation()Ljava/lang/String;
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->getInformation()Lcom/google/zxing/common/BitArray;
move-result-object v0
invoke-virtual {v0}, Lcom/google/zxing/common/BitArray;->getSize()I
move-result v0
const/16 v1, 0x3c
if-ne v0, v1, :cond_0
.line 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const/4 v1, 0x5
.line 3
invoke-virtual {p0, v0, v1}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01decoder;->encodeCompressedGtin(Ljava/lang/StringBuilder;I)V
const/16 v1, 0x2d
const/16 v2, 0xf
.line 4
invoke-virtual {p0, v0, v1, v2}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01weightDecoder;->encodeCompressedWeight(Ljava/lang/StringBuilder;II)V
.line 5
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.line 6
:cond_0
invoke-static {}, Lcom/google/zxing/NotFoundException;->getNotFoundInstance()Lcom/google/zxing/NotFoundException;
move-result-object v0
throw v0
.end method
@@ -0,0 +1,73 @@
.class final Lcom/google/zxing/oned/rss/expanded/decoders/AI01AndOtherAIs;
.super Lcom/google/zxing/oned/rss/expanded/decoders/AI01decoder;
.source "AI01AndOtherAIs.java"
# static fields
.field private static final HEADER_SIZE:I = 0x4
# direct methods
.method public constructor <init>(Lcom/google/zxing/common/BitArray;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01decoder;-><init>(Lcom/google/zxing/common/BitArray;)V
return-void
.end method
# virtual methods
.method public parseInformation()Ljava/lang/String;
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
const-string v0, "(01)"
.line 1
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
.line 2
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v1
.line 3
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->getGeneralDecoder()Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;
move-result-object v2
const/4 v3, 0x4
invoke-virtual {v2, v3, v3}, Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;->extractNumericValueFromBitArray(II)I
move-result v2
.line 4
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/16 v2, 0x8
.line 5
invoke-virtual {p0, v0, v2, v1}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01decoder;->encodeCompressedGtinWithoutAI(Ljava/lang/StringBuilder;II)V
.line 6
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->getGeneralDecoder()Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;
move-result-object v1
const/16 v2, 0x30
invoke-virtual {v1, v0, v2}, Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;->decodeAllCodes(Ljava/lang/StringBuilder;I)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,161 @@
.class abstract Lcom/google/zxing/oned/rss/expanded/decoders/AI01decoder;
.super Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;
.source "AI01decoder.java"
# static fields
.field public static final GTIN_SIZE:I = 0x28
# direct methods
.method public constructor <init>(Lcom/google/zxing/common/BitArray;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;-><init>(Lcom/google/zxing/common/BitArray;)V
return-void
.end method
.method private static appendCheckDigit(Ljava/lang/StringBuilder;I)V
.locals 5
const/4 v0, 0x0
move v1, v0
move v2, v1
:goto_0
const/16 v3, 0xd
if-lt v1, v3, :cond_1
const/16 p1, 0xa
.line 1
rem-int/2addr v2, p1
rsub-int/lit8 v1, v2, 0xa
if-ne v1, p1, :cond_0
goto :goto_1
:cond_0
move v0, v1
.line 2
:goto_1
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
return-void
:cond_1
add-int v3, v1, p1
.line 3
invoke-virtual {p0, v3}, Ljava/lang/StringBuilder;->charAt(I)C
move-result v3
add-int/lit8 v3, v3, -0x30
and-int/lit8 v4, v1, 0x1
if-nez v4, :cond_2
mul-int/lit8 v3, v3, 0x3
:cond_2
add-int/2addr v2, v3
add-int/lit8 v1, v1, 0x1
goto :goto_0
.end method
# virtual methods
.method public final encodeCompressedGtin(Ljava/lang/StringBuilder;I)V
.locals 2
const-string v0, "(01)"
.line 1
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 2
invoke-virtual {p1}, Ljava/lang/StringBuilder;->length()I
move-result v0
const/16 v1, 0x39
.line 3
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 4
invoke-virtual {p0, p1, p2, v0}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01decoder;->encodeCompressedGtinWithoutAI(Ljava/lang/StringBuilder;II)V
return-void
.end method
.method public final encodeCompressedGtinWithoutAI(Ljava/lang/StringBuilder;II)V
.locals 4
const/4 v0, 0x0
:goto_0
const/4 v1, 0x4
if-lt v0, v1, :cond_0
.line 1
invoke-static {p1, p3}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01decoder;->appendCheckDigit(Ljava/lang/StringBuilder;I)V
return-void
.line 2
:cond_0
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->getGeneralDecoder()Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;
move-result-object v1
mul-int/lit8 v2, v0, 0xa
add-int/2addr v2, p2
const/16 v3, 0xa
invoke-virtual {v1, v2, v3}, Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;->extractNumericValueFromBitArray(II)I
move-result v1
.line 3
div-int/lit8 v2, v1, 0x64
const/16 v3, 0x30
if-nez v2, :cond_1
.line 4
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 5
:cond_1
div-int/lit8 v2, v1, 0xa
if-nez v2, :cond_2
.line 6
invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 7
:cond_2
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
add-int/lit8 v0, v0, 0x1
goto :goto_0
.end method
@@ -0,0 +1,76 @@
.class abstract Lcom/google/zxing/oned/rss/expanded/decoders/AI01weightDecoder;
.super Lcom/google/zxing/oned/rss/expanded/decoders/AI01decoder;
.source "AI01weightDecoder.java"
# direct methods
.method public constructor <init>(Lcom/google/zxing/common/BitArray;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01decoder;-><init>(Lcom/google/zxing/common/BitArray;)V
return-void
.end method
# virtual methods
.method public abstract addWeightCode(Ljava/lang/StringBuilder;I)V
.end method
.method public abstract checkWeight(I)I
.end method
.method public final encodeCompressedWeight(Ljava/lang/StringBuilder;II)V
.locals 2
.line 1
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->getGeneralDecoder()Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;
move-result-object v0
invoke-virtual {v0, p2, p3}, Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;->extractNumericValueFromBitArray(II)I
move-result p2
.line 2
invoke-virtual {p0, p1, p2}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01weightDecoder;->addWeightCode(Ljava/lang/StringBuilder;I)V
.line 3
invoke-virtual {p0, p2}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01weightDecoder;->checkWeight(I)I
move-result p2
const p3, 0x186a0
const/4 v0, 0x0
:goto_0
const/4 v1, 0x5
if-lt v0, v1, :cond_0
.line 4
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
return-void
.line 5
:cond_0
div-int v1, p2, p3
if-nez v1, :cond_1
const/16 v1, 0x30
.line 6
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 7
:cond_1
div-int/lit8 p3, p3, 0xa
add-int/lit8 v0, v0, 0x1
goto :goto_0
.end method
@@ -0,0 +1,270 @@
.class public abstract Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;
.super Ljava/lang/Object;
.source "AbstractExpandedDecoder.java"
# instance fields
.field private final generalDecoder:Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;
.field private final information:Lcom/google/zxing/common/BitArray;
# direct methods
.method public constructor <init>(Lcom/google/zxing/common/BitArray;)V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->information:Lcom/google/zxing/common/BitArray;
.line 3
new-instance v0, Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;
invoke-direct {v0, p1}, Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;-><init>(Lcom/google/zxing/common/BitArray;)V
iput-object v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->generalDecoder:Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;
return-void
.end method
.method public static createDecoder(Lcom/google/zxing/common/BitArray;)Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;
.locals 7
const/4 v0, 0x1
.line 1
invoke-virtual {p0, v0}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result v1
if-eqz v1, :cond_0
.line 2
new-instance v0, Lcom/google/zxing/oned/rss/expanded/decoders/AI01AndOtherAIs;
invoke-direct {v0, p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01AndOtherAIs;-><init>(Lcom/google/zxing/common/BitArray;)V
return-object v0
:cond_0
const/4 v1, 0x2
.line 3
invoke-virtual {p0, v1}, Lcom/google/zxing/common/BitArray;->get(I)Z
move-result v1
if-nez v1, :cond_1
.line 4
new-instance v0, Lcom/google/zxing/oned/rss/expanded/decoders/AnyAIDecoder;
invoke-direct {v0, p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AnyAIDecoder;-><init>(Lcom/google/zxing/common/BitArray;)V
return-object v0
:cond_1
const/4 v1, 0x4
.line 5
invoke-static {p0, v0, v1}, Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;->extractNumericValueFromBitArray(Lcom/google/zxing/common/BitArray;II)I
move-result v2
if-eq v2, v1, :cond_5
const/4 v1, 0x5
if-eq v2, v1, :cond_4
.line 6
invoke-static {p0, v0, v1}, Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;->extractNumericValueFromBitArray(Lcom/google/zxing/common/BitArray;II)I
move-result v1
const/16 v2, 0xc
if-eq v1, v2, :cond_3
const/16 v2, 0xd
if-eq v1, v2, :cond_2
const/4 v1, 0x7
.line 7
invoke-static {p0, v0, v1}, Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;->extractNumericValueFromBitArray(Lcom/google/zxing/common/BitArray;II)I
move-result v0
const-string v1, "17"
const-string v2, "15"
const-string v3, "13"
const-string v4, "11"
const-string v5, "320"
const-string v6, "310"
packed-switch v0, :pswitch_data_0
.line 8
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "unknown decoder: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 9
:pswitch_0
new-instance v0, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;
invoke-direct {v0, p0, v5, v1}, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;-><init>(Lcom/google/zxing/common/BitArray;Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.line 10
:pswitch_1
new-instance v0, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;
invoke-direct {v0, p0, v6, v1}, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;-><init>(Lcom/google/zxing/common/BitArray;Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.line 11
:pswitch_2
new-instance v0, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;
invoke-direct {v0, p0, v5, v2}, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;-><init>(Lcom/google/zxing/common/BitArray;Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.line 12
:pswitch_3
new-instance v0, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;
invoke-direct {v0, p0, v6, v2}, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;-><init>(Lcom/google/zxing/common/BitArray;Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.line 13
:pswitch_4
new-instance v0, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;
invoke-direct {v0, p0, v5, v3}, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;-><init>(Lcom/google/zxing/common/BitArray;Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.line 14
:pswitch_5
new-instance v0, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;
invoke-direct {v0, p0, v6, v3}, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;-><init>(Lcom/google/zxing/common/BitArray;Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.line 15
:pswitch_6
new-instance v0, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;
invoke-direct {v0, p0, v5, v4}, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;-><init>(Lcom/google/zxing/common/BitArray;Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.line 16
:pswitch_7
new-instance v0, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;
invoke-direct {v0, p0, v6, v4}, Lcom/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder;-><init>(Lcom/google/zxing/common/BitArray;Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.line 17
:cond_2
new-instance v0, Lcom/google/zxing/oned/rss/expanded/decoders/AI01393xDecoder;
invoke-direct {v0, p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01393xDecoder;-><init>(Lcom/google/zxing/common/BitArray;)V
return-object v0
.line 18
:cond_3
new-instance v0, Lcom/google/zxing/oned/rss/expanded/decoders/AI01392xDecoder;
invoke-direct {v0, p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01392xDecoder;-><init>(Lcom/google/zxing/common/BitArray;)V
return-object v0
.line 19
:cond_4
new-instance v0, Lcom/google/zxing/oned/rss/expanded/decoders/AI01320xDecoder;
invoke-direct {v0, p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AI01320xDecoder;-><init>(Lcom/google/zxing/common/BitArray;)V
return-object v0
.line 20
:cond_5
new-instance v0, Lcom/google/zxing/oned/rss/expanded/decoders/AI013103decoder;
invoke-direct {v0, p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AI013103decoder;-><init>(Lcom/google/zxing/common/BitArray;)V
return-object v0
:pswitch_data_0
.packed-switch 0x38
:pswitch_7
:pswitch_6
:pswitch_5
:pswitch_4
:pswitch_3
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
.end method
# virtual methods
.method public final getGeneralDecoder()Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->generalDecoder:Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;
return-object v0
.end method
.method public final getInformation()Lcom/google/zxing/common/BitArray;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->information:Lcom/google/zxing/common/BitArray;
return-object v0
.end method
.method public abstract parseInformation()Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.end method
@@ -0,0 +1,47 @@
.class final Lcom/google/zxing/oned/rss/expanded/decoders/AnyAIDecoder;
.super Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;
.source "AnyAIDecoder.java"
# static fields
.field private static final HEADER_SIZE:I = 0x5
# direct methods
.method public constructor <init>(Lcom/google/zxing/common/BitArray;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;-><init>(Lcom/google/zxing/common/BitArray;)V
return-void
.end method
# virtual methods
.method public parseInformation()Ljava/lang/String;
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/NotFoundException;
}
.end annotation
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 2
invoke-virtual {p0}, Lcom/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder;->getGeneralDecoder()Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;
move-result-object v1
const/4 v2, 0x5
invoke-virtual {v1, v0, v2}, Lcom/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder;->decodeAllCodes(Ljava/lang/StringBuilder;I)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,57 @@
.class final Lcom/google/zxing/oned/rss/expanded/decoders/BlockParsedResult;
.super Ljava/lang/Object;
.source "BlockParsedResult.java"
# instance fields
.field private final decodedInformation:Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;
.field private final finished:Z
# direct methods
.method public constructor <init>(Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;Z)V
.locals 0
.line 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 3
iput-boolean p2, p0, Lcom/google/zxing/oned/rss/expanded/decoders/BlockParsedResult;->finished:Z
.line 4
iput-object p1, p0, Lcom/google/zxing/oned/rss/expanded/decoders/BlockParsedResult;->decodedInformation:Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;
return-void
.end method
.method public constructor <init>(Z)V
.locals 1
const/4 v0, 0x0
.line 1
invoke-direct {p0, v0, p1}, Lcom/google/zxing/oned/rss/expanded/decoders/BlockParsedResult;-><init>(Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;Z)V
return-void
.end method
# virtual methods
.method public getDecodedInformation()Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/BlockParsedResult;->decodedInformation:Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;
return-object v0
.end method
.method public isFinished()Z
.locals 1
.line 1
iget-boolean v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/BlockParsedResult;->finished:Z
return v0
.end method
@@ -0,0 +1,127 @@
.class final enum Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
.super Ljava/lang/Enum;
.source "CurrentParsingState.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "State"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;",
">;"
}
.end annotation
# static fields
.field public static final enum ALPHA:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
.field private static final synthetic ENUM$VALUES:[Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
.field public static final enum ISO_IEC_646:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
.field public static final enum NUMERIC:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
# direct methods
.method public static constructor <clinit>()V
.locals 7
.line 1
new-instance v0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
const-string v1, "NUMERIC"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;->NUMERIC:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
.line 2
new-instance v1, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
const-string v3, "ALPHA"
const/4 v4, 0x1
invoke-direct {v1, v3, v4}, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;-><init>(Ljava/lang/String;I)V
sput-object v1, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;->ALPHA:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
.line 3
new-instance v3, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
const-string v5, "ISO_IEC_646"
const/4 v6, 0x2
invoke-direct {v3, v5, v6}, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;-><init>(Ljava/lang/String;I)V
sput-object v3, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;->ISO_IEC_646:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
const/4 v5, 0x3
new-array v5, v5, [Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
aput-object v0, v5, v2
aput-object v1, v5, v4
aput-object v3, v5, v6
.line 4
sput-object v5, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;->ENUM$VALUES:[Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
.locals 1
.line 1
const-class v0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
return-object p0
.end method
.method public static values()[Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
.locals 4
.line 1
sget-object v0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;->ENUM$VALUES:[Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
array-length v1, v0
new-array v2, v1, [Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
const/4 v3, 0x0
invoke-static {v0, v3, v2, v3, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
return-object v2
.end method
@@ -0,0 +1,164 @@
.class final Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState;
.super Ljava/lang/Object;
.source "CurrentParsingState.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
}
.end annotation
# instance fields
.field private encoding:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
.field private position:I
# direct methods
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 2
iput v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState;->position:I
.line 3
sget-object v0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;->NUMERIC:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
iput-object v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState;->encoding:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
return-void
.end method
# virtual methods
.method public getPosition()I
.locals 1
.line 1
iget v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState;->position:I
return v0
.end method
.method public incrementPosition(I)V
.locals 1
.line 1
iget v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState;->position:I
add-int/2addr v0, p1
iput v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState;->position:I
return-void
.end method
.method public isAlpha()Z
.locals 2
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState;->encoding:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
sget-object v1, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;->ALPHA:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
if-ne v0, v1, :cond_0
const/4 v0, 0x1
return v0
:cond_0
const/4 v0, 0x0
return v0
.end method
.method public isIsoIec646()Z
.locals 2
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState;->encoding:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
sget-object v1, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;->ISO_IEC_646:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
if-ne v0, v1, :cond_0
const/4 v0, 0x1
return v0
:cond_0
const/4 v0, 0x0
return v0
.end method
.method public isNumeric()Z
.locals 2
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState;->encoding:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
sget-object v1, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;->NUMERIC:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
if-ne v0, v1, :cond_0
const/4 v0, 0x1
return v0
:cond_0
const/4 v0, 0x0
return v0
.end method
.method public setAlpha()V
.locals 1
.line 1
sget-object v0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;->ALPHA:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
iput-object v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState;->encoding:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
return-void
.end method
.method public setIsoIec646()V
.locals 1
.line 1
sget-object v0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;->ISO_IEC_646:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
iput-object v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState;->encoding:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
return-void
.end method
.method public setNumeric()V
.locals 1
.line 1
sget-object v0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;->NUMERIC:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
iput-object v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState;->encoding:Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState$State;
return-void
.end method
.method public setPosition(I)V
.locals 0
.line 1
iput p1, p0, Lcom/google/zxing/oned/rss/expanded/decoders/CurrentParsingState;->position:I
return-void
.end method
@@ -0,0 +1,56 @@
.class final Lcom/google/zxing/oned/rss/expanded/decoders/DecodedChar;
.super Lcom/google/zxing/oned/rss/expanded/decoders/DecodedObject;
.source "DecodedChar.java"
# static fields
.field public static final FNC1:C = '$'
# instance fields
.field private final value:C
# direct methods
.method public constructor <init>(IC)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedObject;-><init>(I)V
.line 2
iput-char p2, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedChar;->value:C
return-void
.end method
# virtual methods
.method public getValue()C
.locals 1
.line 1
iget-char v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedChar;->value:C
return v0
.end method
.method public isFNC1()Z
.locals 2
.line 1
iget-char v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedChar;->value:C
const/16 v1, 0x24
if-ne v0, v1, :cond_0
const/4 v0, 0x1
return v0
:cond_0
const/4 v0, 0x0
return v0
.end method
@@ -0,0 +1,82 @@
.class final Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;
.super Lcom/google/zxing/oned/rss/expanded/decoders/DecodedObject;
.source "DecodedInformation.java"
# instance fields
.field private final newString:Ljava/lang/String;
.field private final remaining:Z
.field private final remainingValue:I
# direct methods
.method public constructor <init>(ILjava/lang/String;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedObject;-><init>(I)V
.line 2
iput-object p2, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;->newString:Ljava/lang/String;
const/4 p1, 0x0
.line 3
iput-boolean p1, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;->remaining:Z
.line 4
iput p1, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;->remainingValue:I
return-void
.end method
.method public constructor <init>(ILjava/lang/String;I)V
.locals 0
.line 5
invoke-direct {p0, p1}, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedObject;-><init>(I)V
const/4 p1, 0x1
.line 6
iput-boolean p1, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;->remaining:Z
.line 7
iput p3, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;->remainingValue:I
.line 8
iput-object p2, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;->newString:Ljava/lang/String;
return-void
.end method
# virtual methods
.method public getNewString()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;->newString:Ljava/lang/String;
return-object v0
.end method
.method public getRemainingValue()I
.locals 1
.line 1
iget v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;->remainingValue:I
return v0
.end method
.method public isRemaining()Z
.locals 1
.line 1
iget-boolean v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedInformation;->remaining:Z
return v0
.end method
@@ -0,0 +1,179 @@
.class final Lcom/google/zxing/oned/rss/expanded/decoders/DecodedNumeric;
.super Lcom/google/zxing/oned/rss/expanded/decoders/DecodedObject;
.source "DecodedNumeric.java"
# static fields
.field public static final FNC1:I = 0xa
# instance fields
.field private final firstDigit:I
.field private final secondDigit:I
# direct methods
.method public constructor <init>(III)V
.locals 1
.line 1
invoke-direct {p0, p1}, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedObject;-><init>(I)V
.line 2
iput p2, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedNumeric;->firstDigit:I
.line 3
iput p3, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedNumeric;->secondDigit:I
if-ltz p2, :cond_1
const/16 p1, 0xa
if-gt p2, p1, :cond_1
if-ltz p3, :cond_0
if-gt p3, p1, :cond_0
return-void
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p2, Ljava/lang/StringBuilder;
const-string v0, "Invalid secondDigit: "
invoke-direct {p2, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 5
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p3, Ljava/lang/StringBuilder;
const-string v0, "Invalid firstDigit: "
invoke-direct {p3, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
# virtual methods
.method public getFirstDigit()I
.locals 1
.line 1
iget v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedNumeric;->firstDigit:I
return v0
.end method
.method public getSecondDigit()I
.locals 1
.line 1
iget v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedNumeric;->secondDigit:I
return v0
.end method
.method public getValue()I
.locals 2
.line 1
iget v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedNumeric;->firstDigit:I
mul-int/lit8 v0, v0, 0xa
iget v1, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedNumeric;->secondDigit:I
add-int/2addr v0, v1
return v0
.end method
.method public isAnyFNC1()Z
.locals 2
.line 1
iget v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedNumeric;->firstDigit:I
const/16 v1, 0xa
if-eq v0, v1, :cond_0
iget v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedNumeric;->secondDigit:I
if-eq v0, v1, :cond_0
const/4 v0, 0x0
return v0
:cond_0
const/4 v0, 0x1
return v0
.end method
.method public isFirstDigitFNC1()Z
.locals 2
.line 1
iget v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedNumeric;->firstDigit:I
const/16 v1, 0xa
if-ne v0, v1, :cond_0
const/4 v0, 0x1
return v0
:cond_0
const/4 v0, 0x0
return v0
.end method
.method public isSecondDigitFNC1()Z
.locals 2
.line 1
iget v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedNumeric;->secondDigit:I
const/16 v1, 0xa
if-ne v0, v1, :cond_0
const/4 v0, 0x1
return v0
:cond_0
const/4 v0, 0x0
return v0
.end method
@@ -0,0 +1,32 @@
.class abstract Lcom/google/zxing/oned/rss/expanded/decoders/DecodedObject;
.super Ljava/lang/Object;
.source "DecodedObject.java"
# instance fields
.field private final newPosition:I
# direct methods
.method public constructor <init>(I)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput p1, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedObject;->newPosition:I
return-void
.end method
# virtual methods
.method public final getNewPosition()I
.locals 1
.line 1
iget v0, p0, Lcom/google/zxing/oned/rss/expanded/decoders/DecodedObject;->newPosition:I
return v0
.end method
File diff suppressed because it is too large Load Diff