g.smali

.class public abstract Lcom/dianxinos/library/network/g;
.super Ljava/lang/Object;
.source "NetworkTaskImpl.java"

# interfaces
.implements Ljava/lang/Runnable;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/dianxinos/library/network/g$b;,
        Lcom/dianxinos/library/network/g$a;
    }
.end annotation


# instance fields
.field public final a:Landroid/content/Context;

.field public final b:Ldxoptimizer/aae;

.field public final c:Ldxoptimizer/aad;

.field public d:J

.field private final e:Ljava/util/Random;


# direct methods
.method public constructor <init>(Landroid/content/Context;Ldxoptimizer/aae;)V
    .registers 7

    .prologue
    .line 55
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 31
    new-instance v0, Ljava/util/Random;

    invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J

    move-result-wide v2

    invoke-direct {v0, v2, v3}, Ljava/util/Random;-><init>(J)V

    iput-object v0, p0, Lcom/dianxinos/library/network/g;->e:Ljava/util/Random;

    .line 33
    const-wide/16 v0, 0x0

    iput-wide v0, p0, Lcom/dianxinos/library/network/g;->d:J

    .line 56
    iput-object p1, p0, Lcom/dianxinos/library/network/g;->a:Landroid/content/Context;

    .line 57
    iput-object p2, p0, Lcom/dianxinos/library/network/g;->b:Ldxoptimizer/aae;

    .line 59
    iget-object v0, p0, Lcom/dianxinos/library/network/g;->b:Ldxoptimizer/aae;

    iget-object v0, v0, Ldxoptimizer/aae;->f:Ljava/lang/String;

    invoke-static {v0}, Ldxoptimizer/zl;->a(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 60
    new-instance v1, Ldxoptimizer/aaf;

    const-string v2, "download_table"

    invoke-direct {v1, p1, v2, v0}, Ldxoptimizer/aaf;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V

    iput-object v1, p0, Lcom/dianxinos/library/network/g;->c:Ldxoptimizer/aad;

    .line 61
    iget-object v1, p0, Lcom/dianxinos/library/network/g;->c:Ldxoptimizer/aad;

    invoke-interface {v1, v0}, Ldxoptimizer/aad;->b(Ljava/lang/String;)V

    .line 62
    return-void
.end method

.method private a(J)Ljava/lang/String;
    .registers 4

    .prologue
    .line 144
    new-instance v0, Ljava/util/Date;

    invoke-direct {v0, p1, p2}, Ljava/util/Date;-><init>(J)V

    .line 145
    invoke-static {v0}, Ldxoptimizer/zw;->a(Ljava/util/Date;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method private a(Ljava/net/HttpURLConnection;Ldxoptimizer/aae;Z)Ljava/net/HttpURLConnection;
    .registers 14
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .prologue
    const-wide/16 v8, 0x0

    const/16 v0, 0x4e20

    const/4 v6, 0x1

    .line 98
    invoke-virtual {p1, v0}, Ljava/net/HttpURLConnection;->setConnectTimeout(I)V

    .line 99
    invoke-virtual {p1, v0}, Ljava/net/HttpURLConnection;->setReadTimeout(I)V

    .line 100
    invoke-virtual {p1, v6}, Ljava/net/HttpURLConnection;->setDoInput(Z)V

    .line 101
    const/4 v0, 0x0

    invoke-virtual {p1, v0}, Ljava/net/HttpURLConnection;->setUseCaches(Z)V

    .line 102
    iget-object v0, p2, Ldxoptimizer/aae;->i:Ljava/lang/String;

    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-nez v0, :cond_21

    .line 103
    const-string v0, "User-Agent"

    iget-object v1, p2, Ldxoptimizer/aae;->i:Ljava/lang/String;

    invoke-virtual {p1, v0, v1}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    .line 105
    :cond_21
    const-string v0, "accept"

    const-string v1, "*/*"

    invoke-virtual {p1, v0, v1}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    .line 106
    const-string v0, "Connection"

    const-string v1, "Keep-Alive"

    invoke-virtual {p1, v0, v1}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    .line 107
    const-string v0, "Charset"

    const-string v1, "utf-8"

    invoke-virtual {p1, v0, v1}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    .line 108
    const-string v0, "Accept-Encoding"

    const-string v1, "gzip,deflate"

    invoke-virtual {p1, v0, v1}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    .line 111
    iget-object v0, p2, Ldxoptimizer/aae;->g:Ljava/io/File;

    if-eqz v0, :cond_91

    .line 112
    iget-object v0, p0, Lcom/dianxinos/library/network/g;->c:Ldxoptimizer/aad;

    const-string v1, "het"

    invoke-interface {v0, v1}, Ldxoptimizer/aad;->a(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 113
    iget-object v1, p0, Lcom/dianxinos/library/network/g;->c:Ldxoptimizer/aad;

    const-string v2, "tln"

    const-wide/16 v4, -0x1

    invoke-interface {v1, v2, v4, v5}, Ldxoptimizer/aad;->b(Ljava/lang/String;J)J

    move-result-wide v2

    .line 115
    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-nez v1, :cond_5e

    .line 116
    const-string v1, "If-Match"

    invoke-virtual {p1, v1, v0}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    .line 118
    :cond_5e
    iget-wide v0, p0, Lcom/dianxinos/library/network/g;->d:J

    cmp-long v0, v0, v8

    if-lez v0, :cond_84

    .line 119
    const-string v0, "Range"

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "bytes="

    invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    iget-wide v4, p0, Lcom/dianxinos/library/network/g;->d:J

    invoke-virtual {v1, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v4, "-"

    invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {p1, v0, v1}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    .line 122
    :cond_84
    cmp-long v0, v2, v8

    if-lez v0, :cond_91

    .line 123
    invoke-direct {p0, v2, v3}, Lcom/dianxinos/library/network/g;->a(J)Ljava/lang/String;

    move-result-object v0

    .line 124
    const-string v1, "If-Modified-Since"

    invoke-virtual {p1, v1, v0}, Ljava/net/HttpURLConnection;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    .line 127
    :cond_91
    iget-object v0, p2, Ldxoptimizer/aae;->l:Ljava/util/Map;

    if-eqz v0, :cond_bb

    .line 128
    iget-object v0, p2, Ldxoptimizer/aae;->l:Ljava/util/Map;

    invoke-interface {v0}, Ljava/util/Map;->entrySet()Ljava/util/Set;

    move-result-object v0

    .line 129
    invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v2

    :goto_9f
    invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_bb

    invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/util/Map$Entry;

    .line 130
    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 {p1, v1, v0}, Ljava/net/HttpURLConnection;->addRequestProperty(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_9f

    .line 133
    :cond_bb
    if-eqz p3, :cond_cb

    .line 134
    invoke-virtual {p1, v6}, Ljava/net/HttpURLConnection;->setDoOutput(Z)V

    .line 135
    const-string v0, "POST"

    invoke-virtual {p1, v0}, Ljava/net/HttpURLConnection;->setRequestMethod(Ljava/lang/String;)V

    .line 136
    iget-boolean v0, p2, Ldxoptimizer/aae;->m:Z

    invoke-virtual {p1, v0}, Ljava/net/HttpURLConnection;->setInstanceFollowRedirects(Z)V

    .line 140
    :goto_ca
    return-object p1

    .line 138
    :cond_cb
    const-string v0, "GET"

    invoke-virtual {p1, v0}, Ljava/net/HttpURLConnection;->setRequestMethod(Ljava/lang/String;)V

    goto :goto_ca
.end method

.method static synthetic a(Lcom/dianxinos/library/network/g;)Ljava/util/Random;
    .registers 2

    .prologue
    .line 27
    iget-object v0, p0, Lcom/dianxinos/library/network/g;->e:Ljava/util/Random;

    return-object v0
.end method


# virtual methods
.method public a(Landroid/content/Context;Ldxoptimizer/aae;Z)Ljava/net/HttpURLConnection;
    .registers 5
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .prologue
    .line 87
    iget-object v0, p2, Ldxoptimizer/aae;->h:Ljava/lang/String;

    if-eqz v0, :cond_f

    .line 88
    iget-object v0, p2, Ldxoptimizer/aae;->h:Ljava/lang/String;

    .line 93
    :goto_6
    invoke-static {p1, v0}, Ldxoptimizer/zo;->a(Landroid/content/Context;Ljava/lang/String;)Ljava/net/HttpURLConnection;

    move-result-object v0

    .line 94
    invoke-direct {p0, v0, p2, p3}, Lcom/dianxinos/library/network/g;->a(Ljava/net/HttpURLConnection;Ldxoptimizer/aae;Z)Ljava/net/HttpURLConnection;

    move-result-object v0

    return-object v0

    .line 90
    :cond_f
    iget-object v0, p2, Ldxoptimizer/aae;->f:Ljava/lang/String;

    goto :goto_6
.end method

.method public a(Ljava/net/HttpURLConnection;Ljava/util/List;Ljava/util/Map;)V
    .registers 9
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/net/HttpURLConnection;",
            "Ljava/util/List",
            "<",
            "Ljava/lang/String;",
            ">;",
            "Ljava/util/Map",
            "<",
            "Ljava/lang/String;",
            "Ljava/util/List",
            "<",
            "Ljava/lang/String;",
            ">;>;)V"
        }
    .end annotation

    .prologue
    .line 240
    invoke-interface {p3}, Ljava/util/Map;->clear()V

    .line 242
    invoke-virtual {p1}, Ljava/net/HttpURLConnection;->getHeaderFields()Ljava/util/Map;

    move-result-object v2

    .line 243
    if-nez v2, :cond_a

    .line 260
    :cond_9
    return-void

    .line 246
    :cond_a
    invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v3

    :cond_e
    :goto_e
    invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_9

    invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/String;

    .line 247
    sget v1, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v4, 0xb

    if-ge v1, v4, :cond_22

    if-eqz v0, :cond_e

    .line 248
    :cond_22
    invoke-interface {v2, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/util/List;

    .line 249
    const-string v4, "ETag"

    invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_49

    if-eqz v1, :cond_38

    invoke-interface {v1}, Ljava/util/List;->isEmpty()Z

    move-result v4

    if-eqz v4, :cond_49

    .line 250
    :cond_38
    const-string v1, "Custom-ETag"

    invoke-interface {v2, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/util/List;

    .line 251
    sget-boolean v4, Ldxoptimizer/zj;->a:Z

    if-eqz v4, :cond_49

    .line 252
    const-string v4, "null ETag, then get Custom-ETag"

    invoke-static {v4}, Ldxoptimizer/zm;->a(Ljava/lang/String;)V

    .line 256
    :cond_49
    if-eqz v1, :cond_e

    invoke-interface {v1}, Ljava/util/List;->isEmpty()Z

    move-result v4

    if-nez v4, :cond_e

    .line 257
    invoke-interface {p3, v0, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    goto :goto_e
.end method

.method public a(Ljava/lang/String;)Z
    .registers 5

    .prologue
    const/4 v0, 0x0

    .line 225
    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-eqz v1, :cond_8

    .line 230
    :cond_7
    :goto_7
    return v0

    .line 228
    :cond_8
    const-string v1, "/+"

    const-string v2, "/"

    .line 229
    invoke-virtual {p1, v1, v2}, Ljava/lang/String;->replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    .line 231
    invoke-static {}, Landroid/os/Environment;->getDownloadCacheDirectory()Ljava/io/File;

    move-result-object v2

    invoke-virtual {v2}, Ljava/io/File;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v2

    if-nez v2, :cond_3a

    .line 233
    invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;

    move-result-object v2

    invoke-virtual {v2}, Ljava/io/File;->toString()Ljava/lang/String;

    move-result-object v2

    .line 232
    invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v2

    if-nez v2, :cond_3a

    .line 234
    invoke-static {}, Landroid/os/Environment;->getDataDirectory()Ljava/io/File;

    move-result-object v2

    invoke-virtual {v2}, Ljava/io/File;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_7

    :cond_3a
    const/4 v0, 0x1

    goto :goto_7
.end method

.method public abstract b()V
.end method

.method public run()V
    .registers 6

    .prologue
    .line 66
    const/4 v1, 0x0

    .line 68
    :try_start_1
    iget-object v0, p0, Lcom/dianxinos/library/network/g;->a:Landroid/content/Context;

    const-string v2, "power"

    invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/os/PowerManager;

    .line 69
    const/4 v2, 0x1

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "DXBNetwork_task_"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    iget-object v4, p0, Lcom/dianxinos/library/network/g;->b:Ldxoptimizer/aae;

    iget v4, v4, Ldxoptimizer/aae;->b:I

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v0, v2, v3}, Landroid/os/PowerManager;->newWakeLock(ILjava/lang/String;)Landroid/os/PowerManager$WakeLock;

    move-result-object v1

    .line 70
    invoke-virtual {v1}, Landroid/os/PowerManager$WakeLock;->acquire()V

    .line 71
    iget-object v0, p0, Lcom/dianxinos/library/network/g;->b:Ldxoptimizer/aae;

    iget v0, v0, Ldxoptimizer/aae;->b:I

    invoke-static {v0}, Ldxoptimizer/zx;->a(I)V

    .line 72
    invoke-virtual {p0}, Lcom/dianxinos/library/network/g;->b()V
    :try_end_34
    .catchall {:try_start_1 .. :try_end_34} :catchall_3d

    .line 74
    invoke-static {}, Ldxoptimizer/zx;->a()V

    .line 75
    if-eqz v1, :cond_3c

    .line 76
    invoke-virtual {v1}, Landroid/os/PowerManager$WakeLock;->release()V

    .line 79
    :cond_3c
    return-void

    .line 74
    :catchall_3d
    move-exception v0

    invoke-static {}, Ldxoptimizer/zx;->a()V

    .line 75
    if-eqz v1, :cond_46

    .line 76
    invoke-virtual {v1}, Landroid/os/PowerManager$WakeLock;->release()V

    :cond_46
    throw v0
.end method