g.smali
.class public Lcom/fulishe/fs/l/g;
.super Ljava/lang/Object;
.source ""
# instance fields
.field public a:I
# direct methods
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public a(Ljava/net/URL;Ljava/util/Map;)Ljava/net/HttpURLConnection;
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/net/URL;",
"Ljava/util/Map",
"<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)",
"Ljava/net/HttpURLConnection;"
}
.end annotation
const/4 v3, 0x0
iget v0, p0, Lcom/fulishe/fs/l/g;->a:I
const/4 v1, 0x3
if-gt v0, v1, :cond_84
if-nez p1, :cond_a
move-object v0, v3
:cond_9
:goto_9
return-object v0
:cond_a
invoke-virtual {p1}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
move-result-object v2
if-eqz p2, :cond_3a
invoke-interface {p2}, Ljava/util/Map;->isEmpty()Z
move-result v0
if-nez v0, :cond_3a
invoke-interface {p2}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v4
:goto_1e
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_3a
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-virtual {v2, v1, v0}, Ljava/net/URLConnection;->addRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_1e
:cond_3a
instance-of v0, v2, Ljava/net/HttpURLConnection;
if-eqz v0, :cond_7c
move-object v0, v2
check-cast v0, Ljava/net/HttpURLConnection;
invoke-virtual {v0}, Ljava/net/HttpURLConnection;->getResponseCode()I
move-result v1
div-int/lit8 v2, v1, 0x64
const/4 v4, 0x2
if-eq v2, v4, :cond_9
const/16 v2, 0x12d
if-eq v1, v2, :cond_57
const/16 v2, 0x12e
if-eq v1, v2, :cond_57
:cond_52
invoke-virtual {v0}, Ljava/net/HttpURLConnection;->disconnect()V
move-object v0, v3
goto :goto_9
:cond_57
:try_start_57
iget v1, p0, Lcom/fulishe/fs/l/g;->a:I
add-int/lit8 v1, v1, 0x1
iput v1, p0, Lcom/fulishe/fs/l/g;->a:I
const-string v1, "Location"
invoke-virtual {v0, v1}, Ljava/net/HttpURLConnection;->getHeaderField(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_52
new-instance v2, Ljava/net/URL;
invoke-direct {v2, v1}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
invoke-virtual {p0, v2, p2}, Lcom/fulishe/fs/l/g;->a(Ljava/net/URL;Ljava/util/Map;)Ljava/net/HttpURLConnection;
:try_end_71
.catchall {:try_start_57 .. :try_end_71} :catchall_77
move-result-object v1
invoke-virtual {v0}, Ljava/net/HttpURLConnection;->disconnect()V
move-object v0, v1
goto :goto_9
:catchall_77
move-exception v1
invoke-virtual {v0}, Ljava/net/HttpURLConnection;->disconnect()V
throw v1
:cond_7c
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Seems not a vaild HTTP url"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_84
new-instance v0, Ljava/io/IOException;
const-string v1, "too many redirect"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.end method