CallingCodeInfo.smali
.class public Lim/tpelyyftgw/phoneformat/CallingCodeInfo;
.super Ljava/lang/Object;
.source "CallingCodeInfo.java"
# instance fields
.field public callingCode:Ljava/lang/String;
.field public countries:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field public intlPrefixes:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field public ruleSets:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Lim/tpelyyftgw/phoneformat/RuleSet;",
">;"
}
.end annotation
.end field
.field public trunkPrefixes:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 29
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 30
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->countries:Ljava/util/ArrayList;
.line 31
const-string v0, ""
iput-object v0, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->callingCode:Ljava/lang/String;
.line 32
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->trunkPrefixes:Ljava/util/ArrayList;
.line 33
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->intlPrefixes:Ljava/util/ArrayList;
.line 34
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->ruleSets:Ljava/util/ArrayList;
return-void
.end method
# virtual methods
.method desensitization(Ljava/lang/String;)Ljava/lang/String;
.registers 9
.param p1, "orig" # Ljava/lang/String;
.line 93
move-object v0, p1
.line 94
.local v0, "str":Ljava/lang/String;
const/4 v1, 0x0
.line 95
.local v1, "trunkPrefix":Ljava/lang/String;
const/4 v2, 0x0
.line 96
.local v2, "intlPrefix":Ljava/lang/String;
iget-object v3, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->callingCode:Ljava/lang/String;
invoke-virtual {v0, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_16
.line 97
iget-object v2, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->callingCode:Ljava/lang/String;
.line 98
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v3
invoke-virtual {v0, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v0
goto :goto_25
.line 100
:cond_16
invoke-virtual {p0, v0}, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->matchingTrunkCode(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
.line 101
.local v3, "trunk":Ljava/lang/String;
if-eqz v3, :cond_25
.line 102
move-object v1, v3
.line 103
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v4
invoke-virtual {v0, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v0
.line 107
.end local v3 # "trunk":Ljava/lang/String;
:cond_25
:goto_25
iget-object v3, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->ruleSets:Ljava/util/ArrayList;
invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_2b
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
const/4 v5, 0x1
if-eqz v4, :cond_40
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lim/tpelyyftgw/phoneformat/RuleSet;
.line 108
.local v4, "set":Lim/tpelyyftgw/phoneformat/RuleSet;
invoke-virtual {v4, v0, v2, v1, v5}, Lim/tpelyyftgw/phoneformat/RuleSet;->desensitization(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
move-result-object v5
.line 109
.local v5, "phone":Ljava/lang/String;
if-eqz v5, :cond_3f
.line 110
return-object v5
.line 112
.end local v4 # "set":Lim/tpelyyftgw/phoneformat/RuleSet;
.end local v5 # "phone":Ljava/lang/String;
:cond_3f
goto :goto_2b
.line 114
:cond_40
iget-object v3, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->ruleSets:Ljava/util/ArrayList;
invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_46
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
const/4 v6, 0x0
if-eqz v4, :cond_5b
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lim/tpelyyftgw/phoneformat/RuleSet;
.line 115
.restart local v4 # "set":Lim/tpelyyftgw/phoneformat/RuleSet;
invoke-virtual {v4, v0, v2, v1, v6}, Lim/tpelyyftgw/phoneformat/RuleSet;->desensitization(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
move-result-object v6
.line 116
.local v6, "phone":Ljava/lang/String;
if-eqz v6, :cond_5a
.line 117
return-object v6
.line 119
.end local v4 # "set":Lim/tpelyyftgw/phoneformat/RuleSet;
.end local v6 # "phone":Ljava/lang/String;
:cond_5a
goto :goto_46
.line 121
:cond_5b
if-eqz v2, :cond_71
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v3
if-eqz v3, :cond_71
.line 122
const/4 v3, 0x2
new-array v3, v3, [Ljava/lang/Object;
aput-object v2, v3, v6
aput-object v0, v3, v5
const-string v4, "%s %s"
invoke-static {v4, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
return-object v3
.line 125
:cond_71
return-object p1
.end method
.method format(Ljava/lang/String;)Ljava/lang/String;
.registers 9
.param p1, "orig" # Ljava/lang/String;
.line 57
move-object v0, p1
.line 58
.local v0, "str":Ljava/lang/String;
const/4 v1, 0x0
.line 59
.local v1, "trunkPrefix":Ljava/lang/String;
const/4 v2, 0x0
.line 60
.local v2, "intlPrefix":Ljava/lang/String;
iget-object v3, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->callingCode:Ljava/lang/String;
invoke-virtual {v0, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_16
.line 61
iget-object v2, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->callingCode:Ljava/lang/String;
.line 62
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v3
invoke-virtual {v0, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v0
goto :goto_25
.line 64
:cond_16
invoke-virtual {p0, v0}, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->matchingTrunkCode(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
.line 65
.local v3, "trunk":Ljava/lang/String;
if-eqz v3, :cond_25
.line 66
move-object v1, v3
.line 67
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v4
invoke-virtual {v0, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v0
.line 71
.end local v3 # "trunk":Ljava/lang/String;
:cond_25
:goto_25
iget-object v3, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->ruleSets:Ljava/util/ArrayList;
invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_2b
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
const/4 v5, 0x1
if-eqz v4, :cond_40
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lim/tpelyyftgw/phoneformat/RuleSet;
.line 72
.local v4, "set":Lim/tpelyyftgw/phoneformat/RuleSet;
invoke-virtual {v4, v0, v2, v1, v5}, Lim/tpelyyftgw/phoneformat/RuleSet;->format(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
move-result-object v5
.line 73
.local v5, "phone":Ljava/lang/String;
if-eqz v5, :cond_3f
.line 74
return-object v5
.line 76
.end local v4 # "set":Lim/tpelyyftgw/phoneformat/RuleSet;
.end local v5 # "phone":Ljava/lang/String;
:cond_3f
goto :goto_2b
.line 78
:cond_40
iget-object v3, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->ruleSets:Ljava/util/ArrayList;
invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_46
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
const/4 v6, 0x0
if-eqz v4, :cond_5b
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lim/tpelyyftgw/phoneformat/RuleSet;
.line 79
.restart local v4 # "set":Lim/tpelyyftgw/phoneformat/RuleSet;
invoke-virtual {v4, v0, v2, v1, v6}, Lim/tpelyyftgw/phoneformat/RuleSet;->format(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
move-result-object v6
.line 80
.local v6, "phone":Ljava/lang/String;
if-eqz v6, :cond_5a
.line 81
return-object v6
.line 83
.end local v4 # "set":Lim/tpelyyftgw/phoneformat/RuleSet;
.end local v6 # "phone":Ljava/lang/String;
:cond_5a
goto :goto_46
.line 85
:cond_5b
if-eqz v2, :cond_71
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v3
if-eqz v3, :cond_71
.line 86
const/4 v3, 0x2
new-array v3, v3, [Ljava/lang/Object;
aput-object v2, v3, v6
aput-object v0, v3, v5
const-string v4, "%s %s"
invoke-static {v4, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
return-object v3
.line 89
:cond_71
return-object p1
.end method
.method isValidPhoneNumber(Ljava/lang/String;)Z
.registers 9
.param p1, "orig" # Ljava/lang/String;
.line 129
move-object v0, p1
.line 130
.local v0, "str":Ljava/lang/String;
const/4 v1, 0x0
.line 131
.local v1, "trunkPrefix":Ljava/lang/String;
const/4 v2, 0x0
.line 132
.local v2, "intlPrefix":Ljava/lang/String;
iget-object v3, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->callingCode:Ljava/lang/String;
invoke-virtual {v0, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_16
.line 133
iget-object v2, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->callingCode:Ljava/lang/String;
.line 134
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v3
invoke-virtual {v0, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v0
goto :goto_25
.line 136
:cond_16
invoke-virtual {p0, v0}, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->matchingTrunkCode(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
.line 137
.local v3, "trunk":Ljava/lang/String;
if-eqz v3, :cond_25
.line 138
move-object v1, v3
.line 139
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v4
invoke-virtual {v0, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v0
.line 143
.end local v3 # "trunk":Ljava/lang/String;
:cond_25
:goto_25
iget-object v3, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->ruleSets:Ljava/util/ArrayList;
invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_2b
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
const/4 v5, 0x1
if-eqz v4, :cond_40
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lim/tpelyyftgw/phoneformat/RuleSet;
.line 144
.local v4, "set":Lim/tpelyyftgw/phoneformat/RuleSet;
invoke-virtual {v4, v0, v2, v1, v5}, Lim/tpelyyftgw/phoneformat/RuleSet;->isValid(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v6
.line 145
.local v6, "valid":Z
if-eqz v6, :cond_3f
.line 146
return v5
.line 148
.end local v4 # "set":Lim/tpelyyftgw/phoneformat/RuleSet;
.end local v6 # "valid":Z
:cond_3f
goto :goto_2b
.line 150
:cond_40
iget-object v3, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->ruleSets:Ljava/util/ArrayList;
invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_46
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
const/4 v6, 0x0
if-eqz v4, :cond_5b
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lim/tpelyyftgw/phoneformat/RuleSet;
.line 151
.restart local v4 # "set":Lim/tpelyyftgw/phoneformat/RuleSet;
invoke-virtual {v4, v0, v2, v1, v6}, Lim/tpelyyftgw/phoneformat/RuleSet;->isValid(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v6
.line 152
.restart local v6 # "valid":Z
if-eqz v6, :cond_5a
.line 153
return v5
.line 155
.end local v4 # "set":Lim/tpelyyftgw/phoneformat/RuleSet;
.end local v6 # "valid":Z
:cond_5a
goto :goto_46
.line 157
:cond_5b
return v6
.end method
.method matchingAccessCode(Ljava/lang/String;)Ljava/lang/String;
.registers 5
.param p1, "str" # Ljava/lang/String;
.line 38
iget-object v0, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->intlPrefixes:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_6
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1a
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
.line 39
.local v1, "code":Ljava/lang/String;
invoke-virtual {p1, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_19
.line 40
return-object v1
.line 42
.end local v1 # "code":Ljava/lang/String;
:cond_19
goto :goto_6
.line 43
:cond_1a
const/4 v0, 0x0
return-object v0
.end method
.method matchingTrunkCode(Ljava/lang/String;)Ljava/lang/String;
.registers 5
.param p1, "str" # Ljava/lang/String;
.line 47
iget-object v0, p0, Lim/tpelyyftgw/phoneformat/CallingCodeInfo;->trunkPrefixes:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_6
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1a
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
.line 48
.local v1, "code":Ljava/lang/String;
invoke-virtual {p1, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_19
.line 49
return-object v1
.line 51
.end local v1 # "code":Ljava/lang/String;
:cond_19
goto :goto_6
.line 53
:cond_1a
const/4 v0, 0x0
return-object v0
.end method