HttpHeaderParser.smali
.class public Lcom/tradplus/ads/volley/toolbox/HttpHeaderParser;
.super Ljava/lang/Object;
# direct methods
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static parseCacheHeaders(Lcom/tradplus/ads/volley/NetworkResponse;)Lcom/tradplus/ads/volley/Cache$Entry;
.registers 14
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iget-object v2, p0, Lcom/tradplus/ads/volley/NetworkResponse;->headers:Ljava/util/Map;
const-string v3, "Date"
invoke-interface {v2, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/String;
const-wide/16 v4, 0x0
if-eqz v3, :cond_17
invoke-static {v3}, Lcom/tradplus/ads/volley/toolbox/HttpHeaderParser;->parseDateAsEpoch(Ljava/lang/String;)J
move-result-wide v6
goto :goto_18
:cond_17
move-wide v6, v4
:goto_18
const-string v3, "Cache-Control"
invoke-interface {v2, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/String;
const/4 v8, 0x0
if-eqz v3, :cond_6f
const-string v9, ","
invoke-virtual {v3, v9}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v3
move-wide v9, v4
:goto_2a
array-length v11, v3
if-ge v8, v11, :cond_6d
aget-object v11, v3, v8
invoke-virtual {v11}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v11
const-string v12, "no-cache"
invoke-virtual {v11, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v12
if-nez v12, :cond_6b
const-string v12, "no-store"
invoke-virtual {v11, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v12
if-eqz v12, :cond_44
goto :goto_6b
:cond_44
const-string v12, "max-age="
invoke-virtual {v11, v12}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v12
if-eqz v12, :cond_57
const/16 v12, 0x8
:try_start_4e
invoke-virtual {v11, v12}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v11
invoke-static {v11}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v9
:try_end_56
.catch Ljava/lang/Exception; {:try_start_4e .. :try_end_56} :catch_68
goto :goto_68
:cond_57
const-string v12, "must-revalidate"
invoke-virtual {v11, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v12
if-nez v12, :cond_67
const-string v12, "proxy-revalidate"
invoke-virtual {v11, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v11
if-eqz v11, :cond_68
:cond_67
move-wide v9, v4
:catch_68
:cond_68
:goto_68
add-int/lit8 v8, v8, 0x1
goto :goto_2a
:cond_6b
:goto_6b
const/4 p0, 0x0
return-object p0
:cond_6d
const/4 v8, 0x1
goto :goto_70
:cond_6f
move-wide v9, v4
:goto_70
const-string v3, "Expires"
invoke-interface {v2, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/String;
if-eqz v3, :cond_7f
invoke-static {v3}, Lcom/tradplus/ads/volley/toolbox/HttpHeaderParser;->parseDateAsEpoch(Ljava/lang/String;)J
move-result-wide v11
goto :goto_80
:cond_7f
move-wide v11, v4
:goto_80
const-string v3, "ETag"
invoke-interface {v2, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/String;
if-eqz v8, :cond_91
const-wide/16 v4, 0x3e8
mul-long v9, v9, v4
add-long v4, v0, v9
goto :goto_9c
:cond_91
cmp-long v8, v6, v4
if-lez v8, :cond_9c
cmp-long v8, v11, v6
if-ltz v8, :cond_9c
sub-long/2addr v11, v6
add-long v4, v0, v11
:cond_9c
:goto_9c
new-instance v0, Lcom/tradplus/ads/volley/Cache$Entry;
invoke-direct {v0}, Lcom/tradplus/ads/volley/Cache$Entry;-><init>()V
iget-object p0, p0, Lcom/tradplus/ads/volley/NetworkResponse;->data:[B
iput-object p0, v0, Lcom/tradplus/ads/volley/Cache$Entry;->data:[B
iput-object v3, v0, Lcom/tradplus/ads/volley/Cache$Entry;->etag:Ljava/lang/String;
iput-wide v4, v0, Lcom/tradplus/ads/volley/Cache$Entry;->softTtl:J
iget-wide v3, v0, Lcom/tradplus/ads/volley/Cache$Entry;->softTtl:J
iput-wide v3, v0, Lcom/tradplus/ads/volley/Cache$Entry;->ttl:J
iput-wide v6, v0, Lcom/tradplus/ads/volley/Cache$Entry;->serverDate:J
iput-object v2, v0, Lcom/tradplus/ads/volley/Cache$Entry;->responseHeaders:Ljava/util/Map;
return-object v0
.end method
.method public static parseCharset(Ljava/util/Map;)Ljava/lang/String;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)",
"Ljava/lang/String;"
}
.end annotation
const-string v0, "Content-Type"
invoke-interface {p0, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/String;
if-eqz p0, :cond_36
const-string v0, ";"
invoke-virtual {p0, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object p0
const/4 v0, 0x1
const/4 v1, 0x1
:goto_12
array-length v2, p0
if-ge v1, v2, :cond_36
aget-object v2, p0, v1
invoke-virtual {v2}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v2
const-string v3, "="
invoke-virtual {v2, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v2
array-length v3, v2
const/4 v4, 0x2
if-ne v3, v4, :cond_33
const/4 v3, 0x0
aget-object v3, v2, v3
const-string v4, "charset"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_33
aget-object p0, v2, v0
return-object p0
:cond_33
add-int/lit8 v1, v1, 0x1
goto :goto_12
:cond_36
const-string p0, "ISO-8859-1"
return-object p0
.end method
.method public static parseDateAsEpoch(Ljava/lang/String;)J
.registers 3
:try_start_0
invoke-static {p0}, Lorg/apache/http/impl/cookie/DateUtils;->parseDate(Ljava/lang/String;)Ljava/util/Date;
move-result-object p0
invoke-virtual {p0}, Ljava/util/Date;->getTime()J
move-result-wide v0
:try_end_8
.catch Lorg/apache/http/impl/cookie/DateParseException; {:try_start_0 .. :try_end_8} :catch_9
return-wide v0
:catch_9
const-wide/16 v0, 0x0
return-wide v0
.end method