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,303 @@
.class public final Lcom/google/zxing/datamatrix/encoder/ASCIIEncoder;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/google/zxing/datamatrix/encoder/Encoder;
# direct methods
.method public constructor <init>()V
.locals 0
.line 19
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static encodeASCIIDigits(CC)C
.locals 3
.line 75
invoke-static {p0}, Lcom/google/zxing/datamatrix/encoder/HighLevelEncoder;->isDigit(C)Z
move-result v0
if-eqz v0, :cond_0
invoke-static {p1}, Lcom/google/zxing/datamatrix/encoder/HighLevelEncoder;->isDigit(C)Z
move-result v0
if-eqz v0, :cond_0
add-int/lit8 p0, p0, -0x30
mul-int/lit8 p0, p0, 0xa
add-int/lit8 p1, p1, -0x30
add-int/2addr p0, p1
add-int/lit16 p0, p0, 0x82
int-to-char p0, p0
return p0
.line 79
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "not digits: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
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 p0
invoke-direct {v0, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
# virtual methods
.method public encode(Lcom/google/zxing/datamatrix/encoder/EncoderContext;)V
.locals 6
.line 29
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getMessage()Ljava/lang/String;
move-result-object v0
iget v1, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
invoke-static {v0, v1}, Lcom/google/zxing/datamatrix/encoder/HighLevelEncoder;->determineConsecutiveDigitCount(Ljava/lang/CharSequence;I)I
move-result v0
const/4 v1, 0x1
const/4 v2, 0x2
if-lt v0, v2, :cond_0
.line 31
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getMessage()Ljava/lang/String;
move-result-object v0
iget v3, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
invoke-virtual {v0, v3}, Ljava/lang/String;->charAt(I)C
move-result v0
.line 32
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getMessage()Ljava/lang/String;
move-result-object v3
iget v4, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
add-int/2addr v4, v1
invoke-virtual {v3, v4}, Ljava/lang/String;->charAt(I)C
move-result v1
.line 31
invoke-static {v0, v1}, Lcom/google/zxing/datamatrix/encoder/ASCIIEncoder;->encodeASCIIDigits(CC)C
move-result v0
invoke-virtual {p1, v0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->writeCodeword(C)V
.line 33
iget v0, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
add-int/2addr v0, v2
iput v0, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
return-void
.line 35
:cond_0
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCurrentChar()C
move-result v0
.line 36
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getMessage()Ljava/lang/String;
move-result-object v3
iget v4, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/ASCIIEncoder;->getEncodingMode()I
move-result v5
invoke-static {v3, v4, v5}, Lcom/google/zxing/datamatrix/encoder/HighLevelEncoder;->lookAheadTest(Ljava/lang/CharSequence;II)I
move-result v3
.line 37
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/ASCIIEncoder;->getEncodingMode()I
move-result v4
if-eq v3, v4, :cond_6
if-eq v3, v1, :cond_5
if-eq v3, v2, :cond_4
const/4 v0, 0x3
if-eq v3, v0, :cond_3
const/4 v0, 0x4
if-eq v3, v0, :cond_2
const/4 v0, 0x5
if-ne v3, v0, :cond_1
const/16 v1, 0xe7
.line 40
invoke-virtual {p1, v1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->writeCodeword(C)V
.line 41
invoke-virtual {p1, v0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->signalEncoderChange(I)V
return-void
.line 60
:cond_1
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "Illegal mode: "
invoke-static {v3}, Ljava/lang/String;->valueOf(I)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/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_2
const/16 v1, 0xf0
.line 56
invoke-virtual {p1, v1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->writeCodeword(C)V
.line 57
invoke-virtual {p1, v0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->signalEncoderChange(I)V
return-void
:cond_3
const/16 v1, 0xee
.line 48
invoke-virtual {p1, v1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->writeCodeword(C)V
.line 49
invoke-virtual {p1, v0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->signalEncoderChange(I)V
return-void
:cond_4
const/16 v0, 0xef
.line 52
invoke-virtual {p1, v0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->writeCodeword(C)V
.line 53
invoke-virtual {p1, v2}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->signalEncoderChange(I)V
return-void
:cond_5
const/16 v0, 0xe6
.line 44
invoke-virtual {p1, v0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->writeCodeword(C)V
.line 45
invoke-virtual {p1, v1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->signalEncoderChange(I)V
return-void
.line 62
:cond_6
invoke-static {v0}, Lcom/google/zxing/datamatrix/encoder/HighLevelEncoder;->isExtendedASCII(C)Z
move-result v2
if-eqz v2, :cond_7
const/16 v2, 0xeb
.line 63
invoke-virtual {p1, v2}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->writeCodeword(C)V
add-int/lit8 v0, v0, -0x7f
int-to-char v0, v0
.line 64
invoke-virtual {p1, v0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->writeCodeword(C)V
.line 65
iget v0, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
add-int/2addr v0, v1
iput v0, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
return-void
:cond_7
add-int/2addr v0, v1
int-to-char v0, v0
.line 67
invoke-virtual {p1, v0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->writeCodeword(C)V
.line 68
iget v0, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
add-int/2addr v0, v1
iput v0, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
return-void
.end method
.method public getEncodingMode()I
.locals 1
const/4 v0, 0x0
return v0
.end method

View File

@@ -0,0 +1,255 @@
.class public final Lcom/google/zxing/datamatrix/encoder/Base256Encoder;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/google/zxing/datamatrix/encoder/Encoder;
# direct methods
.method public constructor <init>()V
.locals 0
.line 19
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static randomize255State(CI)C
.locals 1
mul-int/lit16 p1, p1, 0x95
const/16 v0, 0xff
.line 66
rem-int/2addr p1, v0
add-int/lit8 p1, p1, 0x1
add-int/2addr p0, p1
if-gt p0, v0, :cond_0
int-to-char p0, p0
return p0
:cond_0
add-int/lit16 p0, p0, -0x100
int-to-char p0, p0
return p0
.end method
# virtual methods
.method public encode(Lcom/google/zxing/datamatrix/encoder/EncoderContext;)V
.locals 6
.line 28
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const/4 v1, 0x0
.line 29
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 30
:cond_0
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->hasMoreCharacters()Z
move-result v2
const/4 v3, 0x1
if-eqz v2, :cond_1
.line 31
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCurrentChar()C
move-result v2
.line 32
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 34
iget v2, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
add-int/2addr v2, v3
iput v2, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
.line 36
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getMessage()Ljava/lang/String;
move-result-object v2
iget v4, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/Base256Encoder;->getEncodingMode()I
move-result v5
invoke-static {v2, v4, v5}, Lcom/google/zxing/datamatrix/encoder/HighLevelEncoder;->lookAheadTest(Ljava/lang/CharSequence;II)I
move-result v2
.line 37
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/Base256Encoder;->getEncodingMode()I
move-result v4
if-eq v2, v4, :cond_0
.line 39
invoke-virtual {p1, v1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->signalEncoderChange(I)V
.line 43
:cond_1
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v2
sub-int/2addr v2, v3
.line 45
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCodewordCount()I
move-result v4
add-int/2addr v4, v2
add-int/2addr v4, v3
.line 46
invoke-virtual {p1, v4}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->updateSymbolInfo(I)V
.line 47
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getSymbolInfo()Lcom/google/zxing/datamatrix/encoder/SymbolInfo;
move-result-object v5
invoke-virtual {v5}, Lcom/google/zxing/datamatrix/encoder/SymbolInfo;->getDataCapacity()I
move-result v5
sub-int/2addr v5, v4
if-lez v5, :cond_2
move v4, v3
goto :goto_0
:cond_2
move v4, v1
.line 48
:goto_0
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->hasMoreCharacters()Z
move-result v5
if-nez v5, :cond_3
if-eqz v4, :cond_5
:cond_3
const/16 v4, 0xf9
if-gt v2, v4, :cond_4
int-to-char v2, v2
.line 50
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->setCharAt(IC)V
goto :goto_1
:cond_4
const/16 v5, 0x613
if-gt v2, v5, :cond_7
.line 52
div-int/lit16 v5, v2, 0xfa
add-int/2addr v5, v4
int-to-char v4, v5
invoke-virtual {v0, v1, v4}, Ljava/lang/StringBuilder;->setCharAt(IC)V
.line 53
rem-int/lit16 v2, v2, 0xfa
int-to-char v2, v2
invoke-virtual {v0, v3, v2}, Ljava/lang/StringBuilder;->insert(IC)Ljava/lang/StringBuilder;
.line 59
:cond_5
:goto_1
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v2
:goto_2
if-ge v1, v2, :cond_6
.line 61
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->charAt(I)C
move-result v4
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCodewordCount()I
move-result v5
add-int/2addr v5, v3
.line 60
invoke-static {v4, v5}, Lcom/google/zxing/datamatrix/encoder/Base256Encoder;->randomize255State(CI)C
move-result v4
invoke-virtual {p1, v4}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->writeCodeword(C)V
add-int/lit8 v1, v1, 0x1
goto :goto_2
:cond_6
return-void
.line 55
:cond_7
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "Message length not in valid ranges: "
invoke-static {v2}, Ljava/lang/String;->valueOf(I)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/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public getEncodingMode()I
.locals 1
const/4 v0, 0x5
return v0
.end method

View File

@@ -0,0 +1,655 @@
.class public Lcom/google/zxing/datamatrix/encoder/C40Encoder;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/google/zxing/datamatrix/encoder/Encoder;
# direct methods
.method public constructor <init>()V
.locals 0
.line 19
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static encodeToCodewords(Ljava/lang/CharSequence;I)Ljava/lang/String;
.locals 4
.line 173
invoke-interface {p0, p1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v0
add-int/lit8 v1, p1, 0x1
.line 174
invoke-interface {p0, v1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v1
const/4 v2, 0x2
add-int/2addr p1, v2
.line 175
invoke-interface {p0, p1}, Ljava/lang/CharSequence;->charAt(I)C
move-result p0
mul-int/lit16 v0, v0, 0x640
mul-int/lit8 v1, v1, 0x28
add-int/2addr v0, v1
add-int/2addr v0, p0
const/4 p0, 0x1
add-int/2addr v0, p0
.line 177
div-int/lit16 p1, v0, 0x100
int-to-char p1, p1
.line 178
rem-int/lit16 v0, v0, 0x100
int-to-char v0, v0
.line 179
new-instance v1, Ljava/lang/String;
new-array v2, v2, [C
const/4 v3, 0x0
aput-char p1, v2, v3
aput-char v0, v2, p0
invoke-direct {v1, v2}, Ljava/lang/String;-><init>([C)V
return-object v1
.end method
.method public static writeNextTriplet(Lcom/google/zxing/datamatrix/encoder/EncoderContext;Ljava/lang/StringBuilder;)V
.locals 2
const/4 v0, 0x0
.line 80
invoke-static {p1, v0}, Lcom/google/zxing/datamatrix/encoder/C40Encoder;->encodeToCodewords(Ljava/lang/CharSequence;I)Ljava/lang/String;
move-result-object v1
invoke-virtual {p0, v1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->writeCodewords(Ljava/lang/String;)V
const/4 p0, 0x3
.line 81
invoke-virtual {p1, v0, p0}, Ljava/lang/StringBuilder;->delete(II)Ljava/lang/StringBuilder;
return-void
.end method
# virtual methods
.method public final backtrackOneCharacter(Lcom/google/zxing/datamatrix/encoder/EncoderContext;Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;I)I
.locals 1
.line 70
invoke-virtual {p2}, Ljava/lang/StringBuilder;->length()I
move-result v0
sub-int p4, v0, p4
.line 71
invoke-virtual {p2, p4, v0}, Ljava/lang/StringBuilder;->delete(II)Ljava/lang/StringBuilder;
.line 72
iget p2, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
add-int/lit8 p2, p2, -0x1
iput p2, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
.line 73
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCurrentChar()C
move-result p2
.line 74
invoke-virtual {p0, p2, p3}, Lcom/google/zxing/datamatrix/encoder/C40Encoder;->encodeChar(CLjava/lang/StringBuilder;)I
move-result p2
.line 75
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->resetSymbolInfo()V
return p2
.end method
.method public encode(Lcom/google/zxing/datamatrix/encoder/EncoderContext;)V
.locals 8
.line 29
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 30
:cond_0
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->hasMoreCharacters()Z
move-result v1
if-eqz v1, :cond_6
.line 31
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCurrentChar()C
move-result v1
.line 32
iget v2, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
const/4 v3, 0x1
add-int/2addr v2, v3
iput v2, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
.line 34
invoke-virtual {p0, v1, v0}, Lcom/google/zxing/datamatrix/encoder/C40Encoder;->encodeChar(CLjava/lang/StringBuilder;)I
move-result v1
.line 36
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v2
const/4 v4, 0x3
div-int/2addr v2, v4
shl-int/2addr v2, v3
.line 38
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCodewordCount()I
move-result v5
add-int/2addr v5, v2
.line 39
invoke-virtual {p1, v5}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->updateSymbolInfo(I)V
.line 40
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getSymbolInfo()Lcom/google/zxing/datamatrix/encoder/SymbolInfo;
move-result-object v2
invoke-virtual {v2}, Lcom/google/zxing/datamatrix/encoder/SymbolInfo;->getDataCapacity()I
move-result v2
sub-int/2addr v2, v5
.line 42
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->hasMoreCharacters()Z
move-result v5
if-nez v5, :cond_5
.line 44
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
.line 45
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v6
rem-int/2addr v6, v4
const/4 v7, 0x2
if-ne v6, v7, :cond_2
if-lt v2, v7, :cond_1
if-le v2, v7, :cond_2
.line 46
:cond_1
invoke-virtual {p0, p1, v0, v5, v1}, Lcom/google/zxing/datamatrix/encoder/C40Encoder;->backtrackOneCharacter(Lcom/google/zxing/datamatrix/encoder/EncoderContext;Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;I)I
move-result v1
.line 48
:cond_2
:goto_0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v6
rem-int/2addr v6, v4
if-ne v6, v3, :cond_6
if-gt v1, v4, :cond_3
if-ne v2, v3, :cond_4
:cond_3
if-le v1, v4, :cond_6
.line 50
:cond_4
invoke-virtual {p0, p1, v0, v5, v1}, Lcom/google/zxing/datamatrix/encoder/C40Encoder;->backtrackOneCharacter(Lcom/google/zxing/datamatrix/encoder/EncoderContext;Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;I)I
move-result v1
goto :goto_0
.line 55
:cond_5
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v1
.line 56
rem-int/2addr v1, v4
if-nez v1, :cond_0
.line 57
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getMessage()Ljava/lang/String;
move-result-object v1
iget v2, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/C40Encoder;->getEncodingMode()I
move-result v3
invoke-static {v1, v2, v3}, Lcom/google/zxing/datamatrix/encoder/HighLevelEncoder;->lookAheadTest(Ljava/lang/CharSequence;II)I
move-result v1
.line 58
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/C40Encoder;->getEncodingMode()I
move-result v2
if-eq v1, v2, :cond_0
const/4 v1, 0x0
.line 60
invoke-virtual {p1, v1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->signalEncoderChange(I)V
.line 65
:cond_6
invoke-virtual {p0, p1, v0}, Lcom/google/zxing/datamatrix/encoder/C40Encoder;->handleEOD(Lcom/google/zxing/datamatrix/encoder/EncoderContext;Ljava/lang/StringBuilder;)V
return-void
.end method
.method public encodeChar(CLjava/lang/StringBuilder;)I
.locals 4
const/4 v0, 0x1
const/16 v1, 0x20
if-ne p1, v1, :cond_0
const/4 p1, 0x3
.line 130
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v0
:cond_0
const/16 v2, 0x30
if-lt p1, v2, :cond_1
const/16 v2, 0x39
if-gt p1, v2, :cond_1
add-int/lit8 p1, p1, -0x2c
int-to-char p1, p1
.line 134
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v0
:cond_1
const/16 v2, 0x41
if-lt p1, v2, :cond_2
const/16 v2, 0x5a
if-gt p1, v2, :cond_2
add-int/lit8 p1, p1, -0x33
int-to-char p1, p1
.line 138
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v0
:cond_2
const/4 v2, 0x2
if-ge p1, v1, :cond_3
const/4 v0, 0x0
.line 142
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 143
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v2
:cond_3
const/16 v1, 0x21
if-lt p1, v1, :cond_4
const/16 v3, 0x2f
if-gt p1, v3, :cond_4
.line 147
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
sub-int/2addr p1, v1
int-to-char p1, p1
.line 148
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v2
:cond_4
const/16 v1, 0x3a
if-lt p1, v1, :cond_5
const/16 v1, 0x40
if-gt p1, v1, :cond_5
.line 152
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 p1, p1, -0x2b
int-to-char p1, p1
.line 153
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v2
:cond_5
const/16 v1, 0x5b
if-lt p1, v1, :cond_6
const/16 v1, 0x5f
if-gt p1, v1, :cond_6
.line 157
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 p1, p1, -0x45
int-to-char p1, p1
.line 158
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v2
:cond_6
const/16 v0, 0x60
if-lt p1, v0, :cond_7
const/16 v1, 0x7f
if-gt p1, v1, :cond_7
.line 162
invoke-virtual {p2, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
sub-int/2addr p1, v0
int-to-char p1, p1
.line 163
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v2
:cond_7
const-string v0, "\u0001\u001e"
.line 166
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 p1, p1, -0x80
int-to-char p1, p1
.line 168
invoke-virtual {p0, p1, p2}, Lcom/google/zxing/datamatrix/encoder/C40Encoder;->encodeChar(CLjava/lang/StringBuilder;)I
move-result p1
add-int/2addr p1, v2
return p1
.end method
.method public getEncodingMode()I
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public handleEOD(Lcom/google/zxing/datamatrix/encoder/EncoderContext;Ljava/lang/StringBuilder;)V
.locals 7
.line 91
invoke-virtual {p2}, Ljava/lang/StringBuilder;->length()I
move-result v0
const/4 v1, 0x3
div-int/2addr v0, v1
const/4 v2, 0x1
shl-int/2addr v0, v2
.line 92
invoke-virtual {p2}, Ljava/lang/StringBuilder;->length()I
move-result v3
rem-int/2addr v3, v1
.line 94
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCodewordCount()I
move-result v4
add-int/2addr v4, v0
.line 95
invoke-virtual {p1, v4}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->updateSymbolInfo(I)V
.line 96
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getSymbolInfo()Lcom/google/zxing/datamatrix/encoder/SymbolInfo;
move-result-object v0
invoke-virtual {v0}, Lcom/google/zxing/datamatrix/encoder/SymbolInfo;->getDataCapacity()I
move-result v0
sub-int/2addr v0, v4
const/4 v4, 0x2
const/4 v5, 0x0
const/16 v6, 0xfe
if-ne v3, v4, :cond_1
.line 99
invoke-virtual {p2, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 100
:goto_0
invoke-virtual {p2}, Ljava/lang/StringBuilder;->length()I
move-result v0
if-lt v0, v1, :cond_0
.line 101
invoke-static {p1, p2}, Lcom/google/zxing/datamatrix/encoder/C40Encoder;->writeNextTriplet(Lcom/google/zxing/datamatrix/encoder/EncoderContext;Ljava/lang/StringBuilder;)V
goto :goto_0
.line 103
:cond_0
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->hasMoreCharacters()Z
move-result p2
if-eqz p2, :cond_7
.line 104
invoke-virtual {p1, v6}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->writeCodeword(C)V
goto :goto_3
:cond_1
if-ne v0, v2, :cond_4
if-ne v3, v2, :cond_4
.line 107
:goto_1
invoke-virtual {p2}, Ljava/lang/StringBuilder;->length()I
move-result v0
if-lt v0, v1, :cond_2
.line 108
invoke-static {p1, p2}, Lcom/google/zxing/datamatrix/encoder/C40Encoder;->writeNextTriplet(Lcom/google/zxing/datamatrix/encoder/EncoderContext;Ljava/lang/StringBuilder;)V
goto :goto_1
.line 110
:cond_2
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->hasMoreCharacters()Z
move-result p2
if-eqz p2, :cond_3
.line 111
invoke-virtual {p1, v6}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->writeCodeword(C)V
.line 114
:cond_3
iget p2, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
sub-int/2addr p2, v2
iput p2, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
goto :goto_3
:cond_4
if-nez v3, :cond_8
.line 116
:goto_2
invoke-virtual {p2}, Ljava/lang/StringBuilder;->length()I
move-result v2
if-lt v2, v1, :cond_5
.line 117
invoke-static {p1, p2}, Lcom/google/zxing/datamatrix/encoder/C40Encoder;->writeNextTriplet(Lcom/google/zxing/datamatrix/encoder/EncoderContext;Ljava/lang/StringBuilder;)V
goto :goto_2
:cond_5
if-gtz v0, :cond_6
.line 119
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->hasMoreCharacters()Z
move-result p2
if-eqz p2, :cond_7
.line 120
:cond_6
invoke-virtual {p1, v6}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->writeCodeword(C)V
.line 125
:cond_7
:goto_3
invoke-virtual {p1, v5}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->signalEncoderChange(I)V
return-void
.line 123
:cond_8
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "Unexpected case. Please report!"
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method

View File

@@ -0,0 +1,59 @@
.class public final Lcom/google/zxing/datamatrix/encoder/DataMatrixSymbolInfo144;
.super Lcom/google/zxing/datamatrix/encoder/SymbolInfo;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 9
const/4 v1, 0x0
const/16 v2, 0x616
const/16 v3, 0x26c
const/16 v4, 0x16
const/16 v5, 0x16
const/16 v6, 0x24
const/4 v7, -0x1
const/16 v8, 0x3e
move-object v0, p0
.line 22
invoke-direct/range {v0 .. v8}, Lcom/google/zxing/datamatrix/encoder/SymbolInfo;-><init>(ZIIIIIII)V
return-void
.end method
# virtual methods
.method public getDataLengthForInterleavedBlock(I)I
.locals 1
const/16 v0, 0x8
if-gt p1, v0, :cond_0
const/16 p1, 0x9c
return p1
:cond_0
const/16 p1, 0x9b
return p1
.end method
.method public getInterleavedBlockCount()I
.locals 1
const/16 v0, 0xa
return v0
.end method

View File

@@ -0,0 +1,793 @@
.class public Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field public final bits:[B
.field public final codewords:Ljava/lang/CharSequence;
.field public final numcols:I
.field public final numrows:I
# direct methods
.method public constructor <init>(Ljava/lang/CharSequence;II)V
.locals 0
.line 38
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->codewords:Ljava/lang/CharSequence;
iput p2, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
iput p3, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
mul-int/2addr p2, p3
.line 42
new-array p1, p2, [B
iput-object p1, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->bits:[B
const/4 p2, -0x1
.line 43
invoke-static {p1, p2}, Ljava/util/Arrays;->fill([BB)V
return-void
.end method
# virtual methods
.method public final corner1(I)V
.locals 6
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
const/4 v1, 0x1
sub-int/2addr v0, v1
const/4 v2, 0x0
.line 155
invoke-virtual {p0, v0, v2, p1, v1}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
sub-int/2addr v0, v1
const/4 v3, 0x2
.line 156
invoke-virtual {p0, v0, v1, p1, v3}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
sub-int/2addr v0, v1
const/4 v4, 0x3
.line 157
invoke-virtual {p0, v0, v3, p1, v4}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v3
const/4 v5, 0x4
.line 158
invoke-virtual {p0, v2, v0, p1, v5}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v1
const/4 v5, 0x5
.line 159
invoke-virtual {p0, v2, v0, p1, v5}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v1
const/4 v2, 0x6
.line 160
invoke-virtual {p0, v1, v0, p1, v2}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v1
const/4 v2, 0x7
.line 161
invoke-virtual {p0, v3, v0, p1, v2}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v1
const/16 v1, 0x8
.line 162
invoke-virtual {p0, v4, v0, p1, v1}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
return-void
.end method
.method public final corner2(I)V
.locals 6
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
const/4 v1, 0x3
sub-int/2addr v0, v1
const/4 v2, 0x0
const/4 v3, 0x1
.line 166
invoke-virtual {p0, v0, v2, p1, v3}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
const/4 v4, 0x2
sub-int/2addr v0, v4
.line 167
invoke-virtual {p0, v0, v2, p1, v4}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
sub-int/2addr v0, v3
.line 168
invoke-virtual {p0, v0, v2, p1, v1}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
const/4 v5, 0x4
sub-int/2addr v0, v5
.line 169
invoke-virtual {p0, v2, v0, p1, v5}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v1
const/4 v1, 0x5
.line 170
invoke-virtual {p0, v2, v0, p1, v1}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v4
const/4 v1, 0x6
.line 171
invoke-virtual {p0, v2, v0, p1, v1}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v3
const/4 v1, 0x7
.line 172
invoke-virtual {p0, v2, v0, p1, v1}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v3
const/16 v1, 0x8
.line 173
invoke-virtual {p0, v3, v0, p1, v1}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
return-void
.end method
.method public final corner3(I)V
.locals 6
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
const/4 v1, 0x3
sub-int/2addr v0, v1
const/4 v2, 0x0
const/4 v3, 0x1
.line 177
invoke-virtual {p0, v0, v2, p1, v3}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
const/4 v4, 0x2
sub-int/2addr v0, v4
.line 178
invoke-virtual {p0, v0, v2, p1, v4}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
sub-int/2addr v0, v3
.line 179
invoke-virtual {p0, v0, v2, p1, v1}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v4
const/4 v5, 0x4
.line 180
invoke-virtual {p0, v2, v0, p1, v5}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v3
const/4 v5, 0x5
.line 181
invoke-virtual {p0, v2, v0, p1, v5}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v3
const/4 v2, 0x6
.line 182
invoke-virtual {p0, v3, v0, p1, v2}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v3
const/4 v2, 0x7
.line 183
invoke-virtual {p0, v4, v0, p1, v2}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v3
const/16 v2, 0x8
.line 184
invoke-virtual {p0, v1, v0, p1, v2}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
return-void
.end method
.method public final corner4(I)V
.locals 6
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
const/4 v1, 0x1
sub-int/2addr v0, v1
const/4 v2, 0x0
.line 188
invoke-virtual {p0, v0, v2, p1, v1}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
sub-int/2addr v0, v1
iget v3, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v3, v1
const/4 v4, 0x2
.line 189
invoke-virtual {p0, v0, v3, p1, v4}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
const/4 v3, 0x3
sub-int/2addr v0, v3
.line 190
invoke-virtual {p0, v2, v0, p1, v3}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v4
const/4 v5, 0x4
.line 191
invoke-virtual {p0, v2, v0, p1, v5}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v1
const/4 v5, 0x5
.line 192
invoke-virtual {p0, v2, v0, p1, v5}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v3
const/4 v2, 0x6
.line 193
invoke-virtual {p0, v1, v0, p1, v2}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v4
const/4 v2, 0x7
.line 194
invoke-virtual {p0, v1, v0, p1, v2}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v0, v1
const/16 v2, 0x8
.line 195
invoke-virtual {p0, v1, v0, p1, v2}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
return-void
.end method
.method public final getBit(II)Z
.locals 2
iget-object v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->bits:[B
iget v1, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
mul-int/2addr p2, v1
add-int/2addr p2, p1
.line 59
aget-byte p1, v0, p2
const/4 p2, 0x1
if-ne p1, p2, :cond_0
return p2
:cond_0
const/4 p1, 0x0
return p1
.end method
.method public final hasBit(II)Z
.locals 2
iget-object v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->bits:[B
iget v1, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
mul-int/2addr p2, v1
add-int/2addr p2, p1
.line 67
aget-byte p1, v0, p2
if-ltz p1, :cond_0
const/4 p1, 0x1
return p1
:cond_0
const/4 p1, 0x0
return p1
.end method
.method public final module(IIII)V
.locals 1
if-gez p1, :cond_0
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
add-int/2addr p1, v0
add-int/lit8 v0, v0, 0x4
.line 124
rem-int/lit8 v0, v0, 0x8
rsub-int/lit8 v0, v0, 0x4
add-int/2addr p2, v0
:cond_0
if-gez p2, :cond_1
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
add-int/2addr p2, v0
add-int/lit8 v0, v0, 0x4
.line 128
rem-int/lit8 v0, v0, 0x8
rsub-int/lit8 v0, v0, 0x4
add-int/2addr p1, v0
:cond_1
iget-object v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->codewords:Ljava/lang/CharSequence;
.line 131
invoke-interface {v0, p3}, Ljava/lang/CharSequence;->charAt(I)C
move-result p3
rsub-int/lit8 p4, p4, 0x8
const/4 v0, 0x1
shl-int p4, v0, p4
and-int/2addr p3, p4
if-eqz p3, :cond_2
goto :goto_0
:cond_2
const/4 v0, 0x0
.line 133
:goto_0
invoke-virtual {p0, p2, p1, v0}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->setBit(IIZ)V
return-void
.end method
.method public final place()V
.locals 8
const/4 v0, 0x0
const/4 v1, 0x4
move v2, v0
move v3, v1
:cond_0
iget v4, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
if-ne v3, v4, :cond_1
if-nez v0, :cond_1
add-int/lit8 v4, v2, 0x1
.line 78
invoke-virtual {p0, v2}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->corner1(I)V
move v2, v4
:cond_1
iget v4, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
const/4 v5, 0x2
sub-int/2addr v4, v5
if-ne v3, v4, :cond_2
if-nez v0, :cond_2
iget v4, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
.line 80
rem-int/2addr v4, v1
if-eqz v4, :cond_2
add-int/lit8 v4, v2, 0x1
.line 81
invoke-virtual {p0, v2}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->corner2(I)V
move v2, v4
:cond_2
iget v4, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
sub-int/2addr v4, v5
if-ne v3, v4, :cond_3
if-nez v0, :cond_3
iget v4, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
.line 83
rem-int/lit8 v4, v4, 0x8
if-ne v4, v1, :cond_3
add-int/lit8 v4, v2, 0x1
.line 84
invoke-virtual {p0, v2}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->corner3(I)V
move v2, v4
:cond_3
iget v4, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
add-int/2addr v4, v1
if-ne v3, v4, :cond_4
if-ne v0, v5, :cond_4
iget v4, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
.line 86
rem-int/lit8 v4, v4, 0x8
if-nez v4, :cond_4
add-int/lit8 v4, v2, 0x1
.line 87
invoke-virtual {p0, v2}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->corner4(I)V
move v2, v4
:cond_4
:goto_0
iget v4, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
if-ge v3, v4, :cond_5
if-ltz v0, :cond_5
.line 91
invoke-virtual {p0, v0, v3}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->hasBit(II)Z
move-result v4
if-nez v4, :cond_5
add-int/lit8 v4, v2, 0x1
.line 92
invoke-virtual {p0, v3, v0, v2}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->utah(III)V
move v2, v4
:cond_5
add-int/lit8 v4, v3, -0x2
add-int/lit8 v6, v0, 0x2
if-ltz v4, :cond_7
iget v7, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
if-lt v6, v7, :cond_6
goto :goto_1
:cond_6
move v3, v4
move v0, v6
goto :goto_0
:cond_7
:goto_1
add-int/lit8 v3, v3, -0x1
add-int/lit8 v0, v0, 0x5
:goto_2
if-ltz v3, :cond_8
iget v4, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
if-ge v0, v4, :cond_8
.line 102
invoke-virtual {p0, v0, v3}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->hasBit(II)Z
move-result v4
if-nez v4, :cond_8
add-int/lit8 v4, v2, 0x1
.line 103
invoke-virtual {p0, v3, v0, v2}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->utah(III)V
move v2, v4
:cond_8
add-int/lit8 v4, v3, 0x2
add-int/lit8 v6, v0, -0x2
iget v7, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
if-ge v4, v7, :cond_a
if-gez v6, :cond_9
goto :goto_3
:cond_9
move v3, v4
move v0, v6
goto :goto_2
:cond_a
:goto_3
add-int/lit8 v3, v3, 0x5
add-int/lit8 v0, v0, -0x1
if-lt v3, v7, :cond_0
iget v4, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
if-lt v0, v4, :cond_0
const/4 v0, 0x1
sub-int/2addr v4, v0
sub-int/2addr v7, v0
.line 115
invoke-virtual {p0, v4, v7}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->hasBit(II)Z
move-result v1
if-nez v1, :cond_b
iget v1, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v1, v0
iget v2, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
sub-int/2addr v2, v0
.line 116
invoke-virtual {p0, v1, v2, v0}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->setBit(IIZ)V
iget v1, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
sub-int/2addr v1, v5
iget v2, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numrows:I
sub-int/2addr v2, v5
.line 117
invoke-virtual {p0, v1, v2, v0}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->setBit(IIZ)V
:cond_b
return-void
.end method
.method public final setBit(IIZ)V
.locals 2
iget-object v0, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->bits:[B
iget v1, p0, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->numcols:I
mul-int/2addr p2, v1
add-int/2addr p2, p1
int-to-byte p1, p3
.line 63
aput-byte p1, v0, p2
return-void
.end method
.method public final utah(III)V
.locals 4
add-int/lit8 v0, p1, -0x2
add-int/lit8 v1, p2, -0x2
const/4 v2, 0x1
.line 144
invoke-virtual {p0, v0, v1, p3, v2}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
add-int/lit8 v2, p2, -0x1
const/4 v3, 0x2
.line 145
invoke-virtual {p0, v0, v2, p3, v3}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
add-int/lit8 v0, p1, -0x1
const/4 v3, 0x3
.line 146
invoke-virtual {p0, v0, v1, p3, v3}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
const/4 v3, 0x4
.line 147
invoke-virtual {p0, v0, v2, p3, v3}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
const/4 v3, 0x5
.line 148
invoke-virtual {p0, v0, p2, p3, v3}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
const/4 v0, 0x6
.line 149
invoke-virtual {p0, p1, v1, p3, v0}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
const/4 v0, 0x7
.line 150
invoke-virtual {p0, p1, v2, p3, v0}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
const/16 v0, 0x8
.line 151
invoke-virtual {p0, p1, p2, p3, v0}, Lcom/google/zxing/datamatrix/encoder/DefaultPlacement;->module(IIII)V
return-void
.end method

View File

@@ -0,0 +1,509 @@
.class public final Lcom/google/zxing/datamatrix/encoder/EdifactEncoder;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/google/zxing/datamatrix/encoder/Encoder;
# direct methods
.method public constructor <init>()V
.locals 0
.line 19
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static encodeChar(CLjava/lang/StringBuilder;)V
.locals 2
const/16 v0, 0x20
if-lt p0, v0, :cond_0
const/16 v0, 0x3f
if-gt p0, v0, :cond_0
.line 110
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return-void
:cond_0
const/16 v0, 0x40
if-lt p0, v0, :cond_1
const/16 v1, 0x5e
if-gt p0, v1, :cond_1
sub-int/2addr p0, v0
int-to-char p0, p0
.line 112
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return-void
.line 114
:cond_1
invoke-static {p0}, Lcom/google/zxing/datamatrix/encoder/HighLevelEncoder;->illegalCharacter(C)V
return-void
.end method
.method private static encodeToCodewords(Ljava/lang/CharSequence;I)Ljava/lang/String;
.locals 8
.line 119
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v0
sub-int/2addr v0, p1
if-eqz v0, :cond_5
.line 123
invoke-interface {p0, p1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v1
const/4 v2, 0x0
const/4 v3, 0x2
if-lt v0, v3, :cond_0
add-int/lit8 v4, p1, 0x1
.line 124
invoke-interface {p0, v4}, Ljava/lang/CharSequence;->charAt(I)C
move-result v4
goto :goto_0
:cond_0
move v4, v2
:goto_0
const/4 v5, 0x3
if-lt v0, v5, :cond_1
add-int/lit8 v6, p1, 0x2
.line 125
invoke-interface {p0, v6}, Ljava/lang/CharSequence;->charAt(I)C
move-result v6
goto :goto_1
:cond_1
move v6, v2
:goto_1
const/4 v7, 0x4
if-lt v0, v7, :cond_2
add-int/2addr p1, v5
.line 126
invoke-interface {p0, p1}, Ljava/lang/CharSequence;->charAt(I)C
move-result v2
:cond_2
shl-int/lit8 p0, v1, 0x12
shl-int/lit8 p1, v4, 0xc
add-int/2addr p0, p1
shl-int/lit8 p1, v6, 0x6
add-int/2addr p0, p1
add-int/2addr p0, v2
shr-int/lit8 p1, p0, 0x10
and-int/lit16 p1, p1, 0xff
int-to-char p1, p1
shr-int/lit8 v1, p0, 0x8
and-int/lit16 v1, v1, 0xff
int-to-char v1, v1
and-int/lit16 p0, p0, 0xff
int-to-char p0, p0
.line 132
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2, v5}, Ljava/lang/StringBuilder;-><init>(I)V
.line 133
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
if-lt v0, v3, :cond_3
.line 135
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:cond_3
if-lt v0, v5, :cond_4
.line 138
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 140
:cond_4
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.line 121
:cond_5
new-instance p0, Ljava/lang/IllegalStateException;
const-string p1, "StringBuilder must not be empty"
invoke-direct {p0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static handleEOD(Lcom/google/zxing/datamatrix/encoder/EncoderContext;Ljava/lang/CharSequence;)V
.locals 7
const/4 v0, 0x0
.line 60
:try_start_0
invoke-interface {p1}, Ljava/lang/CharSequence;->length()I
move-result v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-nez v1, :cond_0
.line 104
invoke-virtual {p0, v0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->signalEncoderChange(I)V
return-void
:cond_0
const/4 v2, 0x2
const/4 v3, 0x1
if-ne v1, v3, :cond_2
.line 66
:try_start_1
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->updateSymbolInfo()V
.line 67
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getSymbolInfo()Lcom/google/zxing/datamatrix/encoder/SymbolInfo;
move-result-object v4
invoke-virtual {v4}, Lcom/google/zxing/datamatrix/encoder/SymbolInfo;->getDataCapacity()I
move-result v4
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCodewordCount()I
move-result v5
sub-int/2addr v4, v5
.line 68
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getRemainingCharacters()I
move-result v5
if-le v5, v4, :cond_1
.line 71
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCodewordCount()I
move-result v4
add-int/2addr v4, v3
invoke-virtual {p0, v4}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->updateSymbolInfo(I)V
.line 72
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getSymbolInfo()Lcom/google/zxing/datamatrix/encoder/SymbolInfo;
move-result-object v4
invoke-virtual {v4}, Lcom/google/zxing/datamatrix/encoder/SymbolInfo;->getDataCapacity()I
move-result v4
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCodewordCount()I
move-result v6
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
sub-int/2addr v4, v6
goto :goto_0
:catchall_0
move-exception p1
goto :goto_4
:cond_1
:goto_0
if-gt v5, v4, :cond_2
if-gt v4, v2, :cond_2
.line 104
invoke-virtual {p0, v0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->signalEncoderChange(I)V
return-void
:cond_2
const/4 v4, 0x4
if-gt v1, v4, :cond_6
sub-int/2addr v1, v3
.line 83
:try_start_2
invoke-static {p1, v0}, Lcom/google/zxing/datamatrix/encoder/EdifactEncoder;->encodeToCodewords(Ljava/lang/CharSequence;I)Ljava/lang/String;
move-result-object p1
.line 84
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->hasMoreCharacters()Z
move-result v4
xor-int/2addr v4, v3
if-eqz v4, :cond_3
if-gt v1, v2, :cond_3
goto :goto_1
:cond_3
move v3, v0
:goto_1
if-gt v1, v2, :cond_4
.line 88
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCodewordCount()I
move-result v2
add-int/2addr v2, v1
invoke-virtual {p0, v2}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->updateSymbolInfo(I)V
.line 89
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getSymbolInfo()Lcom/google/zxing/datamatrix/encoder/SymbolInfo;
move-result-object v2
invoke-virtual {v2}, Lcom/google/zxing/datamatrix/encoder/SymbolInfo;->getDataCapacity()I
move-result v2
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCodewordCount()I
move-result v4
sub-int/2addr v2, v4
const/4 v4, 0x3
if-lt v2, v4, :cond_4
.line 92
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCodewordCount()I
move-result v1
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v2
add-int/2addr v1, v2
invoke-virtual {p0, v1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->updateSymbolInfo(I)V
goto :goto_2
:cond_4
if-eqz v3, :cond_5
.line 98
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->resetSymbolInfo()V
.line 99
iget p1, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
sub-int/2addr p1, v1
iput p1, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
goto :goto_3
.line 101
:cond_5
:goto_2
invoke-virtual {p0, p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->writeCodewords(Ljava/lang/String;)V
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
.line 104
:goto_3
invoke-virtual {p0, v0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->signalEncoderChange(I)V
return-void
.line 80
:cond_6
:try_start_3
new-instance p1, Ljava/lang/IllegalStateException;
const-string v1, "Count must not exceed 4"
invoke-direct {p1, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0
.line 104
:goto_4
invoke-virtual {p0, v0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->signalEncoderChange(I)V
.line 105
throw p1
.end method
# virtual methods
.method public encode(Lcom/google/zxing/datamatrix/encoder/EncoderContext;)V
.locals 5
.line 29
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 30
:cond_0
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->hasMoreCharacters()Z
move-result v1
if-eqz v1, :cond_1
.line 31
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCurrentChar()C
move-result v1
.line 32
invoke-static {v1, v0}, Lcom/google/zxing/datamatrix/encoder/EdifactEncoder;->encodeChar(CLjava/lang/StringBuilder;)V
.line 33
iget v1, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
add-int/lit8 v1, v1, 0x1
iput v1, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
.line 35
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v1
const/4 v2, 0x4
if-lt v1, v2, :cond_0
const/4 v1, 0x0
.line 37
invoke-static {v0, v1}, Lcom/google/zxing/datamatrix/encoder/EdifactEncoder;->encodeToCodewords(Ljava/lang/CharSequence;I)Ljava/lang/String;
move-result-object v3
invoke-virtual {p1, v3}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->writeCodewords(Ljava/lang/String;)V
.line 38
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->delete(II)Ljava/lang/StringBuilder;
.line 40
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getMessage()Ljava/lang/String;
move-result-object v2
iget v3, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EdifactEncoder;->getEncodingMode()I
move-result v4
invoke-static {v2, v3, v4}, Lcom/google/zxing/datamatrix/encoder/HighLevelEncoder;->lookAheadTest(Ljava/lang/CharSequence;II)I
move-result v2
.line 41
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EdifactEncoder;->getEncodingMode()I
move-result v3
if-eq v2, v3, :cond_0
.line 43
invoke-virtual {p1, v1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->signalEncoderChange(I)V
:cond_1
const/16 v1, 0x1f
.line 48
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 49
invoke-static {p1, v0}, Lcom/google/zxing/datamatrix/encoder/EdifactEncoder;->handleEOD(Lcom/google/zxing/datamatrix/encoder/EncoderContext;Ljava/lang/CharSequence;)V
return-void
.end method
.method public getEncodingMode()I
.locals 1
const/4 v0, 0x4
return v0
.end method

View File

@@ -0,0 +1,8 @@
.class public interface abstract Lcom/google/zxing/datamatrix/encoder/Encoder;
.super Ljava/lang/Object;
.source "SourceFile"
# virtual methods
.method public abstract encode(Lcom/google/zxing/datamatrix/encoder/EncoderContext;)V
.end method

View File

@@ -0,0 +1,352 @@
.class public final Lcom/google/zxing/datamatrix/encoder/EncoderContext;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field public final codewords:Ljava/lang/StringBuilder;
.field public final msg:Ljava/lang/String;
.field public newEncoding:I
.field public pos:I
.field public shape:Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
.field public skipAtEnd:I
.field public symbolInfo:Lcom/google/zxing/datamatrix/encoder/SymbolInfo;
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.locals 7
.line 35
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 37
sget-object v0, Ljava/nio/charset/StandardCharsets;->ISO_8859_1:Ljava/nio/charset/Charset;
invoke-virtual {p1, v0}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object v0
.line 38
new-instance v1, Ljava/lang/StringBuilder;
array-length v2, v0
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(I)V
.line 39
array-length v2, v0
const/4 v3, 0x0
:goto_0
if-ge v3, v2, :cond_2
.line 40
aget-byte v4, v0, v3
and-int/lit16 v4, v4, 0xff
int-to-char v4, v4
const/16 v5, 0x3f
if-ne v4, v5, :cond_1
.line 41
invoke-virtual {p1, v3}, Ljava/lang/String;->charAt(I)C
move-result v6
if-ne v6, v5, :cond_0
goto :goto_1
.line 42
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Message contains characters outside ISO-8859-1 encoding."
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 44
:cond_1
:goto_1
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v3, v3, 0x1
goto :goto_0
.line 46
:cond_2
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->msg:Ljava/lang/String;
.line 47
sget-object v0, Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;->FORCE_NONE:Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
iput-object v0, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->shape:Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
.line 48
new-instance v0, Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result p1
invoke-direct {v0, p1}, Ljava/lang/StringBuilder;-><init>(I)V
iput-object v0, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->codewords:Ljava/lang/StringBuilder;
const/4 p1, -0x1
iput p1, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->newEncoding:I
return-void
.end method
# virtual methods
.method public getCodewordCount()I
.locals 1
iget-object v0, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->codewords:Ljava/lang/StringBuilder;
.line 90
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v0
return v0
.end method
.method public getCodewords()Ljava/lang/StringBuilder;
.locals 1
iget-object v0, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->codewords:Ljava/lang/StringBuilder;
return-object v0
.end method
.method public getCurrentChar()C
.locals 2
iget-object v0, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->msg:Ljava/lang/String;
iget v1, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
.line 70
invoke-virtual {v0, v1}, Ljava/lang/String;->charAt(I)C
move-result v0
return v0
.end method
.method public getMessage()Ljava/lang/String;
.locals 1
iget-object v0, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->msg:Ljava/lang/String;
return-object v0
.end method
.method public getNewEncoding()I
.locals 1
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->newEncoding:I
return v0
.end method
.method public getRemainingCharacters()I
.locals 2
.line 114
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getTotalMessageCharCount()I
move-result v0
iget v1, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
sub-int/2addr v0, v1
return v0
.end method
.method public getSymbolInfo()Lcom/google/zxing/datamatrix/encoder/SymbolInfo;
.locals 1
iget-object v0, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->symbolInfo:Lcom/google/zxing/datamatrix/encoder/SymbolInfo;
return-object v0
.end method
.method public final getTotalMessageCharCount()I
.locals 2
iget-object v0, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->msg:Ljava/lang/String;
.line 110
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v0
iget v1, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->skipAtEnd:I
sub-int/2addr v0, v1
return v0
.end method
.method public hasMoreCharacters()Z
.locals 2
iget v0, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
.line 106
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getTotalMessageCharCount()I
move-result v1
if-ge v0, v1, :cond_0
const/4 v0, 0x1
return v0
:cond_0
const/4 v0, 0x0
return v0
.end method
.method public resetEncoderSignal()V
.locals 1
const/4 v0, -0x1
iput v0, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->newEncoding:I
return-void
.end method
.method public resetSymbolInfo()V
.locals 1
const/4 v0, 0x0
iput-object v0, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->symbolInfo:Lcom/google/zxing/datamatrix/encoder/SymbolInfo;
return-void
.end method
.method public setSizeConstraints(Lcom/google/zxing/Dimension;Lcom/google/zxing/Dimension;)V
.locals 0
return-void
.end method
.method public setSkipAtEnd(I)V
.locals 0
iput p1, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->skipAtEnd:I
return-void
.end method
.method public setSymbolShape(Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;)V
.locals 0
iput-object p1, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->shape:Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
return-void
.end method
.method public signalEncoderChange(I)V
.locals 0
iput p1, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->newEncoding:I
return-void
.end method
.method public updateSymbolInfo()V
.locals 1
.line 122
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCodewordCount()I
move-result v0
invoke-virtual {p0, v0}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->updateSymbolInfo(I)V
return-void
.end method
.method public updateSymbolInfo(I)V
.locals 3
iget-object v0, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->symbolInfo:Lcom/google/zxing/datamatrix/encoder/SymbolInfo;
if-eqz v0, :cond_0
.line 126
invoke-virtual {v0}, Lcom/google/zxing/datamatrix/encoder/SymbolInfo;->getDataCapacity()I
move-result v0
if-le p1, v0, :cond_1
:cond_0
iget-object v0, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->shape:Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
const/4 v1, 0x1
const/4 v2, 0x0
.line 127
invoke-static {p1, v0, v2, v2, v1}, Lcom/google/zxing/datamatrix/encoder/SymbolInfo;->lookup(ILcom/google/zxing/datamatrix/encoder/SymbolShapeHint;Lcom/google/zxing/Dimension;Lcom/google/zxing/Dimension;Z)Lcom/google/zxing/datamatrix/encoder/SymbolInfo;
move-result-object p1
iput-object p1, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->symbolInfo:Lcom/google/zxing/datamatrix/encoder/SymbolInfo;
:cond_1
return-void
.end method
.method public writeCodeword(C)V
.locals 1
iget-object v0, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->codewords:Ljava/lang/StringBuilder;
.line 86
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return-void
.end method
.method public writeCodewords(Ljava/lang/String;)V
.locals 1
iget-object v0, p0, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->codewords:Ljava/lang/StringBuilder;
.line 82
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
return-void
.end method

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,104 @@
.class public final enum Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
.super Ljava/lang/Enum;
.source "SourceFile"
# static fields
.field private static final synthetic $VALUES:[Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
.field public static final enum FORCE_NONE:Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
.field public static final enum FORCE_RECTANGLE:Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
.field public static final enum FORCE_SQUARE:Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
# direct methods
.method static constructor <clinit>()V
.locals 5
.line 25
new-instance v0, Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
const-string v1, "FORCE_NONE"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;->FORCE_NONE:Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
.line 26
new-instance v1, Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
const-string v2, "FORCE_SQUARE"
const/4 v3, 0x1
invoke-direct {v1, v2, v3}, Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;-><init>(Ljava/lang/String;I)V
sput-object v1, Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;->FORCE_SQUARE:Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
.line 27
new-instance v2, Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
const-string v3, "FORCE_RECTANGLE"
const/4 v4, 0x2
invoke-direct {v2, v3, v4}, Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;-><init>(Ljava/lang/String;I)V
sput-object v2, Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;->FORCE_RECTANGLE:Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
filled-new-array {v0, v1, v2}, [Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
move-result-object v0
sput-object v0, Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;->$VALUES:[Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
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 23
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/datamatrix/encoder/SymbolShapeHint;
.locals 1
const-class v0, Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
.line 23
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/datamatrix/encoder/SymbolShapeHint;
return-object p0
.end method
.method public static values()[Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
.locals 1
sget-object v0, Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;->$VALUES:[Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
.line 23
invoke-virtual {v0}, [Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/zxing/datamatrix/encoder/SymbolShapeHint;
return-object v0
.end method

View File

@@ -0,0 +1,233 @@
.class public final Lcom/google/zxing/datamatrix/encoder/TextEncoder;
.super Lcom/google/zxing/datamatrix/encoder/C40Encoder;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 19
invoke-direct {p0}, Lcom/google/zxing/datamatrix/encoder/C40Encoder;-><init>()V
return-void
.end method
# virtual methods
.method public encodeChar(CLjava/lang/StringBuilder;)I
.locals 4
const/4 v0, 0x1
const/16 v1, 0x20
if-ne p1, v1, :cond_0
const/4 p1, 0x3
.line 29
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v0
:cond_0
const/16 v2, 0x30
if-lt p1, v2, :cond_1
const/16 v2, 0x39
if-gt p1, v2, :cond_1
add-int/lit8 p1, p1, -0x2c
int-to-char p1, p1
.line 33
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v0
:cond_1
const/16 v2, 0x61
if-lt p1, v2, :cond_2
const/16 v2, 0x7a
if-gt p1, v2, :cond_2
add-int/lit8 p1, p1, -0x53
int-to-char p1, p1
.line 37
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v0
:cond_2
const/4 v2, 0x2
if-ge p1, v1, :cond_3
const/4 v0, 0x0
.line 41
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 42
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v2
:cond_3
const/16 v1, 0x21
if-lt p1, v1, :cond_4
const/16 v3, 0x2f
if-gt p1, v3, :cond_4
.line 46
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
sub-int/2addr p1, v1
int-to-char p1, p1
.line 47
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v2
:cond_4
const/16 v1, 0x3a
const/16 v3, 0x40
if-lt p1, v1, :cond_5
if-gt p1, v3, :cond_5
.line 51
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 p1, p1, -0x2b
int-to-char p1, p1
.line 52
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v2
:cond_5
const/16 v1, 0x5b
if-lt p1, v1, :cond_6
const/16 v1, 0x5f
if-gt p1, v1, :cond_6
.line 56
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 p1, p1, -0x45
int-to-char p1, p1
.line 57
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v2
:cond_6
const/16 v0, 0x60
if-ne p1, v0, :cond_7
.line 61
invoke-virtual {p2, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
sub-int/2addr p1, v0
int-to-char p1, p1
.line 62
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v2
:cond_7
const/16 v1, 0x41
if-lt p1, v1, :cond_8
const/16 v1, 0x5a
if-gt p1, v1, :cond_8
.line 66
invoke-virtual {p2, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
sub-int/2addr p1, v3
int-to-char p1, p1
.line 67
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v2
:cond_8
const/16 v1, 0x7b
if-lt p1, v1, :cond_9
const/16 v1, 0x7f
if-gt p1, v1, :cond_9
.line 71
invoke-virtual {p2, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
sub-int/2addr p1, v0
int-to-char p1, p1
.line 72
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return v2
:cond_9
const-string v0, "\u0001\u001e"
.line 75
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 p1, p1, -0x80
int-to-char p1, p1
.line 77
invoke-virtual {p0, p1, p2}, Lcom/google/zxing/datamatrix/encoder/TextEncoder;->encodeChar(CLjava/lang/StringBuilder;)I
move-result p1
add-int/2addr p1, v2
return p1
.end method
.method public getEncodingMode()I
.locals 1
const/4 v0, 0x2
return v0
.end method

View File

@@ -0,0 +1,270 @@
.class public final Lcom/google/zxing/datamatrix/encoder/X12Encoder;
.super Lcom/google/zxing/datamatrix/encoder/C40Encoder;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 19
invoke-direct {p0}, Lcom/google/zxing/datamatrix/encoder/C40Encoder;-><init>()V
return-void
.end method
# virtual methods
.method public encode(Lcom/google/zxing/datamatrix/encoder/EncoderContext;)V
.locals 4
.line 29
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 30
:cond_0
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->hasMoreCharacters()Z
move-result v1
if-eqz v1, :cond_1
.line 31
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCurrentChar()C
move-result v1
.line 32
iget v2, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
add-int/lit8 v2, v2, 0x1
iput v2, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
.line 34
invoke-virtual {p0, v1, v0}, Lcom/google/zxing/datamatrix/encoder/X12Encoder;->encodeChar(CLjava/lang/StringBuilder;)I
.line 36
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v1
.line 37
rem-int/lit8 v1, v1, 0x3
if-nez v1, :cond_0
.line 38
invoke-static {p1, v0}, Lcom/google/zxing/datamatrix/encoder/C40Encoder;->writeNextTriplet(Lcom/google/zxing/datamatrix/encoder/EncoderContext;Ljava/lang/StringBuilder;)V
.line 40
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getMessage()Ljava/lang/String;
move-result-object v1
iget v2, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/X12Encoder;->getEncodingMode()I
move-result v3
invoke-static {v1, v2, v3}, Lcom/google/zxing/datamatrix/encoder/HighLevelEncoder;->lookAheadTest(Ljava/lang/CharSequence;II)I
move-result v1
.line 41
invoke-virtual {p0}, Lcom/google/zxing/datamatrix/encoder/X12Encoder;->getEncodingMode()I
move-result v2
if-eq v1, v2, :cond_0
const/4 v1, 0x0
.line 43
invoke-virtual {p1, v1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->signalEncoderChange(I)V
.line 48
:cond_1
invoke-virtual {p0, p1, v0}, Lcom/google/zxing/datamatrix/encoder/X12Encoder;->handleEOD(Lcom/google/zxing/datamatrix/encoder/EncoderContext;Ljava/lang/StringBuilder;)V
return-void
.end method
.method public encodeChar(CLjava/lang/StringBuilder;)I
.locals 2
const/16 v0, 0xd
const/4 v1, 0x1
if-eq p1, v0, :cond_5
const/16 v0, 0x20
if-eq p1, v0, :cond_4
const/16 v0, 0x2a
if-eq p1, v0, :cond_3
const/16 v0, 0x3e
if-eq p1, v0, :cond_2
const/16 v0, 0x30
if-lt p1, v0, :cond_0
const/16 v0, 0x39
if-gt p1, v0, :cond_0
add-int/lit8 p1, p1, -0x2c
int-to-char p1, p1
.line 68
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_0
:cond_0
const/16 v0, 0x41
if-lt p1, v0, :cond_1
const/16 v0, 0x5a
if-gt p1, v0, :cond_1
add-int/lit8 p1, p1, -0x33
int-to-char p1, p1
.line 70
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_0
.line 72
:cond_1
invoke-static {p1}, Lcom/google/zxing/datamatrix/encoder/HighLevelEncoder;->illegalCharacter(C)V
goto :goto_0
:cond_2
const/4 p1, 0x2
.line 61
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_0
.line 58
:cond_3
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_0
:cond_4
const/4 p1, 0x3
.line 64
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_0
:cond_5
const/4 p1, 0x0
.line 55
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:goto_0
return v1
.end method
.method public getEncodingMode()I
.locals 1
const/4 v0, 0x3
return v0
.end method
.method public handleEOD(Lcom/google/zxing/datamatrix/encoder/EncoderContext;Ljava/lang/StringBuilder;)V
.locals 2
.line 81
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->updateSymbolInfo()V
.line 82
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getSymbolInfo()Lcom/google/zxing/datamatrix/encoder/SymbolInfo;
move-result-object v0
invoke-virtual {v0}, Lcom/google/zxing/datamatrix/encoder/SymbolInfo;->getDataCapacity()I
move-result v0
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getCodewordCount()I
move-result v1
sub-int/2addr v0, v1
.line 83
invoke-virtual {p2}, Ljava/lang/StringBuilder;->length()I
move-result p2
.line 84
iget v1, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
sub-int/2addr v1, p2
iput v1, p1, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->pos:I
.line 85
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getRemainingCharacters()I
move-result p2
const/4 v1, 0x1
if-gt p2, v1, :cond_0
if-gt v0, v1, :cond_0
.line 86
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getRemainingCharacters()I
move-result p2
if-eq p2, v0, :cond_1
:cond_0
const/16 p2, 0xfe
.line 87
invoke-virtual {p1, p2}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->writeCodeword(C)V
.line 89
:cond_1
invoke-virtual {p1}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->getNewEncoding()I
move-result p2
if-gez p2, :cond_2
const/4 p2, 0x0
.line 90
invoke-virtual {p1, p2}, Lcom/google/zxing/datamatrix/encoder/EncoderContext;->signalEncoderChange(I)V
:cond_2
return-void
.end method