HttpResponse.smali
.class public Lcn/jiguang/net/HttpResponse;
.super Ljava/lang/Object;
# instance fields
.field private a:Ljava/lang/String;
.field private b:Ljava/lang/String;
.field private c:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map",
"<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field private d:I
.field private e:J
.field private f:Z
.field private g:Z
.field private h:I
# direct methods
.method public constructor <init>()V
.registers 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, -0x1
iput v0, p0, Lcn/jiguang/net/HttpResponse;->h:I
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcn/jiguang/net/HttpResponse;->c:Ljava/util/Map;
return-void
.end method
.method public constructor <init>(Ljava/lang/String;)V
.registers 4
const/4 v1, 0x0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, -0x1
iput v0, p0, Lcn/jiguang/net/HttpResponse;->h:I
iput-object p1, p0, Lcn/jiguang/net/HttpResponse;->a:Ljava/lang/String;
iput v1, p0, Lcn/jiguang/net/HttpResponse;->d:I
iput-boolean v1, p0, Lcn/jiguang/net/HttpResponse;->f:Z
iput-boolean v1, p0, Lcn/jiguang/net/HttpResponse;->g:Z
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcn/jiguang/net/HttpResponse;->c:Ljava/util/Map;
return-void
.end method
.method private a()I
.registers 6
const/4 v1, -0x1
:try_start_1
iget-object v0, p0, Lcn/jiguang/net/HttpResponse;->c:Ljava/util/Map;
const-string v2, "cache-control"
invoke-interface {v0, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_3d
const-string v2, "max-age="
invoke-virtual {v0, v2}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v2
if-eq v2, v1, :cond_3d
const-string v3, ","
invoke-virtual {v0, v3, v2}, Ljava/lang/String;->indexOf(Ljava/lang/String;I)I
move-result v3
if-eq v3, v1, :cond_31
const-string v4, "max-age="
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v4
add-int/2addr v2, v4
invoke-virtual {v0, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
:goto_2c
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
:goto_30
return v0
:cond_31
const-string v3, "max-age="
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v3
add-int/2addr v2, v3
invoke-virtual {v0, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;
:try_end_3b
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_3b} :catch_3f
move-result-object v0
goto :goto_2c
:cond_3d
move v0, v1
goto :goto_30
:catch_3f
move-exception v0
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
move v0, v1
goto :goto_30
.end method
.method private b()J
.registers 5
invoke-direct {p0}, Lcn/jiguang/net/HttpResponse;->a()I
move-result v0
const/4 v1, -0x1
if-eq v0, v1, :cond_10
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
mul-int/lit16 v0, v0, 0x3e8
int-to-long v0, v0
add-long/2addr v0, v2
:goto_f
return-wide v0
:cond_10
invoke-virtual {p0}, Lcn/jiguang/net/HttpResponse;->getExpiresHeader()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_23
invoke-virtual {p0}, Lcn/jiguang/net/HttpResponse;->getExpiresHeader()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcn/jiguang/net/HttpUtils;->parseGmtTime(Ljava/lang/String;)J
move-result-wide v0
goto :goto_f
:cond_23
const-wide/16 v0, -0x1
goto :goto_f
.end method
# virtual methods
.method public getExpiredTime()J
.registers 3
iget-boolean v0, p0, Lcn/jiguang/net/HttpResponse;->g:Z
if-eqz v0, :cond_7
iget-wide v0, p0, Lcn/jiguang/net/HttpResponse;->e:J
:goto_6
return-wide v0
:cond_7
const/4 v0, 0x1
iput-boolean v0, p0, Lcn/jiguang/net/HttpResponse;->g:Z
invoke-direct {p0}, Lcn/jiguang/net/HttpResponse;->b()J
move-result-wide v0
iput-wide v0, p0, Lcn/jiguang/net/HttpResponse;->e:J
goto :goto_6
.end method
.method public getExpiresHeader()Ljava/lang/String;
.registers 4
const/4 v1, 0x0
:try_start_1
iget-object v0, p0, Lcn/jiguang/net/HttpResponse;->c:Ljava/util/Map;
if-nez v0, :cond_7
move-object v0, v1
:goto_6
return-object v0
:cond_7
iget-object v0, p0, Lcn/jiguang/net/HttpResponse;->c:Ljava/util/Map;
const-string v2, "expires"
invoke-interface {v0, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
:try_end_11
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_11} :catch_12
goto :goto_6
:catch_12
move-exception v0
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
move-object v0, v1
goto :goto_6
.end method
.method public getResponseBody()Ljava/lang/String;
.registers 2
iget-object v0, p0, Lcn/jiguang/net/HttpResponse;->b:Ljava/lang/String;
return-object v0
.end method
.method public getResponseCode()I
.registers 2
iget v0, p0, Lcn/jiguang/net/HttpResponse;->h:I
return v0
.end method
.method public getType()I
.registers 2
iget v0, p0, Lcn/jiguang/net/HttpResponse;->d:I
return v0
.end method
.method public getUrl()Ljava/lang/String;
.registers 2
iget-object v0, p0, Lcn/jiguang/net/HttpResponse;->a:Ljava/lang/String;
return-object v0
.end method
.method public isExpired()Z
.registers 5
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iget-wide v2, p0, Lcn/jiguang/net/HttpResponse;->e:J
cmp-long v0, v0, v2
if-lez v0, :cond_c
const/4 v0, 0x1
:goto_b
return v0
:cond_c
const/4 v0, 0x0
goto :goto_b
.end method
.method public isInCache()Z
.registers 2
iget-boolean v0, p0, Lcn/jiguang/net/HttpResponse;->f:Z
return v0
.end method
.method public setExpiredTime(J)V
.registers 4
const/4 v0, 0x1
iput-boolean v0, p0, Lcn/jiguang/net/HttpResponse;->g:Z
iput-wide p1, p0, Lcn/jiguang/net/HttpResponse;->e:J
return-void
.end method
.method public setInCache(Z)Lcn/jiguang/net/HttpResponse;
.registers 2
iput-boolean p1, p0, Lcn/jiguang/net/HttpResponse;->f:Z
return-object p0
.end method
.method public setResponseBody(Ljava/lang/String;)V
.registers 2
iput-object p1, p0, Lcn/jiguang/net/HttpResponse;->b:Ljava/lang/String;
return-void
.end method
.method public setResponseCode(I)V
.registers 2
iput p1, p0, Lcn/jiguang/net/HttpResponse;->h:I
return-void
.end method
.method public setResponseHeader(Ljava/lang/String;Ljava/lang/String;)V
.registers 4
iget-object v0, p0, Lcn/jiguang/net/HttpResponse;->c:Ljava/util/Map;
if-eqz v0, :cond_9
iget-object v0, p0, Lcn/jiguang/net/HttpResponse;->c:Ljava/util/Map;
invoke-interface {v0, p1, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_9
return-void
.end method
.method public setResponseHeaders(Ljava/util/Map;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map",
"<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;)V"
}
.end annotation
iput-object p1, p0, Lcn/jiguang/net/HttpResponse;->c:Ljava/util/Map;
return-void
.end method
.method public setType(I)V
.registers 4
if-gez p1, :cond_a
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "The type of HttpResponse cannot be smaller than 0."
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_a
iput p1, p0, Lcn/jiguang/net/HttpResponse;->d:I
return-void
.end method
.method public setUrl(Ljava/lang/String;)V
.registers 2
iput-object p1, p0, Lcn/jiguang/net/HttpResponse;->a:Ljava/lang/String;
return-void
.end method
.method public toString()Ljava/lang/String;
.registers 3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "HttpResponse{responseBody=\'"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcn/jiguang/net/HttpResponse;->b:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const/16 v1, 0x27
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", responseCode="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget v1, p0, Lcn/jiguang/net/HttpResponse;->h:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const/16 v1, 0x7d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method