Add Discord APKTool decompilation (Smali source for modding)

- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
This commit is contained in:
2026-02-18 16:13:44 -08:00
parent c080f0d97f
commit f3960ee359
44288 changed files with 10998761 additions and 0 deletions

View File

@@ -0,0 +1,108 @@
.class public abstract Lcom/google/zxing/oned/CodaBarReader;
.super Lcom/google/zxing/oned/OneDReader;
.source "SourceFile"
# static fields
.field public static final ALPHABET:[C
.field public static final CHARACTER_ENCODINGS:[I
.field public static final STARTEND_ENCODING:[C
# direct methods
.method static constructor <clinit>()V
.locals 1
const-string v0, "0123456789-$:/.+ABCD"
.line 44
invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C
move-result-object v0
sput-object v0, Lcom/google/zxing/oned/CodaBarReader;->ALPHABET:[C
const/16 v0, 0x14
new-array v0, v0, [I
fill-array-data v0, :array_0
sput-object v0, Lcom/google/zxing/oned/CodaBarReader;->CHARACTER_ENCODINGS:[I
const/4 v0, 0x4
new-array v0, v0, [C
fill-array-data v0, :array_1
sput-object v0, Lcom/google/zxing/oned/CodaBarReader;->STARTEND_ENCODING:[C
return-void
:array_0
.array-data 4
0x3
0x6
0x9
0x60
0x12
0x42
0x21
0x24
0x30
0x48
0xc
0x18
0x45
0x51
0x54
0x15
0x1a
0x29
0xb
0xe
.end array-data
:array_1
.array-data 2
0x41s
0x42s
0x43s
0x44s
.end array-data
.end method
.method public static arrayContains([CC)Z
.locals 4
const/4 v0, 0x0
if-eqz p0, :cond_1
.line 283
array-length v1, p0
move v2, v0
:goto_0
if-ge v2, v1, :cond_1
aget-char v3, p0, v2
if-ne v3, p1, :cond_0
const/4 p0, 0x1
return p0
:cond_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return v0
.end method

View File

@@ -0,0 +1,520 @@
.class public final Lcom/google/zxing/oned/CodaBarWriter;
.super Lcom/google/zxing/oned/OneDimensionalCodeWriter;
.source "SourceFile"
# static fields
.field public static final ALT_START_END_CHARS:[C
.field public static final CHARS_WHICH_ARE_TEN_LENGTH_EACH_AFTER_DECODED:[C
.field public static final DEFAULT_GUARD:C
.field public static final START_END_CHARS:[C
# direct methods
.method static constructor <clinit>()V
.locals 3
const/4 v0, 0x4
new-array v1, v0, [C
fill-array-data v1, :array_0
sput-object v1, Lcom/google/zxing/oned/CodaBarWriter;->START_END_CHARS:[C
new-array v2, v0, [C
fill-array-data v2, :array_1
sput-object v2, Lcom/google/zxing/oned/CodaBarWriter;->ALT_START_END_CHARS:[C
new-array v0, v0, [C
fill-array-data v0, :array_2
sput-object v0, Lcom/google/zxing/oned/CodaBarWriter;->CHARS_WHICH_ARE_TEN_LENGTH_EACH_AFTER_DECODED:[C
const/4 v0, 0x0
aget-char v0, v1, v0
sput-char v0, Lcom/google/zxing/oned/CodaBarWriter;->DEFAULT_GUARD: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
:array_2
.array-data 2
0x2fs
0x3as
0x2bs
0x2es
.end array-data
.end method
.method public constructor <init>()V
.locals 0
.line 24
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 34
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/4 v1, 0x2
const/4 v2, 0x0
const/4 v3, 0x1
if-ge v0, v1, :cond_0
.line 36
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
sget-char v1, Lcom/google/zxing/oned/CodaBarWriter;->DEFAULT_GUARD:C
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
goto :goto_0
.line 39
:cond_0
invoke-virtual {p1, v2}, Ljava/lang/String;->charAt(I)C
move-result v0
invoke-static {v0}, Ljava/lang/Character;->toUpperCase(C)C
move-result v0
.line 40
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v1
sub-int/2addr v1, v3
invoke-virtual {p1, v1}, Ljava/lang/String;->charAt(I)C
move-result v1
invoke-static {v1}, Ljava/lang/Character;->toUpperCase(C)C
move-result v1
sget-object v4, Lcom/google/zxing/oned/CodaBarWriter;->START_END_CHARS:[C
.line 41
invoke-static {v4, v0}, Lcom/google/zxing/oned/CodaBarReader;->arrayContains([CC)Z
move-result v5
.line 42
invoke-static {v4, v1}, Lcom/google/zxing/oned/CodaBarReader;->arrayContains([CC)Z
move-result v4
sget-object v6, Lcom/google/zxing/oned/CodaBarWriter;->ALT_START_END_CHARS:[C
.line 43
invoke-static {v6, v0}, Lcom/google/zxing/oned/CodaBarReader;->arrayContains([CC)Z
move-result v0
.line 44
invoke-static {v6, v1}, Lcom/google/zxing/oned/CodaBarReader;->arrayContains([CC)Z
move-result v1
const-string v6, "Invalid start/end guards: "
if-eqz v5, :cond_2
if-eqz v4, :cond_1
goto :goto_0
.line 47
:cond_1
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-virtual {v6, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_2
if-eqz v0, :cond_4
if-eqz v1, :cond_3
goto :goto_0
.line 52
:cond_3
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-virtual {v6, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_4
if-nez v4, :cond_16
if-nez v1, :cond_16
.line 61
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
sget-char v1, Lcom/google/zxing/oned/CodaBarWriter;->DEFAULT_GUARD:C
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
:goto_0
const/16 v0, 0x14
move v1, v3
.line 67
:goto_1
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v4
sub-int/2addr v4, v3
if-ge v1, v4, :cond_8
.line 68
invoke-virtual {p1, v1}, Ljava/lang/String;->charAt(I)C
move-result v4
invoke-static {v4}, Ljava/lang/Character;->isDigit(C)Z
move-result v4
if-nez v4, :cond_7
invoke-virtual {p1, v1}, Ljava/lang/String;->charAt(I)C
move-result v4
const/16 v5, 0x2d
if-eq v4, v5, :cond_7
invoke-virtual {p1, v1}, Ljava/lang/String;->charAt(I)C
move-result v4
const/16 v5, 0x24
if-ne v4, v5, :cond_5
goto :goto_2
:cond_5
sget-object v4, Lcom/google/zxing/oned/CodaBarWriter;->CHARS_WHICH_ARE_TEN_LENGTH_EACH_AFTER_DECODED:[C
.line 70
invoke-virtual {p1, v1}, Ljava/lang/String;->charAt(I)C
move-result v5
invoke-static {v4, v5}, Lcom/google/zxing/oned/CodaBarReader;->arrayContains([CC)Z
move-result v4
if-eqz v4, :cond_6
add-int/lit8 v0, v0, 0xa
goto :goto_3
.line 73
:cond_6
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Cannot encode : \'"
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1, v1}, Ljava/lang/String;->charAt(I)C
move-result p1
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/16 p1, 0x27
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v2}, 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_7
:goto_2
add-int/lit8 v0, v0, 0x9
:goto_3
add-int/lit8 v1, v1, 0x1
goto :goto_1
.line 77
:cond_8
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v1
sub-int/2addr v1, v3
add-int/2addr v0, v1
.line 79
new-array v0, v0, [Z
move v1, v2
move v4, v1
.line 81
:goto_4
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v5
if-ge v1, v5, :cond_15
.line 82
invoke-virtual {p1, v1}, Ljava/lang/String;->charAt(I)C
move-result v5
invoke-static {v5}, Ljava/lang/Character;->toUpperCase(C)C
move-result v5
if-eqz v1, :cond_9
.line 83
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v6
sub-int/2addr v6, v3
if-ne v1, v6, :cond_e
:cond_9
const/16 v6, 0x2a
if-eq v5, v6, :cond_d
const/16 v6, 0x45
if-eq v5, v6, :cond_c
const/16 v6, 0x4e
if-eq v5, v6, :cond_b
const/16 v6, 0x54
if-eq v5, v6, :cond_a
goto :goto_5
:cond_a
const/16 v5, 0x41
goto :goto_5
:cond_b
const/16 v5, 0x42
goto :goto_5
:cond_c
const/16 v5, 0x44
goto :goto_5
:cond_d
const/16 v5, 0x43
:cond_e
:goto_5
move v6, v2
.line 101
:goto_6
sget-object v7, Lcom/google/zxing/oned/CodaBarReader;->ALPHABET:[C
array-length v8, v7
if-ge v6, v8, :cond_10
.line 103
aget-char v7, v7, v6
if-ne v5, v7, :cond_f
.line 104
sget-object v5, Lcom/google/zxing/oned/CodaBarReader;->CHARACTER_ENCODINGS:[I
aget v5, v5, v6
goto :goto_7
:cond_f
add-int/lit8 v6, v6, 0x1
goto :goto_6
:cond_10
move v5, v2
:goto_7
move v6, v2
move v8, v6
move v7, v3
:goto_8
const/4 v9, 0x7
if-ge v6, v9, :cond_13
.line 112
aput-boolean v7, v0, v4
add-int/lit8 v4, v4, 0x1
rsub-int/lit8 v9, v6, 0x6
shr-int v9, v5, v9
and-int/2addr v9, v3
if-eqz v9, :cond_12
if-ne v8, v3, :cond_11
goto :goto_9
:cond_11
add-int/lit8 v8, v8, 0x1
goto :goto_8
:cond_12
:goto_9
xor-int/lit8 v7, v7, 0x1
add-int/lit8 v6, v6, 0x1
move v8, v2
goto :goto_8
.line 122
:cond_13
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v5
sub-int/2addr v5, v3
if-ge v1, v5, :cond_14
.line 123
aput-boolean v2, v0, v4
add-int/lit8 v4, v4, 0x1
:cond_14
add-int/lit8 v1, v1, 0x1
goto :goto_4
:cond_15
return-object v0
.line 58
:cond_16
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-virtual {v6, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
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

View File

@@ -0,0 +1,128 @@
.class public final enum Lcom/google/zxing/oned/Code128Writer$CType;
.super Ljava/lang/Enum;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/zxing/oned/Code128Writer;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "CType"
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/zxing/oned/Code128Writer$CType;
.field public static final enum FNC_1:Lcom/google/zxing/oned/Code128Writer$CType;
.field public static final enum ONE_DIGIT:Lcom/google/zxing/oned/Code128Writer$CType;
.field public static final enum TWO_DIGITS:Lcom/google/zxing/oned/Code128Writer$CType;
.field public static final enum UNCODABLE:Lcom/google/zxing/oned/Code128Writer$CType;
# direct methods
.method static constructor <clinit>()V
.locals 6
.line 57
new-instance v0, Lcom/google/zxing/oned/Code128Writer$CType;
const-string v1, "UNCODABLE"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/zxing/oned/Code128Writer$CType;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/zxing/oned/Code128Writer$CType;->UNCODABLE:Lcom/google/zxing/oned/Code128Writer$CType;
.line 58
new-instance v1, Lcom/google/zxing/oned/Code128Writer$CType;
const-string v2, "ONE_DIGIT"
const/4 v3, 0x1
invoke-direct {v1, v2, v3}, Lcom/google/zxing/oned/Code128Writer$CType;-><init>(Ljava/lang/String;I)V
sput-object v1, Lcom/google/zxing/oned/Code128Writer$CType;->ONE_DIGIT:Lcom/google/zxing/oned/Code128Writer$CType;
.line 59
new-instance v2, Lcom/google/zxing/oned/Code128Writer$CType;
const-string v3, "TWO_DIGITS"
const/4 v4, 0x2
invoke-direct {v2, v3, v4}, Lcom/google/zxing/oned/Code128Writer$CType;-><init>(Ljava/lang/String;I)V
sput-object v2, Lcom/google/zxing/oned/Code128Writer$CType;->TWO_DIGITS:Lcom/google/zxing/oned/Code128Writer$CType;
.line 60
new-instance v3, Lcom/google/zxing/oned/Code128Writer$CType;
const-string v4, "FNC_1"
const/4 v5, 0x3
invoke-direct {v3, v4, v5}, Lcom/google/zxing/oned/Code128Writer$CType;-><init>(Ljava/lang/String;I)V
sput-object v3, Lcom/google/zxing/oned/Code128Writer$CType;->FNC_1:Lcom/google/zxing/oned/Code128Writer$CType;
filled-new-array {v0, v1, v2, v3}, [Lcom/google/zxing/oned/Code128Writer$CType;
move-result-object v0
sput-object v0, Lcom/google/zxing/oned/Code128Writer$CType;->$VALUES:[Lcom/google/zxing/oned/Code128Writer$CType;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 56
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/Code128Writer$CType;
.locals 1
const-class v0, Lcom/google/zxing/oned/Code128Writer$CType;
.line 56
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/Code128Writer$CType;
return-object p0
.end method
.method public static values()[Lcom/google/zxing/oned/Code128Writer$CType;
.locals 1
sget-object v0, Lcom/google/zxing/oned/Code128Writer$CType;->$VALUES:[Lcom/google/zxing/oned/Code128Writer$CType;
.line 56
invoke-virtual {v0}, [Lcom/google/zxing/oned/Code128Writer$CType;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/zxing/oned/Code128Writer$CType;
return-object v0
.end method

View File

@@ -0,0 +1,638 @@
.class public final Lcom/google/zxing/oned/Code128Writer;
.super Lcom/google/zxing/oned/OneDimensionalCodeWriter;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/zxing/oned/Code128Writer$CType;
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 33
invoke-direct {p0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;-><init>()V
return-void
.end method
.method public static chooseCode(Ljava/lang/CharSequence;II)I
.locals 5
.line 234
invoke-static {p0, p1}, Lcom/google/zxing/oned/Code128Writer;->findCType(Ljava/lang/CharSequence;I)Lcom/google/zxing/oned/Code128Writer$CType;
move-result-object v0
.line 235
sget-object v1, Lcom/google/zxing/oned/Code128Writer$CType;->ONE_DIGIT:Lcom/google/zxing/oned/Code128Writer$CType;
const/16 v2, 0x64
if-ne v0, v1, :cond_0
return v2
.line 238
:cond_0
sget-object v3, Lcom/google/zxing/oned/Code128Writer$CType;->UNCODABLE:Lcom/google/zxing/oned/Code128Writer$CType;
if-ne v0, v3, :cond_3
.line 239
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
if-ge p1, v0, :cond_2
.line 240
invoke-interface {p0, p1}, Ljava/lang/CharSequence;->charAt(I)C
move-result p0
const/16 p1, 0x20
const/16 v0, 0x65
if-lt p0, p1, :cond_1
if-ne p2, v0, :cond_2
const/16 p1, 0x60
if-ge p0, p1, :cond_2
:cond_1
return v0
:cond_2
return v2
:cond_3
const/16 v4, 0x63
if-ne p2, v4, :cond_4
return v4
:cond_4
if-ne p2, v2, :cond_c
.line 252
sget-object p2, Lcom/google/zxing/oned/Code128Writer$CType;->FNC_1:Lcom/google/zxing/oned/Code128Writer$CType;
if-ne v0, p2, :cond_5
return v2
:cond_5
add-int/lit8 v0, p1, 0x2
.line 256
invoke-static {p0, v0}, Lcom/google/zxing/oned/Code128Writer;->findCType(Ljava/lang/CharSequence;I)Lcom/google/zxing/oned/Code128Writer$CType;
move-result-object v0
if-eq v0, v3, :cond_b
if-ne v0, v1, :cond_6
goto :goto_1
:cond_6
if-ne v0, p2, :cond_8
add-int/lit8 p1, p1, 0x3
.line 261
invoke-static {p0, p1}, Lcom/google/zxing/oned/Code128Writer;->findCType(Ljava/lang/CharSequence;I)Lcom/google/zxing/oned/Code128Writer$CType;
move-result-object p0
.line 262
sget-object p1, Lcom/google/zxing/oned/Code128Writer$CType;->TWO_DIGITS:Lcom/google/zxing/oned/Code128Writer$CType;
if-ne p0, p1, :cond_7
return v4
:cond_7
return v2
:cond_8
add-int/lit8 p1, p1, 0x4
.line 271
:goto_0
invoke-static {p0, p1}, Lcom/google/zxing/oned/Code128Writer;->findCType(Ljava/lang/CharSequence;I)Lcom/google/zxing/oned/Code128Writer$CType;
move-result-object p2
sget-object v0, Lcom/google/zxing/oned/Code128Writer$CType;->TWO_DIGITS:Lcom/google/zxing/oned/Code128Writer$CType;
if-ne p2, v0, :cond_9
add-int/lit8 p1, p1, 0x2
goto :goto_0
.line 274
:cond_9
sget-object p0, Lcom/google/zxing/oned/Code128Writer$CType;->ONE_DIGIT:Lcom/google/zxing/oned/Code128Writer$CType;
if-ne p2, p0, :cond_a
return v2
:cond_a
return v4
:cond_b
:goto_1
return v2
.line 280
:cond_c
sget-object p2, Lcom/google/zxing/oned/Code128Writer$CType;->FNC_1:Lcom/google/zxing/oned/Code128Writer$CType;
if-ne v0, p2, :cond_d
add-int/lit8 p1, p1, 0x1
.line 281
invoke-static {p0, p1}, Lcom/google/zxing/oned/Code128Writer;->findCType(Ljava/lang/CharSequence;I)Lcom/google/zxing/oned/Code128Writer$CType;
move-result-object v0
.line 283
:cond_d
sget-object p0, Lcom/google/zxing/oned/Code128Writer$CType;->TWO_DIGITS:Lcom/google/zxing/oned/Code128Writer$CType;
if-ne v0, p0, :cond_e
return v4
:cond_e
return v2
.end method
.method public static findCType(Ljava/lang/CharSequence;I)Lcom/google/zxing/oned/Code128Writer$CType;
.locals 4
.line 212
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
if-lt p1, v0, :cond_0
.line 214
sget-object p0, Lcom/google/zxing/oned/Code128Writer$CType;->UNCODABLE:Lcom/google/zxing/oned/Code128Writer$CType;
return-object p0
.line 216
:cond_0
invoke-interface {p0, p1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v1
const/16 v2, 0xf1
if-ne v1, v2, :cond_1
.line 218
sget-object p0, Lcom/google/zxing/oned/Code128Writer$CType;->FNC_1:Lcom/google/zxing/oned/Code128Writer$CType;
return-object p0
:cond_1
const/16 v2, 0x30
if-lt v1, v2, :cond_6
const/16 v3, 0x39
if-le v1, v3, :cond_2
goto :goto_1
:cond_2
add-int/lit8 p1, p1, 0x1
if-lt p1, v0, :cond_3
.line 224
sget-object p0, Lcom/google/zxing/oned/Code128Writer$CType;->ONE_DIGIT:Lcom/google/zxing/oned/Code128Writer$CType;
return-object p0
.line 226
:cond_3
invoke-interface {p0, p1}, Ljava/lang/CharSequence;->charAt(I)C
move-result p0
if-lt p0, v2, :cond_5
if-le p0, v3, :cond_4
goto :goto_0
.line 230
:cond_4
sget-object p0, Lcom/google/zxing/oned/Code128Writer$CType;->TWO_DIGITS:Lcom/google/zxing/oned/Code128Writer$CType;
return-object p0
.line 228
:cond_5
:goto_0
sget-object p0, Lcom/google/zxing/oned/Code128Writer$CType;->ONE_DIGIT:Lcom/google/zxing/oned/Code128Writer$CType;
return-object p0
.line 221
:cond_6
:goto_1
sget-object p0, Lcom/google/zxing/oned/Code128Writer$CType;->UNCODABLE:Lcom/google/zxing/oned/Code128Writer$CType;
return-object p0
.end method
# virtual methods
.method public encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
.locals 1
.line 69
sget-object v0, Lcom/google/zxing/BarcodeFormat;->CODE_128:Lcom/google/zxing/BarcodeFormat;
if-ne p2, v0, :cond_0
.line 72
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 70
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
const-string p3, "Can only encode CODE_128, but got "
invoke-virtual {p3, p2}, Ljava/lang/String;->concat(Ljava/lang/String;)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 77
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
if-lez v0, :cond_e
const/16 v1, 0x50
if-gt v0, v1, :cond_e
const/4 v1, 0x0
move v2, v1
:goto_0
if-ge v2, v0, :cond_1
.line 85
invoke-virtual {p1, v2}, Ljava/lang/String;->charAt(I)C
move-result v3
packed-switch v3, :pswitch_data_0
const/16 v4, 0x7f
if-gt v3, v4, :cond_0
goto :goto_1
.line 95
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Bad character in input: "
invoke-static {v3}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:goto_1
:pswitch_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 100
:cond_1
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
const/4 v3, 0x1
move v4, v1
move v5, v4
move v6, v5
move v7, v3
:cond_2
:goto_2
const/16 v8, 0x67
if-ge v4, v0, :cond_a
.line 108
invoke-static {p1, v4, v6}, Lcom/google/zxing/oned/Code128Writer;->chooseCode(Ljava/lang/CharSequence;II)I
move-result v9
const/16 v10, 0x64
const/16 v11, 0x65
if-ne v9, v6, :cond_6
.line 115
invoke-virtual {p1, v4}, Ljava/lang/String;->charAt(I)C
move-result v8
packed-switch v8, :pswitch_data_1
if-eq v6, v10, :cond_4
if-eq v6, v11, :cond_3
add-int/lit8 v8, v4, 0x2
.line 147
invoke-virtual {p1, v4, v8}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v8
invoke-static {v8}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v10
add-int/lit8 v4, v4, 0x1
goto :goto_3
.line 136
:cond_3
invoke-virtual {p1, v4}, Ljava/lang/String;->charAt(I)C
move-result v8
add-int/lit8 v10, v8, -0x20
if-gez v10, :cond_5
add-int/lit8 v10, v8, 0x40
goto :goto_3
.line 143
:cond_4
invoke-virtual {p1, v4}, Ljava/lang/String;->charAt(I)C
move-result v8
add-int/lit8 v10, v8, -0x20
goto :goto_3
:pswitch_1
if-ne v6, v11, :cond_5
move v10, v11
goto :goto_3
:pswitch_2
const/16 v10, 0x60
goto :goto_3
:pswitch_3
const/16 v10, 0x61
goto :goto_3
:pswitch_4
const/16 v10, 0x66
:cond_5
:goto_3
add-int/2addr v4, v3
goto :goto_5
:cond_6
if-nez v6, :cond_8
if-eq v9, v10, :cond_7
if-eq v9, v11, :cond_9
const/16 v8, 0x69
goto :goto_4
:cond_7
const/16 v8, 0x68
goto :goto_4
:cond_8
move v8, v9
:cond_9
:goto_4
move v10, v8
move v6, v9
.line 177
:goto_5
sget-object v8, Lcom/google/zxing/oned/Code128Reader;->CODE_PATTERNS:[[I
aget-object v8, v8, v10
invoke-interface {v2, v8}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
mul-int/2addr v10, v7
add-int/2addr v5, v10
if-eqz v4, :cond_2
add-int/lit8 v7, v7, 0x1
goto :goto_2
.line 187
:cond_a
rem-int/2addr v5, v8
.line 188
sget-object p1, Lcom/google/zxing/oned/Code128Reader;->CODE_PATTERNS:[[I
aget-object v0, p1, v5
invoke-interface {v2, v0}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
const/16 v0, 0x6a
.line 191
aget-object p1, p1, v0
invoke-interface {v2, p1}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
.line 195
invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object p1
move v0, v1
:cond_b
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_c
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, [I
.line 196
array-length v5, v4
move v6, v1
:goto_6
if-ge v6, v5, :cond_b
aget v7, v4, v6
add-int/2addr v0, v7
add-int/lit8 v6, v6, 0x1
goto :goto_6
.line 202
:cond_c
new-array p1, v0, [Z
.line 204
invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_7
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_d
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, [I
.line 205
invoke-static {p1, v1, v2, v3}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v2
add-int/2addr v1, v2
goto :goto_7
:cond_d
return-object p1
.line 80
:cond_e
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v1, "Contents length should be between 1 and 80 characters, but got "
invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
nop
:pswitch_data_0
.packed-switch 0xf1
:pswitch_0
:pswitch_0
:pswitch_0
:pswitch_0
.end packed-switch
:pswitch_data_1
.packed-switch 0xf1
:pswitch_4
:pswitch_3
:pswitch_2
:pswitch_1
.end packed-switch
.end method

View File

@@ -0,0 +1,70 @@
.class public abstract Lcom/google/zxing/oned/Code39Reader;
.super Lcom/google/zxing/oned/OneDReader;
.source "SourceFile"
# static fields
.field public static final CHARACTER_ENCODINGS:[I
# direct methods
.method static constructor <clinit>()V
.locals 1
const/16 v0, 0x2b
new-array v0, v0, [I
fill-array-data v0, :array_0
sput-object v0, Lcom/google/zxing/oned/Code39Reader;->CHARACTER_ENCODINGS:[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
0xa8
0xa2
0x8a
0x2a
.end array-data
.end method

View File

@@ -0,0 +1,575 @@
.class public final Lcom/google/zxing/oned/Code39Writer;
.super Lcom/google/zxing/oned/OneDimensionalCodeWriter;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 31
invoke-direct {p0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;-><init>()V
return-void
.end method
.method public static toIntArray(I[I)V
.locals 3
const/4 v0, 0x0
:goto_0
const/16 v1, 0x9
if-ge v0, v1, :cond_1
rsub-int/lit8 v1, v0, 0x8
const/4 v2, 0x1
shl-int v1, v2, v1
and-int/2addr v1, p0
if-nez v1, :cond_0
goto :goto_1
:cond_0
const/4 v2, 0x2
.line 95
:goto_1
aput v2, p1, v0
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_1
return-void
.end method
.method public static tryToConvertToExtendedMode(Ljava/lang/String;)Ljava/lang/String;
.locals 7
.line 100
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
.line 101
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_e
.line 103
invoke-virtual {p0, v2}, Ljava/lang/String;->charAt(I)C
move-result v3
if-eqz v3, :cond_d
const/16 v4, 0x20
if-eq v3, v4, :cond_c
const/16 v5, 0x40
if-eq v3, v5, :cond_b
const/16 v5, 0x60
if-eq v3, v5, :cond_a
const/16 v5, 0x2d
if-eq v3, v5, :cond_c
const/16 v5, 0x2e
if-eq v3, v5, :cond_c
const/16 v5, 0x1a
if-gt v3, v5, :cond_0
const/16 v4, 0x24
.line 121
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v3, v3, 0x40
int-to-char v3, v3
.line 122
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto/16 :goto_2
:cond_0
const/16 v5, 0x25
if-ge v3, v4, :cond_1
.line 124
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v3, v3, 0x26
int-to-char v3, v3
.line 125
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto/16 :goto_2
:cond_1
const/16 v4, 0x2c
const/16 v6, 0x2f
if-le v3, v4, :cond_9
if-eq v3, v6, :cond_9
const/16 v4, 0x3a
if-ne v3, v4, :cond_2
goto :goto_1
:cond_2
const/16 v4, 0x39
if-gt v3, v4, :cond_3
int-to-char v3, v3
.line 130
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto/16 :goto_2
:cond_3
const/16 v4, 0x3f
if-gt v3, v4, :cond_4
.line 132
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v3, v3, 0xb
int-to-char v3, v3
.line 133
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto/16 :goto_2
:cond_4
const/16 v4, 0x5a
if-gt v3, v4, :cond_5
int-to-char v3, v3
.line 135
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_2
:cond_5
const/16 v4, 0x5f
if-gt v3, v4, :cond_6
.line 137
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v3, v3, -0x10
int-to-char v3, v3
.line 138
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_2
:cond_6
const/16 v4, 0x7a
if-gt v3, v4, :cond_7
const/16 v4, 0x2b
.line 140
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v3, v3, -0x20
int-to-char v3, v3
.line 141
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_2
:cond_7
const/16 v4, 0x7f
if-gt v3, v4, :cond_8
.line 143
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v3, v3, -0x2b
int-to-char v3, v3
.line 144
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_2
.line 146
:cond_8
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v3, "Requested content contains a non-encodable character: \'"
invoke-direct {v1, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
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;
const-string p0, "\'"
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
invoke-direct {v0, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 127
:cond_9
:goto_1
invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v3, v3, 0x20
int-to-char v3, v3
.line 128
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_2
:cond_a
const-string v3, "%W"
.line 117
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_2
:cond_b
const-string v3, "%V"
.line 114
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_2
.line 111
:cond_c
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_2
:cond_d
const-string v3, "%U"
.line 106
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:goto_2
add-int/lit8 v2, v2, 0x1
goto/16 :goto_0
.line 152
:cond_e
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
# virtual methods
.method public encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
.locals 1
.line 39
sget-object v0, Lcom/google/zxing/BarcodeFormat;->CODE_39:Lcom/google/zxing/BarcodeFormat;
if-ne p2, v0, :cond_0
.line 42
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 40
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
const-string p3, "Can only encode CODE_39, but got "
invoke-virtual {p3, p2}, Ljava/lang/String;->concat(Ljava/lang/String;)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 47
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const-string v1, "Requested contents should be less than 80 digits long, but got "
const/16 v2, 0x50
if-gt v0, v2, :cond_6
const/4 v3, 0x0
move v4, v3
:goto_0
const-string v5, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%"
if-ge v4, v0, :cond_2
.line 54
invoke-virtual {p1, v4}, Ljava/lang/String;->charAt(I)C
move-result v6
invoke-virtual {v5, v6}, Ljava/lang/String;->indexOf(I)I
move-result v6
if-gez v6, :cond_1
.line 56
invoke-static {p1}, Lcom/google/zxing/oned/Code39Writer;->tryToConvertToExtendedMode(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 57
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
if-gt v0, v2, :cond_0
goto :goto_1
.line 59
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, " (extended full ASCII mode)"
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, 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_1
add-int/lit8 v4, v4, 0x1
goto :goto_0
:cond_2
:goto_1
const/16 v1, 0x9
new-array v2, v1, [I
add-int/lit8 v4, v0, 0x19
move v6, v3
:goto_2
if-ge v6, v0, :cond_4
.line 69
invoke-virtual {p1, v6}, Ljava/lang/String;->charAt(I)C
move-result v7
invoke-virtual {v5, v7}, Ljava/lang/String;->indexOf(I)I
move-result v7
.line 70
sget-object v8, Lcom/google/zxing/oned/Code39Reader;->CHARACTER_ENCODINGS:[I
aget v7, v8, v7
invoke-static {v7, v2}, Lcom/google/zxing/oned/Code39Writer;->toIntArray(I[I)V
move v7, v3
:goto_3
if-ge v7, v1, :cond_3
.line 71
aget v8, v2, v7
add-int/2addr v4, v8
add-int/lit8 v7, v7, 0x1
goto :goto_3
:cond_3
add-int/lit8 v6, v6, 0x1
goto :goto_2
.line 75
:cond_4
new-array v1, v4, [Z
const/16 v4, 0x94
.line 76
invoke-static {v4, v2}, Lcom/google/zxing/oned/Code39Writer;->toIntArray(I[I)V
const/4 v6, 0x1
.line 77
invoke-static {v1, v3, v2, v6}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v7
filled-new-array {v6}, [I
move-result-object v8
.line 79
invoke-static {v1, v7, v8, v3}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v9
add-int/2addr v7, v9
move v9, v3
:goto_4
if-ge v9, v0, :cond_5
.line 82
invoke-virtual {p1, v9}, Ljava/lang/String;->charAt(I)C
move-result v10
invoke-virtual {v5, v10}, Ljava/lang/String;->indexOf(I)I
move-result v10
.line 83
sget-object v11, Lcom/google/zxing/oned/Code39Reader;->CHARACTER_ENCODINGS:[I
aget v10, v11, v10
invoke-static {v10, v2}, Lcom/google/zxing/oned/Code39Writer;->toIntArray(I[I)V
.line 84
invoke-static {v1, v7, v2, v6}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v10
add-int/2addr v7, v10
.line 85
invoke-static {v1, v7, v8, v3}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v10
add-int/2addr v7, v10
add-int/lit8 v9, v9, 0x1
goto :goto_4
.line 87
:cond_5
invoke-static {v4, v2}, Lcom/google/zxing/oned/Code39Writer;->toIntArray(I[I)V
.line 88
invoke-static {v1, v7, v2, v6}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
return-object v1
.line 49
:cond_6
new-instance p1, Ljava/lang/IllegalArgumentException;
invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method

View File

@@ -0,0 +1,94 @@
.class public abstract Lcom/google/zxing/oned/Code93Reader;
.super Lcom/google/zxing/oned/OneDReader;
.source "SourceFile"
# static fields
.field public static final ALPHABET:[C
.field public static final ASTERISK_ENCODING:I
.field public static final CHARACTER_ENCODINGS:[I
# direct methods
.method static constructor <clinit>()V
.locals 2
const-string v0, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%abcd*"
.line 41
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
fill-array-data v0, :array_0
sput-object v0, Lcom/google/zxing/oned/Code93Reader;->CHARACTER_ENCODINGS:[I
const/16 v1, 0x2f
aget v0, v0, v1
sput v0, Lcom/google/zxing/oned/Code93Reader;->ASTERISK_ENCODING:I
return-void
:array_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

View File

@@ -0,0 +1,354 @@
.class public Lcom/google/zxing/oned/Code93Writer;
.super Lcom/google/zxing/oned/OneDimensionalCodeWriter;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 28
invoke-direct {p0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;-><init>()V
return-void
.end method
.method public static appendPattern([ZI[I)I
.locals 5
.line 109
array-length v0, p2
const/4 v1, 0x0
move v2, v1
:goto_0
if-ge v2, v0, :cond_1
aget v3, p2, v2
add-int/lit8 v4, p1, 0x1
if-eqz v3, :cond_0
const/4 v3, 0x1
goto :goto_1
:cond_0
move v3, v1
.line 110
:goto_1
aput-boolean v3, p0, p1
add-int/lit8 v2, v2, 0x1
move p1, v4
goto :goto_0
:cond_1
const/16 p0, 0x9
return p0
.end method
.method public static computeChecksumIndex(Ljava/lang/String;I)I
.locals 6
.line 119
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
const/4 v1, 0x1
sub-int/2addr v0, v1
const/4 v2, 0x0
move v3, v1
:goto_0
if-ltz v0, :cond_1
const-string v4, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%abcd*"
.line 120
invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C
move-result v5
invoke-virtual {v4, v5}, 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, p1, :cond_0
move v3, v1
:cond_0
add-int/lit8 v0, v0, -0x1
goto :goto_0
.line 126
:cond_1
rem-int/lit8 v2, v2, 0x2f
return v2
.end method
.method private static toIntArray(I[I)V
.locals 4
const/4 v0, 0x0
move v1, v0
:goto_0
const/16 v2, 0x9
if-ge v1, v2, :cond_1
rsub-int/lit8 v2, v1, 0x8
const/4 v3, 0x1
shl-int v2, v3, v2
and-int/2addr v2, p0
if-nez v2, :cond_0
move v3, v0
.line 91
:cond_0
aput v3, p1, v1
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_1
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
.line 35
sget-object v0, Lcom/google/zxing/BarcodeFormat;->CODE_93:Lcom/google/zxing/BarcodeFormat;
if-ne p2, v0, :cond_0
.line 38
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 36
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
const-string p3, "Can only encode CODE_93, but got "
invoke-virtual {p3, p2}, Ljava/lang/String;->concat(Ljava/lang/String;)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 9
.line 43
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/16 v1, 0x50
if-gt v0, v1, :cond_1
const/16 v1, 0x9
new-array v2, v1, [I
.line 52
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v3
add-int/lit8 v3, v3, 0x4
mul-int/2addr v3, v1
const/4 v1, 0x1
add-int/2addr v3, v1
.line 55
sget-object v4, Lcom/google/zxing/oned/Code93Reader;->CHARACTER_ENCODINGS:[I
const/16 v5, 0x2f
aget v4, v4, v5
invoke-static {v4, v2}, Lcom/google/zxing/oned/Code93Writer;->toIntArray(I[I)V
.line 57
new-array v3, v3, [Z
const/4 v4, 0x0
.line 58
invoke-static {v3, v4, v2}, Lcom/google/zxing/oned/Code93Writer;->appendPattern([ZI[I)I
move-result v6
:goto_0
const-string v7, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%abcd*"
if-ge v4, v0, :cond_0
.line 61
invoke-virtual {p1, v4}, Ljava/lang/String;->charAt(I)C
move-result v8
invoke-virtual {v7, v8}, Ljava/lang/String;->indexOf(I)I
move-result v7
.line 62
sget-object v8, Lcom/google/zxing/oned/Code93Reader;->CHARACTER_ENCODINGS:[I
aget v7, v8, v7
invoke-static {v7, v2}, Lcom/google/zxing/oned/Code93Writer;->toIntArray(I[I)V
.line 63
invoke-static {v3, v6, v2}, Lcom/google/zxing/oned/Code93Writer;->appendPattern([ZI[I)I
move-result v7
add-int/2addr v6, v7
add-int/lit8 v4, v4, 0x1
goto :goto_0
:cond_0
const/16 v0, 0x14
.line 67
invoke-static {p1, v0}, Lcom/google/zxing/oned/Code93Writer;->computeChecksumIndex(Ljava/lang/String;I)I
move-result v0
.line 68
sget-object v4, Lcom/google/zxing/oned/Code93Reader;->CHARACTER_ENCODINGS:[I
aget v8, v4, v0
invoke-static {v8, v2}, Lcom/google/zxing/oned/Code93Writer;->toIntArray(I[I)V
.line 69
invoke-static {v3, v6, v2}, Lcom/google/zxing/oned/Code93Writer;->appendPattern([ZI[I)I
move-result v8
add-int/2addr v6, v8
.line 72
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v8, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v0}, Ljava/lang/String;->charAt(I)C
move-result p1
invoke-virtual {v8, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const/16 v0, 0xf
.line 74
invoke-static {p1, v0}, Lcom/google/zxing/oned/Code93Writer;->computeChecksumIndex(Ljava/lang/String;I)I
move-result p1
.line 75
aget p1, v4, p1
invoke-static {p1, v2}, Lcom/google/zxing/oned/Code93Writer;->toIntArray(I[I)V
.line 76
invoke-static {v3, v6, v2}, Lcom/google/zxing/oned/Code93Writer;->appendPattern([ZI[I)I
move-result p1
add-int/2addr v6, p1
.line 79
aget p1, v4, v5
invoke-static {p1, v2}, Lcom/google/zxing/oned/Code93Writer;->toIntArray(I[I)V
.line 80
invoke-static {v3, v6, v2}, Lcom/google/zxing/oned/Code93Writer;->appendPattern([ZI[I)I
move-result p1
add-int/2addr v6, p1
.line 83
aput-boolean v1, v3, v6
return-object v3
.line 45
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v1, "Requested contents should be less than 80 digits long, but got "
invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method

View File

@@ -0,0 +1,37 @@
.class public abstract Lcom/google/zxing/oned/EAN13Reader;
.super Lcom/google/zxing/oned/UPCEANReader;
.source "SourceFile"
# static fields
.field public static final FIRST_DIGIT_ENCODINGS:[I
# direct methods
.method static constructor <clinit>()V
.locals 1
const/16 v0, 0xa
new-array v0, v0, [I
fill-array-data v0, :array_0
sput-object v0, Lcom/google/zxing/oned/EAN13Reader;->FIRST_DIGIT_ENCODINGS:[I
return-void
:array_0
.array-data 4
0x0
0xb
0xd
0xe
0x13
0x19
0x1c
0x15
0x16
0x1a
.end array-data
.end method

View File

@@ -0,0 +1,270 @@
.class public final Lcom/google/zxing/oned/EAN13Writer;
.super Lcom/google/zxing/oned/UPCEANWriter;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 32
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
.line 46
sget-object v0, Lcom/google/zxing/BarcodeFormat;->EAN_13:Lcom/google/zxing/BarcodeFormat;
if-ne p2, v0, :cond_0
.line 50
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 47
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
const-string p3, "Can only encode EAN_13, but got "
invoke-virtual {p3, p2}, Ljava/lang/String;->concat(Ljava/lang/String;)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 10
.line 55
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/16 v1, 0xc
if-eq v0, v1, :cond_2
const/16 v2, 0xd
if-ne v0, v2, :cond_1
.line 69
:try_start_0
invoke-static {p1}, Lcom/google/zxing/oned/UPCEANReader;->checkStandardUPCEANChecksum(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
.line 70
:cond_0
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_0
.catch Lcom/google/zxing/FormatException; {:try_start_0 .. :try_end_0} :catch_0
.line 73
: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 77
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v1, "Requested contents should be 12 or 13 digits long, but got "
invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 61
:cond_2
:try_start_1
invoke-static {p1}, Lcom/google/zxing/oned/UPCEANReader;->getStandardUPCEANChecksum(Ljava/lang/CharSequence;)I
move-result v0
:try_end_1
.catch Lcom/google/zxing/FormatException; {:try_start_1 .. :try_end_1} :catch_1
.line 65
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
:goto_0
const/4 v0, 0x0
.line 82
invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C
move-result v2
const/16 v3, 0xa
invoke-static {v2, v3}, Ljava/lang/Character;->digit(CI)I
move-result v2
.line 83
sget-object v4, Lcom/google/zxing/oned/EAN13Reader;->FIRST_DIGIT_ENCODINGS:[I
aget v2, v4, v2
const/16 v4, 0x5f
new-array v4, v4, [Z
.line 87
sget-object v5, Lcom/google/zxing/oned/UPCEANReader;->START_END_PATTERN:[I
const/4 v6, 0x1
invoke-static {v4, v0, v5, v6}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v5
move v7, v6
:goto_1
const/4 v8, 0x6
if-gt v7, v8, :cond_4
.line 91
invoke-virtual {p1, v7}, Ljava/lang/String;->charAt(I)C
move-result v8
invoke-static {v8, v3}, Ljava/lang/Character;->digit(CI)I
move-result v8
rsub-int/lit8 v9, v7, 0x6
shr-int v9, v2, v9
and-int/2addr v9, v6
if-ne v9, v6, :cond_3
add-int/lit8 v8, v8, 0xa
.line 95
:cond_3
sget-object v9, Lcom/google/zxing/oned/UPCEANReader;->L_AND_G_PATTERNS:[[I
aget-object v8, v9, v8
invoke-static {v4, v5, v8, v0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v8
add-int/2addr v5, v8
add-int/lit8 v7, v7, 0x1
goto :goto_1
.line 98
:cond_4
sget-object v2, Lcom/google/zxing/oned/UPCEANReader;->MIDDLE_PATTERN:[I
invoke-static {v4, v5, v2, v0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v0
add-int/2addr v5, v0
const/4 v0, 0x7
:goto_2
if-gt v0, v1, :cond_5
.line 101
invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C
move-result v2
invoke-static {v2, v3}, Ljava/lang/Character;->digit(CI)I
move-result v2
.line 102
sget-object v7, Lcom/google/zxing/oned/UPCEANReader;->L_PATTERNS:[[I
aget-object v2, v7, v2
invoke-static {v4, v5, v2, v6}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v2
add-int/2addr v5, v2
add-int/lit8 v0, v0, 0x1
goto :goto_2
.line 104
:cond_5
sget-object p1, Lcom/google/zxing/oned/UPCEANReader;->START_END_PATTERN:[I
invoke-static {v4, v5, p1, v6}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
return-object v4
:catch_1
move-exception p1
.line 63
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method

View File

@@ -0,0 +1,245 @@
.class public final Lcom/google/zxing/oned/EAN8Writer;
.super Lcom/google/zxing/oned/UPCEANWriter;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 32
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
.line 46
sget-object v0, Lcom/google/zxing/BarcodeFormat;->EAN_8:Lcom/google/zxing/BarcodeFormat;
if-ne p2, v0, :cond_0
.line 51
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 47
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
const-string p3, "Can only encode EAN_8, but got "
invoke-virtual {p3, p2}, Ljava/lang/String;->concat(Ljava/lang/String;)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 59
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/4 v1, 0x7
if-eq v0, v1, :cond_2
const/16 v2, 0x8
if-ne v0, v2, :cond_1
.line 73
:try_start_0
invoke-static {p1}, Lcom/google/zxing/oned/UPCEANReader;->checkStandardUPCEANChecksum(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
.line 74
:cond_0
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_0
.catch Lcom/google/zxing/FormatException; {:try_start_0 .. :try_end_0} :catch_0
.line 77
: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 81
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v1, "Requested contents should be 8 digits long, but got "
invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 65
:cond_2
:try_start_1
invoke-static {p1}, Lcom/google/zxing/oned/UPCEANReader;->getStandardUPCEANChecksum(Ljava/lang/CharSequence;)I
move-result v0
:try_end_1
.catch Lcom/google/zxing/FormatException; {:try_start_1 .. :try_end_1} :catch_1
.line 69
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
:goto_0
const/16 v0, 0x43
new-array v0, v0, [Z
.line 88
sget-object v2, Lcom/google/zxing/oned/UPCEANReader;->START_END_PATTERN:[I
const/4 v3, 0x0
const/4 v4, 0x1
invoke-static {v0, v3, v2, v4}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v2
move v5, v3
:goto_1
const/4 v6, 0x3
const/16 v7, 0xa
if-gt v5, v6, :cond_3
.line 91
invoke-virtual {p1, v5}, Ljava/lang/String;->charAt(I)C
move-result v6
invoke-static {v6, v7}, Ljava/lang/Character;->digit(CI)I
move-result v6
.line 92
sget-object v7, Lcom/google/zxing/oned/UPCEANReader;->L_PATTERNS:[[I
aget-object v6, v7, v6
invoke-static {v0, v2, v6, v3}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v6
add-int/2addr v2, v6
add-int/lit8 v5, v5, 0x1
goto :goto_1
.line 95
:cond_3
sget-object v5, Lcom/google/zxing/oned/UPCEANReader;->MIDDLE_PATTERN:[I
invoke-static {v0, v2, v5, v3}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v3
add-int/2addr v2, v3
const/4 v3, 0x4
:goto_2
if-gt v3, v1, :cond_4
.line 98
invoke-virtual {p1, v3}, Ljava/lang/String;->charAt(I)C
move-result v5
invoke-static {v5, v7}, Ljava/lang/Character;->digit(CI)I
move-result v5
.line 99
sget-object v6, Lcom/google/zxing/oned/UPCEANReader;->L_PATTERNS:[[I
aget-object v5, v6, v5
invoke-static {v0, v2, v5, v4}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v5
add-int/2addr v2, v5
add-int/lit8 v3, v3, 0x1
goto :goto_2
.line 101
:cond_4
sget-object p1, Lcom/google/zxing/oned/UPCEANReader;->START_END_PATTERN:[I
invoke-static {v0, v2, p1, v4}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
return-object v0
:catch_1
move-exception p1
.line 67
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method

View File

@@ -0,0 +1,306 @@
.class public final Lcom/google/zxing/oned/ITFWriter;
.super Lcom/google/zxing/oned/OneDimensionalCodeWriter;
.source "SourceFile"
# static fields
.field public static final END_PATTERN:[I
.field public static final PATTERNS:[[I
.field public static final START_PATTERN:[I
# direct methods
.method static constructor <clinit>()V
.locals 5
const/4 v0, 0x1
filled-new-array {v0, v0, v0, v0}, [I
move-result-object v1
sput-object v1, Lcom/google/zxing/oned/ITFWriter;->START_PATTERN:[I
const/4 v1, 0x3
filled-new-array {v1, v0, v0}, [I
move-result-object v2
sput-object v2, Lcom/google/zxing/oned/ITFWriter;->END_PATTERN:[I
const/16 v2, 0xa
new-array v2, v2, [[I
const/4 v3, 0x0
filled-new-array {v0, v0, v1, v1, v0}, [I
move-result-object v4
aput-object v4, v2, v3
filled-new-array {v1, v0, v0, v0, v1}, [I
move-result-object v3
aput-object v3, v2, v0
const/4 v3, 0x2
filled-new-array {v0, v1, v0, v0, v1}, [I
move-result-object v4
aput-object v4, v2, v3
filled-new-array {v1, v1, v0, v0, v0}, [I
move-result-object v3
aput-object v3, v2, v1
const/4 v3, 0x4
filled-new-array {v0, v0, v1, v0, v1}, [I
move-result-object v4
aput-object v4, v2, v3
const/4 v3, 0x5
filled-new-array {v1, v0, v1, v0, v0}, [I
move-result-object v4
aput-object v4, v2, v3
const/4 v3, 0x6
filled-new-array {v0, v1, v1, v0, v0}, [I
move-result-object v4
aput-object v4, v2, v3
const/4 v3, 0x7
filled-new-array {v0, v0, v0, v1, v1}, [I
move-result-object v4
aput-object v4, v2, v3
const/16 v3, 0x8
filled-new-array {v1, v0, v0, v1, v0}, [I
move-result-object v4
aput-object v4, v2, v3
const/16 v3, 0x9
filled-new-array {v0, v1, v0, v1, v0}, [I
move-result-object v0
aput-object v0, v2, v3
sput-object v2, Lcom/google/zxing/oned/ITFWriter;->PATTERNS:[[I
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 31
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
.line 60
sget-object v0, Lcom/google/zxing/BarcodeFormat;->ITF:Lcom/google/zxing/BarcodeFormat;
if-ne p2, v0, :cond_0
.line 64
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 61
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
const-string p3, "Can only encode ITF, but got "
invoke-virtual {p3, p2}, Ljava/lang/String;->concat(Ljava/lang/String;)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 69
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
.line 70
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 77
new-array v1, v1, [Z
sget-object v2, Lcom/google/zxing/oned/ITFWriter;->START_PATTERN:[I
const/4 v3, 0x0
const/4 v4, 0x1
.line 78
invoke-static {v1, v3, v2, v4}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v2
move v5, v3
:goto_0
if-ge v5, v0, :cond_1
.line 80
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 81
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 v8
new-array v7, v7, [I
move v9, v3
:goto_1
const/4 v10, 0x5
if-ge v9, v10, :cond_0
mul-int/lit8 v10, v9, 0x2
sget-object v11, Lcom/google/zxing/oned/ITFWriter;->PATTERNS:[[I
.line 84
aget-object v12, v11, v6
aget v12, v12, v9
aput v12, v7, v10
add-int/2addr v10, v4
.line 85
aget-object v11, v11, v8
aget v11, v11, v9
aput v11, v7, v10
add-int/lit8 v9, v9, 0x1
goto :goto_1
.line 87
:cond_0
invoke-static {v1, v2, v7, 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
sget-object p1, Lcom/google/zxing/oned/ITFWriter;->END_PATTERN:[I
.line 89
invoke-static {v1, v2, p1, v4}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
return-object v1
.line 74
:cond_2
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v1, "Requested contents should be less than 80 digits long, but got "
invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 71
:cond_3
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "The length of the input should be even"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method

View File

@@ -0,0 +1,3 @@
.class public abstract Lcom/google/zxing/oned/OneDReader;
.super Ljava/lang/Object;
.source "SourceFile"

View File

@@ -0,0 +1,230 @@
.class public abstract Lcom/google/zxing/oned/OneDimensionalCodeWriter;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/google/zxing/Writer;
# direct methods
.method public constructor <init>()V
.locals 0
.line 32
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static appendPattern([ZI[IZ)I
.locals 7
.line 104
array-length v0, p2
const/4 v1, 0x0
move v2, v1
move v3, v2
:goto_0
if-ge v2, v0, :cond_1
aget v4, p2, v2
move v5, v1
:goto_1
if-ge v5, v4, :cond_0
add-int/lit8 v6, p1, 0x1
.line 106
aput-boolean p3, p0, p1
add-int/lit8 v5, v5, 0x1
move p1, v6
goto :goto_1
:cond_0
add-int/2addr v3, v4
xor-int/lit8 p3, p3, 0x1
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return v3
.end method
.method public static renderResult([ZIII)Lcom/google/zxing/common/BitMatrix;
.locals 5
.line 75
array-length v0, p0
add-int/2addr p3, v0
.line 78
invoke-static {p1, p3}, Ljava/lang/Math;->max(II)I
move-result p1
const/4 v1, 0x1
.line 79
invoke-static {v1, p2}, Ljava/lang/Math;->max(II)I
move-result p2
.line 81
div-int p3, p1, p3
mul-int v1, v0, p3
sub-int v1, p1, v1
.line 82
div-int/lit8 v1, v1, 0x2
.line 84
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-ge v3, v0, :cond_1
.line 86
aget-boolean v4, p0, v3
if-eqz v4, :cond_0
.line 87
invoke-virtual {v2, v1, p1, p3, p2}, Lcom/google/zxing/common/BitMatrix;->setRegion(IIII)V
:cond_0
add-int/lit8 v3, v3, 0x1
add-int/2addr v1, p3
goto :goto_0
:cond_1
return-object v2
.end method
# virtual methods
.method public encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
.locals 2
.line 53
invoke-virtual {p1}, Ljava/lang/String;->isEmpty()Z
move-result p2
if-nez p2, :cond_2
if-ltz p3, :cond_1
if-ltz p4, :cond_1
.line 62
invoke-virtual {p0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->getDefaultMargin()I
move-result p2
if-eqz p5, :cond_0
.line 63
sget-object v0, Lcom/google/zxing/EncodeHintType;->MARGIN:Lcom/google/zxing/EncodeHintType;
invoke-interface {p5, v0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
.line 64
invoke-interface {p5, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p2
invoke-static {p2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result p2
.line 67
:cond_0
invoke-virtual {p0, p1}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->encode(Ljava/lang/String;)[Z
move-result-object p1
.line 68
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 58
: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
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
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 54
: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

View File

@@ -0,0 +1,84 @@
.class public final Lcom/google/zxing/oned/UPCAWriter;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/google/zxing/Writer;
# instance fields
.field public final subWriter:Lcom/google/zxing/oned/EAN13Writer;
# direct methods
.method public constructor <init>()V
.locals 1
.line 32
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 34
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
# virtual methods
.method public encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
.locals 7
.line 48
sget-object v0, Lcom/google/zxing/BarcodeFormat;->UPC_A:Lcom/google/zxing/BarcodeFormat;
if-ne p2, v0, :cond_0
iget-object v1, p0, Lcom/google/zxing/oned/UPCAWriter;->subWriter:Lcom/google/zxing/oned/EAN13Writer;
.line 52
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
const-string p2, "0"
invoke-virtual {p2, p1}, Ljava/lang/String;->concat(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 49
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
const-string p3, "Can only encode UPC-A, but got "
invoke-virtual {p3, p2}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method

View File

@@ -0,0 +1,328 @@
.class public abstract Lcom/google/zxing/oned/UPCEANReader;
.super Lcom/google/zxing/oned/OneDReader;
.source "SourceFile"
# static fields
.field public static final END_PATTERN:[I
.field public static final L_AND_G_PATTERNS:[[I
.field public static final L_PATTERNS:[[I
.field public static final MIDDLE_PATTERN:[I
.field public static final START_END_PATTERN:[I
# direct methods
.method static constructor <clinit>()V
.locals 10
const/4 v0, 0x1
filled-new-array {v0, v0, v0}, [I
move-result-object v1
sput-object v1, Lcom/google/zxing/oned/UPCEANReader;->START_END_PATTERN:[I
filled-new-array {v0, v0, v0, v0, v0}, [I
move-result-object v1
sput-object v1, Lcom/google/zxing/oned/UPCEANReader;->MIDDLE_PATTERN:[I
const/4 v1, 0x6
new-array v2, v1, [I
fill-array-data v2, :array_0
sput-object v2, Lcom/google/zxing/oned/UPCEANReader;->END_PATTERN:[I
const/16 v2, 0xa
new-array v3, v2, [[I
const/4 v4, 0x3
const/4 v5, 0x2
filled-new-array {v4, v5, v0, v0}, [I
move-result-object v6
const/4 v7, 0x0
aput-object v6, v3, v7
filled-new-array {v5, v5, v5, v0}, [I
move-result-object v6
aput-object v6, v3, v0
filled-new-array {v5, v0, v5, v5}, [I
move-result-object v6
aput-object v6, v3, v5
const/4 v6, 0x4
filled-new-array {v0, v6, v0, v0}, [I
move-result-object v8
aput-object v8, v3, v4
filled-new-array {v0, v0, v4, v5}, [I
move-result-object v8
aput-object v8, v3, v6
const/4 v8, 0x5
filled-new-array {v0, v5, v4, v0}, [I
move-result-object v9
aput-object v9, v3, v8
filled-new-array {v0, v0, v0, v6}, [I
move-result-object v6
aput-object v6, v3, v1
const/4 v1, 0x7
filled-new-array {v0, v4, v0, v5}, [I
move-result-object v6
aput-object v6, v3, v1
const/16 v1, 0x8
filled-new-array {v0, v5, v0, v4}, [I
move-result-object v6
aput-object v6, v3, v1
const/16 v1, 0x9
filled-new-array {v4, v0, v0, v5}, [I
move-result-object v4
aput-object v4, v3, v1
sput-object v3, Lcom/google/zxing/oned/UPCEANReader;->L_PATTERNS:[[I
const/16 v1, 0x14
new-array v4, v1, [[I
sput-object v4, Lcom/google/zxing/oned/UPCEANReader;->L_AND_G_PATTERNS:[[I
.line 86
invoke-static {v3, v7, v4, v7, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
:goto_0
if-ge v2, v1, :cond_1
sget-object v3, Lcom/google/zxing/oned/UPCEANReader;->L_PATTERNS:[[I
add-int/lit8 v4, v2, -0xa
.line 88
aget-object v3, v3, v4
.line 89
array-length v4, v3
new-array v4, v4, [I
move v5, v7
.line 90
:goto_1
array-length v6, v3
if-ge v5, v6, :cond_0
.line 91
array-length v6, v3
sub-int/2addr v6, v5
sub-int/2addr v6, v0
aget v6, v3, v6
aput v6, v4, v5
add-int/lit8 v5, v5, 0x1
goto :goto_1
:cond_0
sget-object v3, Lcom/google/zxing/oned/UPCEANReader;->L_AND_G_PATTERNS:[[I
.line 93
aput-object v4, v3, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return-void
nop
:array_0
.array-data 4
0x1
0x1
0x1
0x1
0x1
0x1
.end array-data
.end method
.method public static checkStandardUPCEANChecksum(Ljava/lang/CharSequence;)Z
.locals 5
.line 264
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
:cond_0
const/4 v2, 0x1
sub-int/2addr v0, v2
.line 268
invoke-interface {p0, v0}, Ljava/lang/CharSequence;->charAt(I)C
move-result v3
const/16 v4, 0xa
invoke-static {v3, v4}, Ljava/lang/Character;->digit(CI)I
move-result v3
.line 269
invoke-interface {p0, v1, v0}, Ljava/lang/CharSequence;->subSequence(II)Ljava/lang/CharSequence;
move-result-object p0
invoke-static {p0}, Lcom/google/zxing/oned/UPCEANReader;->getStandardUPCEANChecksum(Ljava/lang/CharSequence;)I
move-result p0
if-ne p0, v3, :cond_1
return v2
:cond_1
return v1
.end method
.method public static getStandardUPCEANChecksum(Ljava/lang/CharSequence;)I
.locals 5
.line 273
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
add-int/lit8 v1, v0, -0x1
const/4 v2, 0x0
:goto_0
const/16 v3, 0x9
if-ltz v1, :cond_1
.line 276
invoke-interface {p0, v1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v4
add-int/lit8 v4, v4, -0x30
if-ltz v4, :cond_0
if-gt v4, v3, :cond_0
add-int/2addr v2, v4
add-int/lit8 v1, v1, -0x2
goto :goto_0
.line 278
:cond_0
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
:cond_1
mul-int/lit8 v2, v2, 0x3
add-int/lit8 v0, v0, -0x2
:goto_1
if-ltz v0, :cond_3
.line 284
invoke-interface {p0, v0}, Ljava/lang/CharSequence;->charAt(I)C
move-result v1
add-int/lit8 v1, v1, -0x30
if-ltz v1, :cond_2
if-gt v1, v3, :cond_2
add-int/2addr v2, v1
add-int/lit8 v0, v0, -0x2
goto :goto_1
.line 286
:cond_2
invoke-static {}, Lcom/google/zxing/FormatException;->getFormatInstance()Lcom/google/zxing/FormatException;
move-result-object p0
throw p0
:cond_3
rsub-int p0, v2, 0x3e8
.line 290
rem-int/lit8 p0, p0, 0xa
return p0
.end method

View File

@@ -0,0 +1,24 @@
.class public abstract Lcom/google/zxing/oned/UPCEANWriter;
.super Lcom/google/zxing/oned/OneDimensionalCodeWriter;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 26
invoke-direct {p0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;-><init>()V
return-void
.end method
# virtual methods
.method public getDefaultMargin()I
.locals 1
const/16 v0, 0x9
return v0
.end method

View File

@@ -0,0 +1,218 @@
.class public abstract Lcom/google/zxing/oned/UPCEReader;
.super Lcom/google/zxing/oned/UPCEANReader;
.source "SourceFile"
# static fields
.field public static final MIDDLE_END_PATTERN:[I
.field public static final NUMSYS_AND_CHECK_DIGIT_PATTERNS:[[I
# direct methods
.method static constructor <clinit>()V
.locals 4
const/4 v0, 0x6
new-array v0, v0, [I
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
fill-array-data v2, :array_1
const/4 v3, 0x0
aput-object v2, v0, v3
new-array v1, v1, [I
fill-array-data v1, :array_2
const/4 v2, 0x1
aput-object v1, v0, v2
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 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 146
invoke-virtual {p0, v1, v2, v0, v3}, Ljava/lang/String;->getChars(II[CI)V
.line 147
new-instance v1, Ljava/lang/StringBuilder;
const/16 v4, 0xc
invoke-direct {v1, v4}, Ljava/lang/StringBuilder;-><init>(I)V
.line 148
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
aget-char v5, v0, v4
const-string v6, "00000"
const-string v7, "0000"
const/4 v8, 0x2
const/4 v9, 0x3
packed-switch v5, :pswitch_data_0
.line 170
invoke-virtual {v1, v0, v3, v4}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
.line 171
invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 172
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_0
:pswitch_0
const/4 v4, 0x4
.line 165
invoke-virtual {v1, v0, v3, v4}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
.line 166
invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget-char v0, v0, v4
.line 167
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_0
.line 160
:pswitch_1
invoke-virtual {v1, v0, v3, v9}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
.line 161
invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 162
invoke-virtual {v1, v0, v9, v8}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
goto :goto_0
.line 154
:pswitch_2
invoke-virtual {v1, v0, v3, v8}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
.line 155
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 156
invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 157
invoke-virtual {v1, v0, v8, v9}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
.line 176
:goto_0
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
const/16 v3, 0x8
if-lt v0, v3, :cond_0
.line 177
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 179
:cond_0
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

View File

@@ -0,0 +1,264 @@
.class public final Lcom/google/zxing/oned/UPCEWriter;
.super Lcom/google/zxing/oned/UPCEANWriter;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 32
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
.line 44
sget-object v0, Lcom/google/zxing/BarcodeFormat;->UPC_E:Lcom/google/zxing/BarcodeFormat;
if-ne p2, v0, :cond_0
.line 48
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 45
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
const-string p3, "Can only encode UPC_E, but got "
invoke-virtual {p3, p2}, Ljava/lang/String;->concat(Ljava/lang/String;)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 9
.line 53
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/4 v1, 0x7
if-eq v0, v1, :cond_2
const/16 v2, 0x8
if-ne v0, v2, :cond_1
.line 67
:try_start_0
invoke-static {p1}, Lcom/google/zxing/oned/UPCEANReader;->checkStandardUPCEANChecksum(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
.line 68
:cond_0
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_0
.catch Lcom/google/zxing/FormatException; {:try_start_0 .. :try_end_0} :catch_0
.line 71
: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 75
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v1, "Requested contents should be 8 digits long, but got "
invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 59
:cond_2
:try_start_1
invoke-static {p1}, Lcom/google/zxing/oned/UPCEReader;->convertUPCEtoUPCA(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/google/zxing/oned/UPCEANReader;->getStandardUPCEANChecksum(Ljava/lang/CharSequence;)I
move-result v0
:try_end_1
.catch Lcom/google/zxing/FormatException; {:try_start_1 .. :try_end_1} :catch_1
.line 63
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
:goto_0
const/4 v0, 0x0
.line 79
invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C
move-result v2
const/16 v3, 0xa
invoke-static {v2, v3}, Ljava/lang/Character;->digit(CI)I
move-result v2
const/4 v4, 0x1
if-eqz v2, :cond_4
if-ne v2, v4, :cond_3
goto :goto_1
.line 81
:cond_3
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Number system must be 0 or 1"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 84
:cond_4
:goto_1
invoke-virtual {p1, v1}, Ljava/lang/String;->charAt(I)C
move-result v1
invoke-static {v1, v3}, Ljava/lang/Character;->digit(CI)I
move-result v1
.line 85
sget-object v5, Lcom/google/zxing/oned/UPCEReader;->NUMSYS_AND_CHECK_DIGIT_PATTERNS:[[I
aget-object v2, v5, v2
aget v1, v2, v1
const/16 v2, 0x33
new-array v2, v2, [Z
.line 89
sget-object v5, Lcom/google/zxing/oned/UPCEANReader;->START_END_PATTERN:[I
invoke-static {v2, v0, v5, v4}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v5
move v6, v4
:goto_2
const/4 v7, 0x6
if-gt v6, v7, :cond_6
.line 92
invoke-virtual {p1, v6}, Ljava/lang/String;->charAt(I)C
move-result v7
invoke-static {v7, v3}, Ljava/lang/Character;->digit(CI)I
move-result v7
rsub-int/lit8 v8, v6, 0x6
shr-int v8, v1, v8
and-int/2addr v8, v4
if-ne v8, v4, :cond_5
add-int/lit8 v7, v7, 0xa
.line 96
:cond_5
sget-object v8, Lcom/google/zxing/oned/UPCEANReader;->L_AND_G_PATTERNS:[[I
aget-object v7, v8, v7
invoke-static {v2, v5, v7, v0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
move-result v7
add-int/2addr v5, v7
add-int/lit8 v6, v6, 0x1
goto :goto_2
.line 99
:cond_6
sget-object p1, Lcom/google/zxing/oned/UPCEANReader;->END_PATTERN:[I
invoke-static {v2, v5, p1, v0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->appendPattern([ZI[IZ)I
return-object v2
:catch_1
move-exception p1
.line 61
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method