e.smali
.class public final Lcom/google/zxing/a/a/e;
.super Ljava/lang/Object;
.source "HighLevelEncoder.java"
# static fields
.field static final a:[Ljava/lang/String;
.field static final b:[[I
.field private static final c:[[I
.field static final d:[[I
# instance fields
.field private final e:[B
# direct methods
.method static constructor <clinit>()V
.registers 11
const/4 v0, 0x5
.line 1
new-array v1, v0, [Ljava/lang/String;
const/4 v2, 0x0
const-string v3, "UPPER"
aput-object v3, v1, v2
const/4 v3, 0x1
const-string v4, "LOWER"
aput-object v4, v1, v3
const/4 v4, 0x2
const-string v5, "DIGIT"
aput-object v5, v1, v4
const/4 v5, 0x3
const-string v6, "MIXED"
aput-object v6, v1, v5
const/4 v6, 0x4
const-string v7, "PUNCT"
aput-object v7, v1, v6
sput-object v1, Lcom/google/zxing/a/a/e;->a:[Ljava/lang/String;
.line 2
new-array v1, v0, [[I
new-array v7, v0, [I
fill-array-data v7, :array_116
aput-object v7, v1, v2
new-array v7, v0, [I
fill-array-data v7, :array_124
aput-object v7, v1, v3
new-array v7, v0, [I
fill-array-data v7, :array_132
aput-object v7, v1, v4
new-array v7, v0, [I
fill-array-data v7, :array_140
aput-object v7, v1, v5
new-array v7, v0, [I
fill-array-data v7, :array_14e
aput-object v7, v1, v6
sput-object v1, Lcom/google/zxing/a/a/e;->b:[[I
const/16 v1, 0x100
.line 3
filled-new-array {v0, v1}, [I
move-result-object v0
const-class v1, I
invoke-static {v1, v0}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;
move-result-object v0
check-cast v0, [[I
.line 4
sput-object v0, Lcom/google/zxing/a/a/e;->c:[[I
aget-object v0, v0, v2
const/16 v1, 0x20
aput v3, v0, v1
const/16 v0, 0x41
:goto_5d
const/16 v7, 0x5a
if-gt v0, v7, :cond_6d
.line 5
sget-object v7, Lcom/google/zxing/a/a/e;->c:[[I
aget-object v7, v7, v2
add-int/lit8 v8, v0, -0x41
add-int/2addr v8, v4
aput v8, v7, v0
add-int/lit8 v0, v0, 0x1
goto :goto_5d
.line 6
:cond_6d
sget-object v0, Lcom/google/zxing/a/a/e;->c:[[I
aget-object v0, v0, v3
aput v3, v0, v1
const/16 v0, 0x61
:goto_75
const/16 v7, 0x7a
if-gt v0, v7, :cond_85
.line 7
sget-object v7, Lcom/google/zxing/a/a/e;->c:[[I
aget-object v7, v7, v3
add-int/lit8 v8, v0, -0x61
add-int/2addr v8, v4
aput v8, v7, v0
add-int/lit8 v0, v0, 0x1
goto :goto_75
.line 8
:cond_85
sget-object v0, Lcom/google/zxing/a/a/e;->c:[[I
aget-object v0, v0, v4
aput v3, v0, v1
const/16 v0, 0x30
:goto_8d
const/16 v1, 0x39
if-gt v0, v1, :cond_9d
.line 9
sget-object v1, Lcom/google/zxing/a/a/e;->c:[[I
aget-object v1, v1, v4
add-int/lit8 v7, v0, -0x30
add-int/2addr v7, v4
aput v7, v1, v0
add-int/lit8 v0, v0, 0x1
goto :goto_8d
.line 10
:cond_9d
sget-object v0, Lcom/google/zxing/a/a/e;->c:[[I
aget-object v1, v0, v4
const/16 v7, 0x2c
const/16 v8, 0xc
aput v8, v1, v7
.line 11
aget-object v0, v0, v4
const/16 v1, 0x2e
const/16 v7, 0xd
aput v7, v0, v1
const/16 v0, 0x1c
.line 12
new-array v1, v0, [I
fill-array-data v1, :array_15c
const/4 v7, 0x0
:goto_b7
if-ge v7, v0, :cond_c4
.line 13
sget-object v8, Lcom/google/zxing/a/a/e;->c:[[I
aget-object v8, v8, v5
aget v9, v1, v7
aput v7, v8, v9
add-int/lit8 v7, v7, 0x1
goto :goto_b7
:cond_c4
const/16 v1, 0x1f
.line 14
new-array v7, v1, [I
fill-array-data v7, :array_198
const/4 v8, 0x0
:goto_cc
if-ge v8, v1, :cond_dd
.line 15
aget v9, v7, v8
if-lez v9, :cond_da
.line 16
sget-object v9, Lcom/google/zxing/a/a/e;->c:[[I
aget-object v9, v9, v6
aget v10, v7, v8
aput v8, v9, v10
:cond_da
add-int/lit8 v8, v8, 0x1
goto :goto_cc
:cond_dd
const/4 v1, 0x6
.line 17
filled-new-array {v1, v1}, [I
move-result-object v1
const-class v7, I
invoke-static {v7, v1}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;
move-result-object v1
check-cast v1, [[I
.line 18
sput-object v1, Lcom/google/zxing/a/a/e;->d:[[I
array-length v7, v1
const/4 v8, 0x0
:goto_ee
if-ge v8, v7, :cond_f9
aget-object v9, v1, v8
const/4 v10, -0x1
.line 19
invoke-static {v9, v10}, Ljava/util/Arrays;->fill([II)V
add-int/lit8 v8, v8, 0x1
goto :goto_ee
.line 20
:cond_f9
sget-object v1, Lcom/google/zxing/a/a/e;->d:[[I
aget-object v7, v1, v2
aput v2, v7, v6
.line 21
aget-object v7, v1, v3
aput v2, v7, v6
.line 22
aget-object v3, v1, v3
aput v0, v3, v2
.line 23
aget-object v0, v1, v5
aput v2, v0, v6
.line 24
aget-object v0, v1, v4
aput v2, v0, v6
.line 25
aget-object v0, v1, v4
const/16 v1, 0xf
aput v1, v0, v2
return-void
:array_116
.array-data 4
0x0
0x5001c
0x5001e
0x5001d
0xa03be
.end array-data
:array_124
.array-data 4
0x901ee
0x0
0x5001e
0x5001d
0xa03be
.end array-data
:array_132
.array-data 4
0x4000e
0x901dc
0x0
0x901dd
0xe3bbe
.end array-data
:array_140
.array-data 4
0x5001d
0x5001c
0xa03be
0x0
0x5001e
.end array-data
:array_14e
.array-data 4
0x5001f
0xa03fc
0xa03fe
0xa03fd
0x0
.end array-data
:array_15c
.array-data 4
0x0
0x20
0x1
0x2
0x3
0x4
0x5
0x6
0x7
0x8
0x9
0xa
0xb
0xc
0xd
0x1b
0x1c
0x1d
0x1e
0x1f
0x40
0x5c
0x5e
0x5f
0x60
0x7c
0x7e
0x7f
.end array-data
:array_198
.array-data 4
0x0
0xd
0x0
0x0
0x0
0x0
0x21
0x27
0x23
0x24
0x25
0x26
0x27
0x28
0x29
0x2a
0x2b
0x2c
0x2d
0x2e
0x2f
0x3a
0x3b
0x3c
0x3d
0x3e
0x3f
0x5b
0x5d
0x7b
0x7d
.end array-data
.end method
.method public constructor <init>([B)V
.registers 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/google/zxing/a/a/e;->e:[B
return-void
.end method
.method private static a(Ljava/lang/Iterable;)Ljava/util/Collection;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Iterable<",
"Lcom/google/zxing/a/a/g;",
">;)",
"Ljava/util/Collection<",
"Lcom/google/zxing/a/a/g;",
">;"
}
.end annotation
.line 40
new-instance v0, Ljava/util/LinkedList;
invoke-direct {v0}, Ljava/util/LinkedList;-><init>()V
.line 41
invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p0
:cond_9
:goto_9
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_3e
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/zxing/a/a/g;
const/4 v2, 0x1
.line 42
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
:cond_1a
:goto_1a
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_38
.line 43
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/google/zxing/a/a/g;
.line 44
invoke-virtual {v4, v1}, Lcom/google/zxing/a/a/g;->a(Lcom/google/zxing/a/a/g;)Z
move-result v5
if-eqz v5, :cond_2e
const/4 v2, 0x0
goto :goto_38
.line 45
:cond_2e
invoke-virtual {v1, v4}, Lcom/google/zxing/a/a/g;->a(Lcom/google/zxing/a/a/g;)Z
move-result v4
if-eqz v4, :cond_1a
.line 46
invoke-interface {v3}, Ljava/util/Iterator;->remove()V
goto :goto_1a
:cond_38
:goto_38
if-eqz v2, :cond_9
.line 47
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_9
:cond_3e
return-object v0
.end method
.method private a(Ljava/lang/Iterable;I)Ljava/util/Collection;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Iterable<",
"Lcom/google/zxing/a/a/g;",
">;I)",
"Ljava/util/Collection<",
"Lcom/google/zxing/a/a/g;",
">;"
}
.end annotation
.line 9
new-instance v0, Ljava/util/LinkedList;
invoke-direct {v0}, Ljava/util/LinkedList;-><init>()V
.line 10
invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_9
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_19
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/zxing/a/a/g;
.line 11
invoke-direct {p0, v1, p2, v0}, Lcom/google/zxing/a/a/e;->a(Lcom/google/zxing/a/a/g;ILjava/util/Collection;)V
goto :goto_9
.line 12
:cond_19
invoke-static {v0}, Lcom/google/zxing/a/a/e;->a(Ljava/lang/Iterable;)Ljava/util/Collection;
move-result-object p1
return-object p1
.end method
.method private static a(Ljava/lang/Iterable;II)Ljava/util/Collection;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Iterable<",
"Lcom/google/zxing/a/a/g;",
">;II)",
"Ljava/util/Collection<",
"Lcom/google/zxing/a/a/g;",
">;"
}
.end annotation
.line 26
new-instance v0, Ljava/util/LinkedList;
invoke-direct {v0}, Ljava/util/LinkedList;-><init>()V
.line 27
invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p0
:goto_9
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_19
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/zxing/a/a/g;
.line 28
invoke-static {v1, p1, p2, v0}, Lcom/google/zxing/a/a/e;->a(Lcom/google/zxing/a/a/g;IILjava/util/Collection;)V
goto :goto_9
.line 29
:cond_19
invoke-static {v0}, Lcom/google/zxing/a/a/e;->a(Ljava/lang/Iterable;)Ljava/util/Collection;
move-result-object p0
return-object p0
.end method
.method private static a(Lcom/google/zxing/a/a/g;IILjava/util/Collection;)V
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/zxing/a/a/g;",
"II",
"Ljava/util/Collection<",
"Lcom/google/zxing/a/a/g;",
">;)V"
}
.end annotation
.line 30
invoke-virtual {p0, p1}, Lcom/google/zxing/a/a/g;->b(I)Lcom/google/zxing/a/a/g;
move-result-object v0
const/4 v1, 0x4
.line 31
invoke-virtual {v0, v1, p2}, Lcom/google/zxing/a/a/g;->a(II)Lcom/google/zxing/a/a/g;
move-result-object v2
invoke-interface {p3, v2}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
.line 32
invoke-virtual {p0}, Lcom/google/zxing/a/a/g;->c()I
move-result v2
if-eq v2, v1, :cond_19
.line 33
invoke-virtual {v0, v1, p2}, Lcom/google/zxing/a/a/g;->b(II)Lcom/google/zxing/a/a/g;
move-result-object v2
invoke-interface {p3, v2}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
:cond_19
const/4 v2, 0x3
const/4 v3, 0x1
if-eq p2, v2, :cond_1f
if-ne p2, v1, :cond_2d
:cond_1f
rsub-int/lit8 p2, p2, 0x10
const/4 v1, 0x2
.line 34
invoke-virtual {v0, v1, p2}, Lcom/google/zxing/a/a/g;->a(II)Lcom/google/zxing/a/a/g;
move-result-object p2
.line 35
invoke-virtual {p2, v1, v3}, Lcom/google/zxing/a/a/g;->a(II)Lcom/google/zxing/a/a/g;
move-result-object p2
.line 36
invoke-interface {p3, p2}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
.line 37
:cond_2d
invoke-virtual {p0}, Lcom/google/zxing/a/a/g;->a()I
move-result p2
if-lez p2, :cond_3f
.line 38
invoke-virtual {p0, p1}, Lcom/google/zxing/a/a/g;->a(I)Lcom/google/zxing/a/a/g;
move-result-object p0
add-int/2addr p1, v3
invoke-virtual {p0, p1}, Lcom/google/zxing/a/a/g;->a(I)Lcom/google/zxing/a/a/g;
move-result-object p0
.line 39
invoke-interface {p3, p0}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
:cond_3f
return-void
.end method
.method private a(Lcom/google/zxing/a/a/g;ILjava/util/Collection;)V
.registers 11
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/zxing/a/a/g;",
"I",
"Ljava/util/Collection<",
"Lcom/google/zxing/a/a/g;",
">;)V"
}
.end annotation
.line 13
iget-object v0, p0, Lcom/google/zxing/a/a/e;->e:[B
aget-byte v0, v0, p2
and-int/lit16 v0, v0, 0xff
int-to-char v0, v0
.line 14
sget-object v1, Lcom/google/zxing/a/a/e;->c:[[I
invoke-virtual {p1}, Lcom/google/zxing/a/a/g;->c()I
move-result v2
aget-object v1, v1, v2
aget v1, v1, v0
const/4 v2, 0x0
if-lez v1, :cond_16
const/4 v1, 0x1
goto :goto_17
:cond_16
const/4 v1, 0x0
:goto_17
const/4 v3, 0x0
:goto_18
const/4 v4, 0x4
if-gt v2, v4, :cond_53
.line 15
sget-object v4, Lcom/google/zxing/a/a/e;->c:[[I
aget-object v4, v4, v2
aget v4, v4, v0
if-lez v4, :cond_50
if-nez v3, :cond_29
.line 16
invoke-virtual {p1, p2}, Lcom/google/zxing/a/a/g;->b(I)Lcom/google/zxing/a/a/g;
move-result-object v3
:cond_29
if-eqz v1, :cond_34
.line 17
invoke-virtual {p1}, Lcom/google/zxing/a/a/g;->c()I
move-result v5
if-eq v2, v5, :cond_34
const/4 v5, 0x2
if-ne v2, v5, :cond_3b
.line 18
:cond_34
invoke-virtual {v3, v2, v4}, Lcom/google/zxing/a/a/g;->a(II)Lcom/google/zxing/a/a/g;
move-result-object v5
.line 19
invoke-interface {p3, v5}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
:cond_3b
if-nez v1, :cond_50
.line 20
sget-object v5, Lcom/google/zxing/a/a/e;->d:[[I
invoke-virtual {p1}, Lcom/google/zxing/a/a/g;->c()I
move-result v6
aget-object v5, v5, v6
aget v5, v5, v2
if-ltz v5, :cond_50
.line 21
invoke-virtual {v3, v2, v4}, Lcom/google/zxing/a/a/g;->b(II)Lcom/google/zxing/a/a/g;
move-result-object v4
.line 22
invoke-interface {p3, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
:cond_50
add-int/lit8 v2, v2, 0x1
goto :goto_18
.line 23
:cond_53
invoke-virtual {p1}, Lcom/google/zxing/a/a/g;->a()I
move-result v1
if-gtz v1, :cond_65
sget-object v1, Lcom/google/zxing/a/a/e;->c:[[I
invoke-virtual {p1}, Lcom/google/zxing/a/a/g;->c()I
move-result v2
aget-object v1, v1, v2
aget v0, v1, v0
if-nez v0, :cond_6c
.line 24
:cond_65
invoke-virtual {p1, p2}, Lcom/google/zxing/a/a/g;->a(I)Lcom/google/zxing/a/a/g;
move-result-object p1
.line 25
invoke-interface {p3, p1}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
:cond_6c
return-void
.end method
# virtual methods
.method public a()Lcom/google/zxing/common/a;
.registers 9
.line 1
sget-object v0, Lcom/google/zxing/a/a/g;->a:Lcom/google/zxing/a/a/g;
invoke-static {v0}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
const/4 v1, 0x0
move-object v2, v0
const/4 v0, 0x0
.line 2
:goto_9
iget-object v3, p0, Lcom/google/zxing/a/a/e;->e:[B
array-length v4, v3
if-ge v0, v4, :cond_50
add-int/lit8 v4, v0, 0x1
.line 3
array-length v5, v3
if-ge v4, v5, :cond_16
aget-byte v3, v3, v4
goto :goto_17
:cond_16
const/4 v3, 0x0
.line 4
:goto_17
iget-object v5, p0, Lcom/google/zxing/a/a/e;->e:[B
aget-byte v5, v5, v0
const/16 v6, 0xd
if-eq v5, v6, :cond_3b
const/16 v6, 0x2c
const/16 v7, 0x20
if-eq v5, v6, :cond_37
const/16 v6, 0x2e
if-eq v5, v6, :cond_33
const/16 v6, 0x3a
if-eq v5, v6, :cond_2f
:cond_2d
const/4 v3, 0x0
goto :goto_40
:cond_2f
if-ne v3, v7, :cond_2d
const/4 v3, 0x5
goto :goto_40
:cond_33
if-ne v3, v7, :cond_2d
const/4 v3, 0x3
goto :goto_40
:cond_37
if-ne v3, v7, :cond_2d
const/4 v3, 0x4
goto :goto_40
:cond_3b
const/16 v5, 0xa
if-ne v3, v5, :cond_2d
const/4 v3, 0x2
:goto_40
if-lez v3, :cond_49
.line 5
invoke-static {v2, v0, v3}, Lcom/google/zxing/a/a/e;->a(Ljava/lang/Iterable;II)Ljava/util/Collection;
move-result-object v0
move-object v2, v0
move v0, v4
goto :goto_4d
.line 6
:cond_49
invoke-direct {p0, v2, v0}, Lcom/google/zxing/a/a/e;->a(Ljava/lang/Iterable;I)Ljava/util/Collection;
move-result-object v2
:goto_4d
add-int/lit8 v0, v0, 0x1
goto :goto_9
.line 7
:cond_50
new-instance v0, Lcom/google/zxing/a/a/d;
invoke-direct {v0, p0}, Lcom/google/zxing/a/a/d;-><init>(Lcom/google/zxing/a/a/e;)V
invoke-static {v2, v0}, Ljava/util/Collections;->min(Ljava/util/Collection;Ljava/util/Comparator;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/zxing/a/a/g;
.line 8
iget-object v1, p0, Lcom/google/zxing/a/a/e;->e:[B
invoke-virtual {v0, v1}, Lcom/google/zxing/a/a/g;->a([B)Lcom/google/zxing/common/a;
move-result-object v0
return-object v0
.end method