PhoneRule.smali
.class public Lim/tpelyyftgw/phoneformat/PhoneRule;
.super Ljava/lang/Object;
.source "PhoneRule.java"
# instance fields
.field public byte8:I
.field public desensitizationFormat:Ljava/lang/String;
.field public flag12:I
.field public flag13:I
.field public format:Ljava/lang/String;
.field public hasIntlPrefix:Z
.field public hasTrunkPrefix:Z
.field public maxLen:I
.field public maxVal:I
.field public minVal:I
.field public otherFlag:I
.field public prefixLen:I
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 27
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private handleDesensitizationSpecial(Ljava/lang/String;I)Ljava/lang/String;
.registers 9
.param p1, "str" # Ljava/lang/String;
.param p2, "type" # I
.line 178
const-string v0, ""
if-eqz p1, :cond_d6
.line 179
new-instance v1, Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v2
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(I)V
.line 180
.local v1, "res":Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v2
if-nez v2, :cond_14
.line 181
return-object v0
.line 182
:cond_14
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/4 v2, 0x1
if-ne v0, v2, :cond_1c
.line 183
return-object p1
.line 184
:cond_1c
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/4 v3, 0x2
if-ne v0, v3, :cond_2f
.line 185
if-ne p2, v2, :cond_28
const-string v0, "#*"
goto :goto_2e
:cond_28
if-ne p2, v3, :cond_2d
const-string v0, "*#"
goto :goto_2e
:cond_2d
move-object v0, p1
:goto_2e
return-object v0
.line 186
:cond_2f
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/4 v4, 0x3
if-ne v0, v4, :cond_43
.line 187
if-ne p2, v2, :cond_3b
const-string v0, "#**"
goto :goto_42
:cond_3b
if-ne p2, v3, :cond_40
const-string v0, "**#"
goto :goto_42
:cond_40
const-string v0, "#*#"
:goto_42
return-object v0
.line 188
:cond_43
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/4 v4, 0x4
if-ne v0, v4, :cond_57
.line 189
if-ne p2, v2, :cond_4f
const-string v0, "#***"
goto :goto_56
:cond_4f
if-ne p2, v3, :cond_54
const-string v0, "***#"
goto :goto_56
:cond_54
const-string v0, "#**#"
:goto_56
return-object v0
.line 190
:cond_57
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/4 v5, 0x5
if-ne v0, v5, :cond_6b
.line 191
if-ne p2, v2, :cond_63
const-string v0, "##***"
goto :goto_6a
:cond_63
if-ne p2, v3, :cond_68
const-string v0, "***##"
goto :goto_6a
:cond_68
const-string v0, "#***#"
:goto_6a
return-object v0
.line 192
:cond_6b
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/4 v5, 0x6
if-ne v0, v5, :cond_7f
.line 193
if-ne p2, v2, :cond_77
const-string v0, "##****"
goto :goto_7e
:cond_77
if-ne p2, v3, :cond_7c
const-string v0, "****##"
goto :goto_7e
:cond_7c
const-string v0, "#****#"
:goto_7e
return-object v0
.line 194
:cond_7f
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/4 v5, 0x7
if-ne v0, v5, :cond_93
.line 195
if-ne p2, v2, :cond_8b
const-string v0, "###****"
goto :goto_92
:cond_8b
if-ne p2, v3, :cond_90
const-string v0, "****###"
goto :goto_92
:cond_90
const-string v0, "##****#"
:goto_92
return-object v0
.line 197
:cond_93
const-string v0, "####"
const-string v5, "*"
if-ne p2, v2, :cond_aa
.line 198
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 199
const/4 v0, 0x4
.local v0, "i":I
:goto_9d
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v2
if-ge v0, v2, :cond_a9
.line 200
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 199
add-int/lit8 v0, v0, 0x1
goto :goto_9d
.end local v0 # "i":I
:cond_a9
goto :goto_d1
.line 202
:cond_aa
if-ne p2, v3, :cond_be
.line 203
const/4 v2, 0x0
.local v2, "i":I
:goto_ad
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v3
sub-int/2addr v3, v4
if-ge v2, v3, :cond_ba
.line 204
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 203
add-int/lit8 v2, v2, 0x1
goto :goto_ad
.line 206
.end local v2 # "i":I
:cond_ba
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_d1
.line 208
:cond_be
const-string v0, "##"
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 209
const/4 v0, 0x2
.restart local v0 # "i":I
:goto_c4
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v2
sub-int/2addr v2, v3
if-ge v0, v2, :cond_d1
.line 210
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 209
add-int/lit8 v0, v0, 0x1
goto :goto_c4
.line 213
.end local v0 # "i":I
:cond_d1
:goto_d1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.line 216
.end local v1 # "res":Ljava/lang/StringBuilder;
:cond_d6
return-object v0
.end method
# virtual methods
.method desensitization(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 20
.param p1, "str" # Ljava/lang/String;
.param p2, "intlPrefix" # Ljava/lang/String;
.param p3, "trunkPrefix" # Ljava/lang/String;
.line 96
move-object/from16 v0, p0
move-object/from16 v1, p2
move-object/from16 v2, p3
iget-object v3, v0, Lim/tpelyyftgw/phoneformat/PhoneRule;->desensitizationFormat:Ljava/lang/String;
const/4 v4, 0x0
const/4 v5, 0x1
if-nez v3, :cond_6e
.line 97
iget-object v3, v0, Lim/tpelyyftgw/phoneformat/PhoneRule;->format:Ljava/lang/String;
if-eqz v3, :cond_6e
.line 98
new-instance v6, Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v3
invoke-direct {v6, v3}, Ljava/lang/StringBuilder;-><init>(I)V
move-object v3, v6
.line 99
.local v3, "dres":Ljava/lang/StringBuilder;
iget-object v6, v0, Lim/tpelyyftgw/phoneformat/PhoneRule;->format:Ljava/lang/String;
const-string v7, "-"
invoke-virtual {v6, v7}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v6
.line 100
.local v6, "arrs":[Ljava/lang/String;
array-length v7, v6
if-ne v7, v5, :cond_30
.line 101
aget-object v7, v6, v4
const/4 v8, 0x3
invoke-direct {v0, v7, v8}, Lim/tpelyyftgw/phoneformat/PhoneRule;->handleDesensitizationSpecial(Ljava/lang/String;I)Ljava/lang/String;
move-result-object v7
invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_68
.line 103
:cond_30
array-length v7, v6
const/4 v8, 0x2
if-ne v7, v8, :cond_43
.line 104
aget-object v7, v6, v4
invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 105
aget-object v7, v6, v5
invoke-direct {v0, v7, v8}, Lim/tpelyyftgw/phoneformat/PhoneRule;->handleDesensitizationSpecial(Ljava/lang/String;I)Ljava/lang/String;
move-result-object v7
invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_68
.line 107
:cond_43
aget-object v7, v6, v4
invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 108
const/4 v7, 0x1
.local v7, "i":I
:goto_49
array-length v8, v6
sub-int/2addr v8, v5
if-ge v7, v8, :cond_61
.line 109
aget-object v8, v6, v7
.line 110
.local v8, "e":Ljava/lang/String;
const/4 v9, 0x0
.local v9, "j":I
:goto_50
invoke-virtual {v8}, Ljava/lang/String;->length()I
move-result v10
if-ge v9, v10, :cond_5e
.line 111
const-string v10, "*"
invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 110
add-int/lit8 v9, v9, 0x1
goto :goto_50
.line 108
.end local v8 # "e":Ljava/lang/String;
.end local v9 # "j":I
:cond_5e
add-int/lit8 v7, v7, 0x1
goto :goto_49
.line 114
.end local v7 # "i":I
:cond_61
array-length v7, v6
sub-int/2addr v7, v5
aget-object v7, v6, v7
invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 117
:goto_68
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
iput-object v7, v0, Lim/tpelyyftgw/phoneformat/PhoneRule;->desensitizationFormat:Ljava/lang/String;
.line 121
.end local v3 # "dres":Ljava/lang/StringBuilder;
.end local v6 # "arrs":[Ljava/lang/String;
:cond_6e
const/4 v3, 0x0
.line 122
.local v3, "hadC":Z
const/4 v6, 0x0
.line 123
.local v6, "hadN":Z
const/4 v7, 0x0
.line 124
.local v7, "hasOpen":Z
const/4 v8, 0x0
.line 125
.local v8, "spot":I
new-instance v9, Ljava/lang/StringBuilder;
const/16 v10, 0x14
invoke-direct {v9, v10}, Ljava/lang/StringBuilder;-><init>(I)V
.line 126
.local v9, "res":Ljava/lang/StringBuilder;
const/4 v10, 0x0
.local v10, "i":I
:goto_7a
iget-object v11, v0, Lim/tpelyyftgw/phoneformat/PhoneRule;->desensitizationFormat:Ljava/lang/String;
invoke-virtual {v11}, Ljava/lang/String;->length()I
move-result v11
if-ge v10, v11, :cond_10c
.line 127
iget-object v11, v0, Lim/tpelyyftgw/phoneformat/PhoneRule;->desensitizationFormat:Ljava/lang/String;
invoke-virtual {v11, v10}, Ljava/lang/String;->charAt(I)C
move-result v11
.line 128
.local v11, "ch":C
const/16 v12, 0x23
if-eq v11, v12, :cond_eb
const/16 v12, 0x28
const/16 v13, 0x6e
const/16 v14, 0x63
if-eq v11, v12, :cond_a9
if-eq v11, v14, :cond_a0
if-eq v11, v13, :cond_99
goto :goto_b0
.line 136
:cond_99
const/4 v6, 0x1
.line 137
if-eqz v2, :cond_a6
.line 138
invoke-virtual {v9, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_a6
.line 130
:cond_a0
const/4 v3, 0x1
.line 131
if-eqz v1, :cond_a6
.line 132
invoke-virtual {v9, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 126
.end local v11 # "ch":C
:cond_a6
:goto_a6
move-object/from16 v13, p1
goto :goto_108
.line 150
.restart local v11 # "ch":C
:cond_a9
invoke-virtual/range {p1 .. p1}, Ljava/lang/String;->length()I
move-result v12
if-ge v8, v12, :cond_b0
.line 151
const/4 v7, 0x1
.line 154
:cond_b0
:goto_b0
const/16 v12, 0x20
if-ne v11, v12, :cond_ce
if-lez v10, :cond_ce
iget-object v12, v0, Lim/tpelyyftgw/phoneformat/PhoneRule;->format:Ljava/lang/String;
add-int/lit8 v15, v10, -0x1
invoke-virtual {v12, v15}, Ljava/lang/String;->charAt(I)C
move-result v12
if-ne v12, v13, :cond_c2
if-eqz v2, :cond_a6
:cond_c2
iget-object v12, v0, Lim/tpelyyftgw/phoneformat/PhoneRule;->format:Ljava/lang/String;
add-int/lit8 v13, v10, -0x1
invoke-virtual {v12, v13}, Ljava/lang/String;->charAt(I)C
move-result v12
if-ne v12, v14, :cond_ce
if-eqz v1, :cond_a6
.line 155
:cond_ce
invoke-virtual/range {p1 .. p1}, Ljava/lang/String;->length()I
move-result v12
const/16 v13, 0x29
if-lt v8, v12, :cond_da
if-eqz v7, :cond_a6
if-ne v11, v13, :cond_a6
.line 156
:cond_da
iget-object v12, v0, Lim/tpelyyftgw/phoneformat/PhoneRule;->desensitizationFormat:Ljava/lang/String;
add-int/lit8 v14, v10, 0x1
invoke-virtual {v12, v10, v14}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v12
invoke-virtual {v9, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 157
if-ne v11, v13, :cond_a6
.line 158
const/4 v7, 0x0
move-object/from16 v13, p1
goto :goto_108
.line 142
:cond_eb
invoke-virtual/range {p1 .. p1}, Ljava/lang/String;->length()I
move-result v12
if-ge v8, v12, :cond_ff
.line 143
add-int/lit8 v12, v8, 0x1
move-object/from16 v13, p1
invoke-virtual {v13, v8, v12}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v12
invoke-virtual {v9, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 144
add-int/lit8 v8, v8, 0x1
goto :goto_108
.line 145
:cond_ff
move-object/from16 v13, p1
if-eqz v7, :cond_108
.line 146
const-string v12, " "
invoke-virtual {v9, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 126
.end local v11 # "ch":C
:cond_108
:goto_108
add-int/lit8 v10, v10, 0x1
goto/16 :goto_7a
:cond_10c
move-object/from16 v13, p1
.line 165
.end local v10 # "i":I
if-eqz v1, :cond_120
if-nez v3, :cond_120
.line 166
new-array v5, v5, [Ljava/lang/Object;
aput-object v1, v5, v4
const-string v10, "%s "
invoke-static {v10, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v5
invoke-virtual {v9, v4, v5}, Ljava/lang/StringBuilder;->insert(ILjava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_127
.line 167
:cond_120
if-eqz v2, :cond_127
if-nez v6, :cond_127
.line 168
invoke-virtual {v9, v4, v2}, Ljava/lang/StringBuilder;->insert(ILjava/lang/String;)Ljava/lang/StringBuilder;
.line 170
:cond_127
:goto_127
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
return-object v4
.end method
.method format(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 15
.param p1, "str" # Ljava/lang/String;
.param p2, "intlPrefix" # Ljava/lang/String;
.param p3, "trunkPrefix" # Ljava/lang/String;
.line 42
const/4 v0, 0x0
.line 43
.local v0, "hadC":Z
const/4 v1, 0x0
.line 44
.local v1, "hadN":Z
const/4 v2, 0x0
.line 45
.local v2, "hasOpen":Z
const/4 v3, 0x0
.line 46
.local v3, "spot":I
new-instance v4, Ljava/lang/StringBuilder;
const/16 v5, 0x14
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(I)V
.line 47
.local v4, "res":Ljava/lang/StringBuilder;
const/4 v5, 0x0
.local v5, "i":I
:goto_c
iget-object v6, p0, Lim/tpelyyftgw/phoneformat/PhoneRule;->format:Ljava/lang/String;
invoke-virtual {v6}, Ljava/lang/String;->length()I
move-result v6
if-ge v5, v6, :cond_96
.line 48
iget-object v6, p0, Lim/tpelyyftgw/phoneformat/PhoneRule;->format:Ljava/lang/String;
invoke-virtual {v6, v5}, Ljava/lang/String;->charAt(I)C
move-result v6
.line 49
.local v6, "ch":C
const/16 v7, 0x23
if-eq v6, v7, :cond_79
const/16 v7, 0x28
const/16 v8, 0x6e
const/16 v9, 0x63
if-eq v6, v7, :cond_39
if-eq v6, v9, :cond_32
if-eq v6, v8, :cond_2b
goto :goto_40
.line 57
:cond_2b
const/4 v1, 0x1
.line 58
if-eqz p3, :cond_92
.line 59
invoke-virtual {v4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_92
.line 51
:cond_32
const/4 v0, 0x1
.line 52
if-eqz p2, :cond_92
.line 53
invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_92
.line 71
:cond_39
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v7
if-ge v3, v7, :cond_40
.line 72
const/4 v2, 0x1
.line 75
:cond_40
:goto_40
const/16 v7, 0x20
if-ne v6, v7, :cond_5e
if-lez v5, :cond_5e
iget-object v7, p0, Lim/tpelyyftgw/phoneformat/PhoneRule;->format:Ljava/lang/String;
add-int/lit8 v10, v5, -0x1
invoke-virtual {v7, v10}, Ljava/lang/String;->charAt(I)C
move-result v7
if-ne v7, v8, :cond_52
if-eqz p3, :cond_92
:cond_52
iget-object v7, p0, Lim/tpelyyftgw/phoneformat/PhoneRule;->format:Ljava/lang/String;
add-int/lit8 v8, v5, -0x1
invoke-virtual {v7, v8}, Ljava/lang/String;->charAt(I)C
move-result v7
if-ne v7, v9, :cond_5e
if-eqz p2, :cond_92
.line 76
:cond_5e
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v7
const/16 v8, 0x29
if-lt v3, v7, :cond_6a
if-eqz v2, :cond_92
if-ne v6, v8, :cond_92
.line 77
:cond_6a
iget-object v7, p0, Lim/tpelyyftgw/phoneformat/PhoneRule;->format:Ljava/lang/String;
add-int/lit8 v9, v5, 0x1
invoke-virtual {v7, v5, v9}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v7
invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 78
if-ne v6, v8, :cond_92
.line 79
const/4 v2, 0x0
goto :goto_92
.line 63
:cond_79
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v7
if-ge v3, v7, :cond_8b
.line 64
add-int/lit8 v7, v3, 0x1
invoke-virtual {p1, v3, v7}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v7
invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 65
add-int/lit8 v3, v3, 0x1
goto :goto_92
.line 66
:cond_8b
if-eqz v2, :cond_92
.line 67
const-string v7, " "
invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 47
.end local v6 # "ch":C
:cond_92
:goto_92
add-int/lit8 v5, v5, 0x1
goto/16 :goto_c
.line 86
.end local v5 # "i":I
:cond_96
const/4 v5, 0x0
if-eqz p2, :cond_aa
if-nez v0, :cond_aa
.line 87
const/4 v6, 0x1
new-array v6, v6, [Ljava/lang/Object;
aput-object p2, v6, v5
const-string v7, "%s "
invoke-static {v7, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v6
invoke-virtual {v4, v5, v6}, Ljava/lang/StringBuilder;->insert(ILjava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_b1
.line 88
:cond_aa
if-eqz p3, :cond_b1
if-nez v1, :cond_b1
.line 89
invoke-virtual {v4, v5, p3}, Ljava/lang/StringBuilder;->insert(ILjava/lang/String;)Ljava/lang/StringBuilder;
.line 92
:cond_b1
:goto_b1
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
return-object v5
.end method
.method hasIntlPrefix()Z
.registers 2
.line 220
iget v0, p0, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v0, v0, 0x2
if-eqz v0, :cond_8
const/4 v0, 0x1
goto :goto_9
:cond_8
const/4 v0, 0x0
:goto_9
return v0
.end method
.method hasTrunkPrefix()Z
.registers 3
.line 224
iget v0, p0, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
const/4 v1, 0x1
and-int/2addr v0, v1
if-eqz v0, :cond_7
goto :goto_8
:cond_7
const/4 v1, 0x0
:goto_8
return v1
.end method