OneDimensionalCodeWriter.smali
.class public abstract Lcom/google/zxing/oned/OneDimensionalCodeWriter;
.super Ljava/lang/Object;
.source "OneDimensionalCodeWriter.java"
# interfaces
.implements Lcom/google/zxing/Writer;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 32
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method protected static appendPattern([ZI[IZ)I
.registers 12
.param p0, "target" # [Z
.param p1, "pos" # I
.param p2, "pattern" # [I
.param p3, "startColor" # Z
.line 102
move v0, p3
.line 103
.local v0, "color":Z
const/4 v1, 0x0
.line 104
.local v1, "numAdded":I
array-length v2, p2
const/4 v3, 0x0
const/4 v4, 0x0
:goto_5
if-ge v4, v2, :cond_1e
aget v5, p2, v4
.line 105
.local v5, "len":I
const/4 v6, 0x0
.local v6, "j":I
:goto_a
if-ge v6, v5, :cond_14
.line 106
add-int/lit8 v7, p1, 0x1
.end local p1 # "pos":I
.local v7, "pos":I
aput-boolean v0, p0, p1
.line 105
add-int/lit8 v6, v6, 0x1
move p1, v7
goto :goto_a
.line 108
.end local v6 # "j":I
.end local v7 # "pos":I
.restart local p1 # "pos":I
:cond_14
add-int/2addr v1, v5
.line 109
if-nez v0, :cond_19
const/4 v6, 0x1
goto :goto_1a
:cond_19
const/4 v6, 0x0
:goto_1a
move v0, v6
.line 104
.end local v5 # "len":I
add-int/lit8 v4, v4, 0x1
goto :goto_5
.line 111
:cond_1e
return v1
.end method
.method private static renderResult([ZIII)Lcom/google/zxing/common/BitMatrix;
.registers 15
.param p0, "code" # [Z
.param p1, "width" # I
.param p2, "height" # I
.param p3, "sidesMargin" # I
.line 75
array-length v0, p0
const/4 v1, 0x0
move v2, v1
.line 77
.local v2, "inputWidth":I
move v2, v0
add-int/2addr v0, p3
.line 78
.local v0, "fullWidth":I
invoke-static {p1, v0}, Ljava/lang/Math;->max(II)I
move-result v3
.line 79
.local v3, "outputWidth":I
const/4 v4, 0x1
invoke-static {v4, p2}, Ljava/lang/Math;->max(II)I
move-result v4
.line 81
.local v4, "outputHeight":I
div-int v5, v3, v0
.line 82
.local v5, "multiple":I
mul-int v6, v2, v5
sub-int v6, v3, v6
div-int/lit8 v6, v6, 0x2
.line 84
.local v6, "leftPadding":I
new-instance v7, Lcom/google/zxing/common/BitMatrix;
invoke-direct {v7, v3, v4}, Lcom/google/zxing/common/BitMatrix;-><init>(II)V
.line 85
.local v7, "output":Lcom/google/zxing/common/BitMatrix;
const/4 v8, 0x0
.local v8, "inputX":I
move v9, v6
.local v9, "outputX":I
:goto_1d
if-ge v8, v2, :cond_2a
.line 86
aget-boolean v10, p0, v8
if-eqz v10, :cond_26
.line 87
invoke-virtual {v7, v9, v1, v5, v4}, Lcom/google/zxing/common/BitMatrix;->setRegion(IIII)V
.line 85
:cond_26
add-int/lit8 v8, v8, 0x1
add-int/2addr v9, v5
goto :goto_1d
.line 90
.end local v8 # "inputX":I
.end local v9 # "outputX":I
:cond_2a
return-object v7
.end method
# virtual methods
.method public final encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;II)Lcom/google/zxing/common/BitMatrix;
.registers 11
.param p1, "contents" # Ljava/lang/String;
.param p2, "format" # Lcom/google/zxing/BarcodeFormat;
.param p3, "width" # I
.param p4, "height" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/WriterException;
}
.end annotation
.line 37
const/4 v5, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move v3, p3
move v4, p4
invoke-virtual/range {v0 .. v5}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
move-result-object v0
return-object v0
.end method
.method public encode(Ljava/lang/String;Lcom/google/zxing/BarcodeFormat;IILjava/util/Map;)Lcom/google/zxing/common/BitMatrix;
.registers 9
.param p1, "contents" # Ljava/lang/String;
.param p2, "format" # Lcom/google/zxing/BarcodeFormat;
.param p3, "width" # I
.param p4, "height" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Lcom/google/zxing/BarcodeFormat;",
"II",
"Ljava/util/Map<",
"Lcom/google/zxing/EncodeHintType;",
"*>;)",
"Lcom/google/zxing/common/BitMatrix;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/zxing/WriterException;
}
.end annotation
.line 53
.local p5, "hints":Ljava/util/Map;, "Ljava/util/Map<Lcom/google/zxing/EncodeHintType;*>;"
invoke-virtual {p1}, Ljava/lang/String;->isEmpty()Z
move-result v0
if-nez v0, :cond_4b
.line 57
if-ltz p3, :cond_2f
if-ltz p4, :cond_2f
.line 62
invoke-virtual {p0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->getDefaultMargin()I
move-result v0
.line 63
.local v0, "sidesMargin":I
if-eqz p5, :cond_26
sget-object v1, Lcom/google/zxing/EncodeHintType;->MARGIN:Lcom/google/zxing/EncodeHintType;
invoke-interface {p5, v1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_26
.line 64
sget-object v1, Lcom/google/zxing/EncodeHintType;->MARGIN:Lcom/google/zxing/EncodeHintType;
invoke-interface {p5, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
.line 67
:cond_26
invoke-virtual {p0, p1}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->encode(Ljava/lang/String;)[Z
move-result-object v1
.line 68
invoke-static {v1, p3, p4, v0}, Lcom/google/zxing/oned/OneDimensionalCodeWriter;->renderResult([ZIII)Lcom/google/zxing/common/BitMatrix;
move-result-object v1
return-object v1
.line 58
.end local v0 # "sidesMargin":I
:cond_2f
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Negative size is not allowed. Input: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/16 v2, 0x78
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v1, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 54
:cond_4b
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Found empty contents"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public abstract encode(Ljava/lang/String;)[Z
.end method
.method public getDefaultMargin()I
.registers 2
.line 117
const/16 v0, 0xa
return v0
.end method