csd.smali
.class public Ldxoptimizer/csd;
.super Ljava/lang/Object;
.source "Whitelist.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Ldxoptimizer/csd$a;
}
.end annotation
# instance fields
.field private a:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList",
"<",
"Ldxoptimizer/csd$a;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.registers 2
.prologue
.line 99
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 100
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Ldxoptimizer/csd;->a:Ljava/util/ArrayList;
.line 101
return-void
.end method
# virtual methods
.method public a(Ljava/lang/String;Z)V
.registers 9
.prologue
.line 115
iget-object v0, p0, Ldxoptimizer/csd;->a:Ljava/util/ArrayList;
if-eqz v0, :cond_16
.line 118
:try_start_4
const-string v0, "*"
invoke-virtual {p1, v0}, Ljava/lang/String;->compareTo(Ljava/lang/String;)I
move-result v0
if-nez v0, :cond_17
.line 119
const-string v0, "Whitelist"
const-string v1, "Unlimited access to network resources"
invoke-static {v0, v1}, Ldxoptimizer/crz;->a(Ljava/lang/String;Ljava/lang/String;)V
.line 120
const/4 v0, 0x0
iput-object v0, p0, Ldxoptimizer/csd;->a:Ljava/util/ArrayList;
.line 145
:cond_16
:goto_16
return-void
.line 123
:cond_17
const-string v0, "^((\\*|[A-Za-z-]+):(//)?)?(\\*|((\\*\\.)?[^*/:]+))?(:(\\d+))?(/.*)?"
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
.line 124
invoke-virtual {v0, p1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v1
.line 125
invoke-virtual {v1}, Ljava/util/regex/Matcher;->matches()Z
move-result v0
if-eqz v0, :cond_16
.line 126
const/4 v0, 0x2
invoke-virtual {v1, v0}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v2
.line 127
const/4 v0, 0x4
invoke-virtual {v1, v0}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v0
.line 129
const-string v3, "file"
invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_41
const-string v3, "content"
invoke-virtual {v3, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_45
:cond_41
if-nez v0, :cond_45
const-string v0, "*"
.line 130
:cond_45
const/16 v3, 0x8
invoke-virtual {v1, v3}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v3
.line 131
const/16 v4, 0x9
invoke-virtual {v1, v4}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v1
.line 132
if-nez v2, :cond_7b
.line 134
iget-object v2, p0, Ldxoptimizer/csd;->a:Ljava/util/ArrayList;
new-instance v4, Ldxoptimizer/csd$a;
const-string v5, "http"
invoke-direct {v4, v5, v0, v3, v1}, Ldxoptimizer/csd$a;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v2, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 135
iget-object v2, p0, Ldxoptimizer/csd;->a:Ljava/util/ArrayList;
new-instance v4, Ldxoptimizer/csd$a;
const-string v5, "https"
invoke-direct {v4, v5, v0, v3, v1}, Ldxoptimizer/csd$a;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v2, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:try_end_6b
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_6b} :catch_6c
goto :goto_16
.line 141
:catch_6c
move-exception v0
.line 142
const-string v0, "Whitelist"
const-string v1, "Failed to add origin %s"
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p1, v2, v3
invoke-static {v0, v1, v2}, Ldxoptimizer/crz;->a(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
goto :goto_16
.line 137
:cond_7b
:try_start_7b
iget-object v4, p0, Ldxoptimizer/csd;->a:Ljava/util/ArrayList;
new-instance v5, Ldxoptimizer/csd$a;
invoke-direct {v5, v2, v0, v3, v1}, Ldxoptimizer/csd$a;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v4, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:try_end_85
.catch Ljava/lang/Exception; {:try_start_7b .. :try_end_85} :catch_6c
goto :goto_16
.end method
.method public a(Ljava/lang/String;)Z
.registers 6
.prologue
const/4 v1, 0x1
.line 156
iget-object v0, p0, Ldxoptimizer/csd;->a:Ljava/util/ArrayList;
if-nez v0, :cond_7
move v0, v1
.line 167
:goto_6
return v0
.line 158
:cond_7
invoke-static {p1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v2
.line 160
iget-object v0, p0, Ldxoptimizer/csd;->a:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v3
.line 161
:cond_11
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_25
.line 162
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ldxoptimizer/csd$a;
.line 163
invoke-virtual {v0, v2}, Ldxoptimizer/csd$a;->a(Landroid/net/Uri;)Z
move-result v0
if-eqz v0, :cond_11
move v0, v1
.line 164
goto :goto_6
.line 167
:cond_25
const/4 v0, 0x0
goto :goto_6
.end method