RuleSet.smali
.class public Lim/tpelyyftgw/phoneformat/RuleSet;
.super Ljava/lang/Object;
.source "RuleSet.java"
# static fields
.field public static pattern:Ljava/util/regex/Pattern;
# instance fields
.field public hasRuleWithIntlPrefix:Z
.field public hasRuleWithTrunkPrefix:Z
.field public matchLen:I
.field public rules:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Lim/tpelyyftgw/phoneformat/PhoneRule;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 36
const-string v0, "[0-9]+"
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lim/tpelyyftgw/phoneformat/RuleSet;->pattern:Ljava/util/regex/Pattern;
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 31
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 33
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/phoneformat/RuleSet;->rules:Ljava/util/ArrayList;
return-void
.end method
# virtual methods
.method desensitization(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
.registers 13
.param p1, "str" # Ljava/lang/String;
.param p2, "intlPrefix" # Ljava/lang/String;
.param p3, "trunkPrefix" # Ljava/lang/String;
.param p4, "prefixRequired" # Z
.line 90
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
iget v1, p0, Lim/tpelyyftgw/phoneformat/RuleSet;->matchLen:I
const/4 v2, 0x0
if-lt v0, v1, :cond_e8
.line 91
const/4 v0, 0x0
invoke-virtual {p1, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v1
.line 93
.local v1, "begin":Ljava/lang/String;
const/4 v3, 0x0
.line 94
.local v3, "val":I
sget-object v4, Lim/tpelyyftgw/phoneformat/RuleSet;->pattern:Ljava/util/regex/Pattern;
invoke-virtual {v4, v1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v4
.line 95
.local v4, "matcher":Ljava/util/regex/Matcher;
invoke-virtual {v4}, Ljava/util/regex/Matcher;->find()Z
move-result v5
if-eqz v5, :cond_23
.line 96
invoke-virtual {v4, v0}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v0
.line 97
.local v0, "num":Ljava/lang/String;
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v3
.line 100
.end local v0 # "num":Ljava/lang/String;
:cond_23
iget-object v0, p0, Lim/tpelyyftgw/phoneformat/RuleSet;->rules:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_29
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_80
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Lim/tpelyyftgw/phoneformat/PhoneRule;
.line 101
.local v5, "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->minVal:I
if-lt v3, v6, :cond_7f
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxVal:I
if-gt v3, v6, :cond_7f
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v6
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxLen:I
if-gt v6, v7, :cond_7f
.line 102
if-eqz p4, :cond_66
.line 103
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v6, v6, 0x3
if-nez v6, :cond_51
if-nez p3, :cond_51
if-eqz p2, :cond_61
:cond_51
if-eqz p3, :cond_59
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v6, v6, 0x1
if-nez v6, :cond_61
:cond_59
if-eqz p2, :cond_7f
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v6, v6, 0x2
if-eqz v6, :cond_7f
.line 104
:cond_61
invoke-virtual {v5, p1, p2, p3}, Lim/tpelyyftgw/phoneformat/PhoneRule;->desensitization(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.line 107
:cond_66
if-nez p3, :cond_6a
if-eqz p2, :cond_7a
:cond_6a
if-eqz p3, :cond_72
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v6, v6, 0x1
if-nez v6, :cond_7a
:cond_72
if-eqz p2, :cond_7f
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v6, v6, 0x2
if-eqz v6, :cond_7f
.line 108
:cond_7a
invoke-virtual {v5, p1, p2, p3}, Lim/tpelyyftgw/phoneformat/PhoneRule;->desensitization(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.line 112
.end local v5 # "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
:cond_7f
goto :goto_29
.line 114
:cond_80
if-nez p4, :cond_e7
.line 115
if-eqz p2, :cond_b5
.line 116
iget-object v0, p0, Lim/tpelyyftgw/phoneformat/RuleSet;->rules:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_8a
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_b4
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Lim/tpelyyftgw/phoneformat/PhoneRule;
.line 117
.restart local v5 # "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->minVal:I
if-lt v3, v6, :cond_b3
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxVal:I
if-gt v3, v6, :cond_b3
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v6
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxLen:I
if-gt v6, v7, :cond_b3
.line 118
if-eqz p3, :cond_ae
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v6, v6, 0x1
if-eqz v6, :cond_b3
.line 119
:cond_ae
invoke-virtual {v5, p1, p2, p3}, Lim/tpelyyftgw/phoneformat/PhoneRule;->desensitization(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.line 122
.end local v5 # "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
:cond_b3
goto :goto_8a
:cond_b4
goto :goto_e7
.line 123
:cond_b5
if-eqz p3, :cond_e7
.line 124
iget-object v0, p0, Lim/tpelyyftgw/phoneformat/RuleSet;->rules:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_bd
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_e7
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Lim/tpelyyftgw/phoneformat/PhoneRule;
.line 125
.restart local v5 # "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->minVal:I
if-lt v3, v6, :cond_e6
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxVal:I
if-gt v3, v6, :cond_e6
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v6
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxLen:I
if-gt v6, v7, :cond_e6
.line 126
if-eqz p2, :cond_e1
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v6, v6, 0x2
if-eqz v6, :cond_e6
.line 127
:cond_e1
invoke-virtual {v5, p1, p2, p3}, Lim/tpelyyftgw/phoneformat/PhoneRule;->desensitization(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.line 130
.end local v5 # "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
:cond_e6
goto :goto_bd
.line 134
:cond_e7
:goto_e7
return-object v2
.line 136
.end local v1 # "begin":Ljava/lang/String;
.end local v3 # "val":I
.end local v4 # "matcher":Ljava/util/regex/Matcher;
:cond_e8
return-object v2
.end method
.method format(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
.registers 13
.param p1, "str" # Ljava/lang/String;
.param p2, "intlPrefix" # Ljava/lang/String;
.param p3, "trunkPrefix" # Ljava/lang/String;
.param p4, "prefixRequired" # Z
.line 39
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
iget v1, p0, Lim/tpelyyftgw/phoneformat/RuleSet;->matchLen:I
const/4 v2, 0x0
if-lt v0, v1, :cond_e8
.line 40
const/4 v0, 0x0
invoke-virtual {p1, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v1
.line 42
.local v1, "begin":Ljava/lang/String;
const/4 v3, 0x0
.line 43
.local v3, "val":I
sget-object v4, Lim/tpelyyftgw/phoneformat/RuleSet;->pattern:Ljava/util/regex/Pattern;
invoke-virtual {v4, v1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v4
.line 44
.local v4, "matcher":Ljava/util/regex/Matcher;
invoke-virtual {v4}, Ljava/util/regex/Matcher;->find()Z
move-result v5
if-eqz v5, :cond_23
.line 45
invoke-virtual {v4, v0}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v0
.line 46
.local v0, "num":Ljava/lang/String;
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v3
.line 49
.end local v0 # "num":Ljava/lang/String;
:cond_23
iget-object v0, p0, Lim/tpelyyftgw/phoneformat/RuleSet;->rules:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_29
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_80
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Lim/tpelyyftgw/phoneformat/PhoneRule;
.line 50
.local v5, "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->minVal:I
if-lt v3, v6, :cond_7f
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxVal:I
if-gt v3, v6, :cond_7f
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v6
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxLen:I
if-gt v6, v7, :cond_7f
.line 51
if-eqz p4, :cond_66
.line 52
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v6, v6, 0x3
if-nez v6, :cond_51
if-nez p3, :cond_51
if-eqz p2, :cond_61
:cond_51
if-eqz p3, :cond_59
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v6, v6, 0x1
if-nez v6, :cond_61
:cond_59
if-eqz p2, :cond_7f
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v6, v6, 0x2
if-eqz v6, :cond_7f
.line 53
:cond_61
invoke-virtual {v5, p1, p2, p3}, Lim/tpelyyftgw/phoneformat/PhoneRule;->format(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.line 56
:cond_66
if-nez p3, :cond_6a
if-eqz p2, :cond_7a
:cond_6a
if-eqz p3, :cond_72
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v6, v6, 0x1
if-nez v6, :cond_7a
:cond_72
if-eqz p2, :cond_7f
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v6, v6, 0x2
if-eqz v6, :cond_7f
.line 57
:cond_7a
invoke-virtual {v5, p1, p2, p3}, Lim/tpelyyftgw/phoneformat/PhoneRule;->format(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.line 61
.end local v5 # "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
:cond_7f
goto :goto_29
.line 63
:cond_80
if-nez p4, :cond_e7
.line 64
if-eqz p2, :cond_b5
.line 65
iget-object v0, p0, Lim/tpelyyftgw/phoneformat/RuleSet;->rules:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_8a
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_b4
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Lim/tpelyyftgw/phoneformat/PhoneRule;
.line 66
.restart local v5 # "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->minVal:I
if-lt v3, v6, :cond_b3
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxVal:I
if-gt v3, v6, :cond_b3
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v6
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxLen:I
if-gt v6, v7, :cond_b3
.line 67
if-eqz p3, :cond_ae
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v6, v6, 0x1
if-eqz v6, :cond_b3
.line 68
:cond_ae
invoke-virtual {v5, p1, p2, p3}, Lim/tpelyyftgw/phoneformat/PhoneRule;->format(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.line 71
.end local v5 # "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
:cond_b3
goto :goto_8a
:cond_b4
goto :goto_e7
.line 72
:cond_b5
if-eqz p3, :cond_e7
.line 73
iget-object v0, p0, Lim/tpelyyftgw/phoneformat/RuleSet;->rules:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_bd
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_e7
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Lim/tpelyyftgw/phoneformat/PhoneRule;
.line 74
.restart local v5 # "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->minVal:I
if-lt v3, v6, :cond_e6
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxVal:I
if-gt v3, v6, :cond_e6
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v6
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxLen:I
if-gt v6, v7, :cond_e6
.line 75
if-eqz p2, :cond_e1
iget v6, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v6, v6, 0x2
if-eqz v6, :cond_e6
.line 76
:cond_e1
invoke-virtual {v5, p1, p2, p3}, Lim/tpelyyftgw/phoneformat/PhoneRule;->format(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.line 79
.end local v5 # "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
:cond_e6
goto :goto_bd
.line 83
:cond_e7
:goto_e7
return-object v2
.line 85
.end local v1 # "begin":Ljava/lang/String;
.end local v3 # "val":I
.end local v4 # "matcher":Ljava/util/regex/Matcher;
:cond_e8
return-object v2
.end method
.method isValid(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z
.registers 14
.param p1, "str" # Ljava/lang/String;
.param p2, "intlPrefix" # Ljava/lang/String;
.param p3, "trunkPrefix" # Ljava/lang/String;
.param p4, "prefixRequired" # Z
.line 141
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
iget v1, p0, Lim/tpelyyftgw/phoneformat/RuleSet;->matchLen:I
const/4 v2, 0x0
if-lt v0, v1, :cond_dd
.line 142
invoke-virtual {p1, v2, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
.line 143
.local v0, "begin":Ljava/lang/String;
const/4 v1, 0x0
.line 144
.local v1, "val":I
sget-object v3, Lim/tpelyyftgw/phoneformat/RuleSet;->pattern:Ljava/util/regex/Pattern;
invoke-virtual {v3, v0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v3
.line 145
.local v3, "matcher":Ljava/util/regex/Matcher;
invoke-virtual {v3}, Ljava/util/regex/Matcher;->find()Z
move-result v4
if-eqz v4, :cond_22
.line 146
invoke-virtual {v3, v2}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v4
.line 147
.local v4, "num":Ljava/lang/String;
invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v1
.line 150
.end local v4 # "num":Ljava/lang/String;
:cond_22
iget-object v4, p0, Lim/tpelyyftgw/phoneformat/RuleSet;->rules:Ljava/util/ArrayList;
invoke-virtual {v4}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v4
:goto_28
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v5
const/4 v6, 0x1
if-eqz v5, :cond_76
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Lim/tpelyyftgw/phoneformat/PhoneRule;
.line 151
.local v5, "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->minVal:I
if-lt v1, v7, :cond_75
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxVal:I
if-gt v1, v7, :cond_75
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v7
iget v8, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxLen:I
if-ne v7, v8, :cond_75
.line 152
if-eqz p4, :cond_61
.line 153
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v7, v7, 0x3
if-nez v7, :cond_51
if-nez p3, :cond_51
if-eqz p2, :cond_60
:cond_51
if-eqz p3, :cond_58
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/2addr v7, v6
if-nez v7, :cond_60
:cond_58
if-eqz p2, :cond_75
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v7, v7, 0x2
if-eqz v7, :cond_75
.line 154
:cond_60
return v6
.line 157
:cond_61
if-nez p3, :cond_65
if-eqz p2, :cond_74
:cond_65
if-eqz p3, :cond_6c
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/2addr v7, v6
if-nez v7, :cond_74
:cond_6c
if-eqz p2, :cond_75
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v7, v7, 0x2
if-eqz v7, :cond_75
.line 158
:cond_74
return v6
.line 162
.end local v5 # "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
:cond_75
goto :goto_28
.line 164
:cond_76
if-nez p4, :cond_dc
.line 165
if-eqz p2, :cond_aa
iget-boolean v4, p0, Lim/tpelyyftgw/phoneformat/RuleSet;->hasRuleWithIntlPrefix:Z
if-nez v4, :cond_aa
.line 166
iget-object v4, p0, Lim/tpelyyftgw/phoneformat/RuleSet;->rules:Ljava/util/ArrayList;
invoke-virtual {v4}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v4
:goto_84
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_a9
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Lim/tpelyyftgw/phoneformat/PhoneRule;
.line 167
.restart local v5 # "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->minVal:I
if-lt v1, v7, :cond_a8
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxVal:I
if-gt v1, v7, :cond_a8
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v7
iget v8, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxLen:I
if-ne v7, v8, :cond_a8
.line 168
if-eqz p3, :cond_a7
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/2addr v7, v6
if-eqz v7, :cond_a8
.line 169
:cond_a7
return v6
.line 172
.end local v5 # "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
:cond_a8
goto :goto_84
:cond_a9
goto :goto_dc
.line 173
:cond_aa
if-eqz p3, :cond_dc
iget-boolean v4, p0, Lim/tpelyyftgw/phoneformat/RuleSet;->hasRuleWithTrunkPrefix:Z
if-nez v4, :cond_dc
.line 174
iget-object v4, p0, Lim/tpelyyftgw/phoneformat/RuleSet;->rules:Ljava/util/ArrayList;
invoke-virtual {v4}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v4
:goto_b6
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_dc
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Lim/tpelyyftgw/phoneformat/PhoneRule;
.line 175
.restart local v5 # "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->minVal:I
if-lt v1, v7, :cond_db
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxVal:I
if-gt v1, v7, :cond_db
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v7
iget v8, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->maxLen:I
if-ne v7, v8, :cond_db
.line 176
if-eqz p2, :cond_da
iget v7, v5, Lim/tpelyyftgw/phoneformat/PhoneRule;->flag12:I
and-int/lit8 v7, v7, 0x2
if-eqz v7, :cond_db
.line 177
:cond_da
return v6
.line 180
.end local v5 # "rule":Lim/tpelyyftgw/phoneformat/PhoneRule;
:cond_db
goto :goto_b6
.line 184
:cond_dc
:goto_dc
return v2
.line 186
.end local v0 # "begin":Ljava/lang/String;
.end local v1 # "val":I
.end local v3 # "matcher":Ljava/util/regex/Matcher;
:cond_dd
return v2
.end method