j.smali
.class public final Lcom/google/zxing/common/j;
.super Ljava/lang/Object;
.source "StringUtils.java"
# static fields
.field private static final bpa:Ljava/lang/String;
.field private static final bpb:Z
# direct methods
.method static constructor <clinit>()V
.registers 2
.prologue
.line 32
invoke-static {}, Ljava/nio/charset/Charset;->defaultCharset()Ljava/nio/charset/Charset;
move-result-object v0
invoke-virtual {v0}, Ljava/nio/charset/Charset;->name()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/google/zxing/common/j;->bpa:Ljava/lang/String;
.line 38
const-string v0, "SJIS"
sget-object v1, Lcom/google/zxing/common/j;->bpa:Ljava/lang/String;
.line 39
invoke-virtual {v0, v1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_1e
const-string v0, "EUC_JP"
sget-object v1, Lcom/google/zxing/common/j;->bpa:Ljava/lang/String;
.line 40
invoke-virtual {v0, v1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_22
:cond_1e
const/4 v0, 0x1
:goto_1f
sput-boolean v0, Lcom/google/zxing/common/j;->bpb:Z
.line 38
return-void
.line 40
:cond_22
const/4 v0, 0x0
goto :goto_1f
.end method
.method public static a([BLjava/util/Map;)Ljava/lang/String;
.registers 25
.annotation system Ldalvik/annotation/Signature;
value = {
"([B",
"Ljava/util/Map",
"<",
"Lcom/google/zxing/DecodeHintType;",
"*>;)",
"Ljava/lang/String;"
}
.end annotation
.prologue
.line 52
if-eqz p1, :cond_19
sget-object v2, Lcom/google/zxing/DecodeHintType;->CHARACTER_SET:Lcom/google/zxing/DecodeHintType;
move-object/from16 v0, p1
invoke-interface {v0, v2}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_19
.line 53
sget-object v2, Lcom/google/zxing/DecodeHintType;->CHARACTER_SET:Lcom/google/zxing/DecodeHintType;
move-object/from16 v0, p1
invoke-interface {v0, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v2
.line 194
:goto_18
return-object v2
.line 57
:cond_19
move-object/from16 v0, p0
array-length v0, v0
move/from16 v20, v0
.line 58
const/4 v13, 0x1
.line 59
const/4 v10, 0x1
.line 60
const/4 v11, 0x1
.line 61
const/16 v17, 0x0
.line 62
const/16 v16, 0x0
.line 63
const/4 v15, 0x0
.line 64
const/4 v14, 0x0
.line 65
const/4 v9, 0x0
.line 66
const/4 v8, 0x0
.line 67
const/4 v7, 0x0
.line 68
const/4 v6, 0x0
.line 69
const/4 v5, 0x0
.line 70
const/4 v4, 0x0
.line 71
const/4 v12, 0x0
.line 73
move-object/from16 v0, p0
array-length v2, v0
const/4 v3, 0x3
if-le v2, v3, :cond_b9
const/4 v2, 0x0
aget-byte v2, p0, v2
const/16 v3, -0x11
if-ne v2, v3, :cond_b9
const/4 v2, 0x1
aget-byte v2, p0, v2
const/16 v3, -0x45
if-ne v2, v3, :cond_b9
const/4 v2, 0x2
aget-byte v2, p0, v2
const/16 v3, -0x41
if-ne v2, v3, :cond_b9
const/4 v2, 0x1
.line 78
:goto_4a
const/4 v3, 0x0
move/from16 v19, v3
move/from16 v3, v17
.line 79
:goto_4f
move/from16 v0, v19
move/from16 v1, v20
if-ge v0, v1, :cond_17e
if-nez v13, :cond_5b
if-nez v10, :cond_5b
if-eqz v11, :cond_17e
.line 82
:cond_5b
aget-byte v17, p0, v19
move/from16 v0, v17
and-int/lit16 v0, v0, 0xff
move/from16 v21, v0
.line 85
if-eqz v11, :cond_1fa
.line 86
if-lez v3, :cond_bb
.line 87
move/from16 v0, v21
and-int/lit16 v0, v0, 0x80
move/from16 v17, v0
if-eqz v17, :cond_ed
.line 90
add-int/lit8 v3, v3, -0x1
move/from16 v17, v3
move/from16 v18, v11
.line 117
:goto_75
if-eqz v13, :cond_1f6
.line 118
const/16 v3, 0x7f
move/from16 v0, v21
if-le v0, v3, :cond_f3
const/16 v3, 0xa0
move/from16 v0, v21
if-ge v0, v3, :cond_f3
.line 119
const/4 v3, 0x0
move v11, v12
move v12, v3
.line 126
:goto_86
if-eqz v10, :cond_1ed
.line 127
if-lez v9, :cond_11e
.line 128
const/16 v3, 0x40
move/from16 v0, v21
if-lt v0, v3, :cond_9c
const/16 v3, 0x7f
move/from16 v0, v21
if-eq v0, v3, :cond_9c
const/16 v3, 0xfc
move/from16 v0, v21
if-le v0, v3, :cond_111
.line 129
:cond_9c
const/4 v3, 0x0
move/from16 v22, v4
move v4, v5
move v5, v6
move v6, v7
move v7, v8
move v8, v9
move v9, v3
move/from16 v3, v22
.line 80
:goto_a7
add-int/lit8 v10, v19, 0x1
move/from16 v19, v10
move v13, v12
move v10, v9
move v12, v11
move v9, v8
move/from16 v11, v18
move v8, v7
move v7, v6
move v6, v5
move v5, v4
move v4, v3
move/from16 v3, v17
goto :goto_4f
.line 73
:cond_b9
const/4 v2, 0x0
goto :goto_4a
.line 92
:cond_bb
move/from16 v0, v21
and-int/lit16 v0, v0, 0x80
move/from16 v17, v0
if-eqz v17, :cond_1fa
.line 93
and-int/lit8 v17, v21, 0x40
if-eqz v17, :cond_ed
.line 96
add-int/lit8 v17, v3, 0x1
.line 97
and-int/lit8 v3, v21, 0x20
if-nez v3, :cond_d4
.line 98
add-int/lit8 v3, v16, 0x1
move/from16 v16, v3
move/from16 v18, v11
goto :goto_75
.line 100
:cond_d4
add-int/lit8 v17, v17, 0x1
.line 101
and-int/lit8 v3, v21, 0x10
if-nez v3, :cond_e0
.line 102
add-int/lit8 v3, v15, 0x1
move v15, v3
move/from16 v18, v11
goto :goto_75
.line 104
:cond_e0
add-int/lit8 v3, v17, 0x1
.line 105
and-int/lit8 v17, v21, 0x8
if-nez v17, :cond_ed
.line 106
add-int/lit8 v14, v14, 0x1
move/from16 v17, v3
move/from16 v18, v11
goto :goto_75
.line 108
:cond_ed
const/4 v11, 0x0
move/from16 v17, v3
move/from16 v18, v11
goto :goto_75
.line 120
:cond_f3
const/16 v3, 0x9f
move/from16 v0, v21
if-le v0, v3, :cond_1f6
const/16 v3, 0xc0
move/from16 v0, v21
if-lt v0, v3, :cond_10b
const/16 v3, 0xd7
move/from16 v0, v21
if-eq v0, v3, :cond_10b
const/16 v3, 0xf7
move/from16 v0, v21
if-ne v0, v3, :cond_1f6
.line 121
:cond_10b
add-int/lit8 v3, v12, 0x1
move v11, v3
move v12, v13
goto/16 :goto_86
.line 131
:cond_111
add-int/lit8 v3, v9, -0x1
move v9, v10
move/from16 v22, v5
move v5, v6
move v6, v7
move v7, v8
move v8, v3
move v3, v4
move/from16 v4, v22
goto :goto_a7
.line 133
:cond_11e
const/16 v3, 0x80
move/from16 v0, v21
if-eq v0, v3, :cond_130
const/16 v3, 0xa0
move/from16 v0, v21
if-eq v0, v3, :cond_130
const/16 v3, 0xef
move/from16 v0, v21
if-le v0, v3, :cond_13d
.line 134
:cond_130
const/4 v3, 0x0
move/from16 v22, v4
move v4, v5
move v5, v6
move v6, v7
move v7, v8
move v8, v9
move v9, v3
move/from16 v3, v22
goto/16 :goto_a7
.line 135
:cond_13d
const/16 v3, 0xa0
move/from16 v0, v21
if-le v0, v3, :cond_15c
const/16 v3, 0xe0
move/from16 v0, v21
if-ge v0, v3, :cond_15c
.line 136
add-int/lit8 v8, v8, 0x1
.line 137
const/4 v6, 0x0
.line 138
add-int/lit8 v3, v7, 0x1
.line 139
if-le v3, v5, :cond_1e1
move v5, v6
move v7, v8
move v6, v3
move v8, v9
move v9, v10
move/from16 v22, v4
move v4, v3
move/from16 v3, v22
.line 140
goto/16 :goto_a7
.line 142
:cond_15c
const/16 v3, 0x7f
move/from16 v0, v21
if-le v0, v3, :cond_171
.line 143
add-int/lit8 v9, v9, 0x1
.line 145
const/4 v7, 0x0
.line 146
add-int/lit8 v3, v6, 0x1
.line 147
if-le v3, v4, :cond_1d5
move v4, v5
move v6, v7
move v5, v3
move v7, v8
move v8, v9
move v9, v10
.line 148
goto/16 :goto_a7
.line 152
:cond_171
const/4 v6, 0x0
.line 153
const/4 v3, 0x0
move v7, v8
move v8, v9
move v9, v10
move/from16 v22, v4
move v4, v5
move v5, v3
move/from16 v3, v22
goto/16 :goto_a7
.line 158
:cond_17e
if-eqz v11, :cond_1d3
if-lez v3, :cond_1d3
.line 159
const/4 v3, 0x0
.line 161
:goto_183
if-eqz v10, :cond_188
if-lez v9, :cond_188
.line 162
const/4 v10, 0x0
.line 166
:cond_188
if-eqz v3, :cond_195
if-nez v2, :cond_191
add-int v2, v16, v15
add-int/2addr v2, v14
if-lez v2, :cond_195
.line 167
:cond_191
const-string v2, "UTF8"
goto/16 :goto_18
.line 170
:cond_195
if-eqz v10, :cond_1a5
sget-boolean v2, Lcom/google/zxing/common/j;->bpb:Z
if-nez v2, :cond_1a1
const/4 v2, 0x3
if-ge v5, v2, :cond_1a1
const/4 v2, 0x3
if-lt v4, v2, :cond_1a5
.line 171
:cond_1a1
const-string v2, "SJIS"
goto/16 :goto_18
.line 178
:cond_1a5
if-eqz v13, :cond_1bd
if-eqz v10, :cond_1bd
.line 179
const/4 v2, 0x2
if-ne v5, v2, :cond_1af
const/4 v2, 0x2
if-eq v8, v2, :cond_1b5
:cond_1af
mul-int/lit8 v2, v12, 0xa
move/from16 v0, v20
if-lt v2, v0, :cond_1b9
:cond_1b5
const-string v2, "SJIS"
goto/16 :goto_18
:cond_1b9
const-string v2, "ISO8859_1"
goto/16 :goto_18
.line 184
:cond_1bd
if-eqz v13, :cond_1c3
.line 185
const-string v2, "ISO8859_1"
goto/16 :goto_18
.line 187
:cond_1c3
if-eqz v10, :cond_1c9
.line 188
const-string v2, "SJIS"
goto/16 :goto_18
.line 190
:cond_1c9
if-eqz v3, :cond_1cf
.line 191
const-string v2, "UTF8"
goto/16 :goto_18
.line 194
:cond_1cf
sget-object v2, Lcom/google/zxing/common/j;->bpa:Ljava/lang/String;
goto/16 :goto_18
:cond_1d3
move v3, v11
goto :goto_183
:cond_1d5
move v6, v7
move v7, v8
move v8, v9
move v9, v10
move/from16 v22, v5
move v5, v3
move v3, v4
move/from16 v4, v22
goto/16 :goto_a7
:cond_1e1
move v7, v8
move v8, v9
move v9, v10
move/from16 v22, v3
move v3, v4
move v4, v5
move v5, v6
move/from16 v6, v22
goto/16 :goto_a7
:cond_1ed
move v3, v4
move v4, v5
move v5, v6
move v6, v7
move v7, v8
move v8, v9
move v9, v10
goto/16 :goto_a7
:cond_1f6
move v11, v12
move v12, v13
goto/16 :goto_86
:cond_1fa
move/from16 v17, v3
move/from16 v18, v11
goto/16 :goto_75
.end method