c.smali

.class public Lcom/mooc/network/d/c;
.super Lcom/mooc/network/core/Request;
.source ""


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/mooc/network/d/c$a;
    }
.end annotation

.annotation system Ldalvik/annotation/Signature;
    value = {
        "Lcom/mooc/network/core/Request",
        "<",
        "Ljava/io/File;",
        ">;"
    }
.end annotation


# instance fields
.field public t:Ljava/io/File;

.field public u:Ljava/io/File;

.field public final v:Ljava/lang/Object;

.field public w:Lcom/fulishe/shadow/base/n$a;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lcom/fulishe/shadow/base/n$a",
            "<",
            "Ljava/io/File;",
            ">;"
        }
    .end annotation
.end field


# direct methods
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;Lcom/fulishe/shadow/base/n$a;)V
    .registers 8

    invoke-direct {p0, p2, p3}, Lcom/mooc/network/core/Request;-><init>(Ljava/lang/String;Lcom/fulishe/shadow/base/n$a;)V

    new-instance v0, Ljava/lang/Object;

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

    iput-object v0, p0, Lcom/mooc/network/d/c;->v:Ljava/lang/Object;

    iput-object p3, p0, Lcom/mooc/network/d/c;->w:Lcom/fulishe/shadow/base/n$a;

    new-instance v0, Ljava/io/File;

    invoke-direct {v0, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V

    iput-object v0, p0, Lcom/mooc/network/d/c;->t:Ljava/io/File;

    new-instance v0, Ljava/lang/StringBuilder;

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

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

    const-string v1, ".tmp"

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

    new-instance v1, Ljava/io/File;

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

    move-result-object v0

    invoke-direct {v1, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V

    iput-object v1, p0, Lcom/mooc/network/d/c;->u:Ljava/io/File;

    :try_start_2b
    iget-object v0, p0, Lcom/mooc/network/d/c;->t:Ljava/io/File;
    :try_end_2d
    .catchall {:try_start_2b .. :try_end_2d} :catchall_5f

    if-nez v0, :cond_41

    :cond_2f
    :goto_2f
    new-instance v0, Lcom/mooc/network/core/e;

    const/16 v1, 0x61a8

    const/4 v2, 0x1

    const/high16 v3, 0x3f800000    # 1.0f

    invoke-direct {v0, v1, v2, v3}, Lcom/mooc/network/core/e;-><init>(IIF)V

    invoke-virtual {p0, v0}, Lcom/mooc/network/core/Request;->setRetryPolicy(Lcom/mooc/network/c/d;)Lcom/mooc/network/core/Request;

    const/4 v0, 0x0

    invoke-virtual {p0, v0}, Lcom/mooc/network/core/Request;->a(Z)Lcom/mooc/network/core/Request;

    return-void

    :cond_41
    :try_start_41
    iget-object v0, p0, Lcom/mooc/network/d/c;->t:Ljava/io/File;

    invoke-virtual {v0}, Ljava/io/File;->getParentFile()Ljava/io/File;

    move-result-object v0

    if-eqz v0, :cond_2f

    iget-object v0, p0, Lcom/mooc/network/d/c;->t:Ljava/io/File;

    invoke-virtual {v0}, Ljava/io/File;->getParentFile()Ljava/io/File;

    move-result-object v0

    invoke-virtual {v0}, Ljava/io/File;->exists()Z

    move-result v0

    if-nez v0, :cond_2f

    iget-object v0, p0, Lcom/mooc/network/d/c;->t:Ljava/io/File;

    invoke-virtual {v0}, Ljava/io/File;->getParentFile()Ljava/io/File;

    move-result-object v0

    invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
    :try_end_5e
    .catchall {:try_start_41 .. :try_end_5e} :catchall_5f

    goto :goto_2f

    :catchall_5f
    move-exception v0

    goto :goto_2f
.end method

.method private a(Lcom/mooc/network/core/HttpResponse;Ljava/lang/String;)Ljava/lang/String;
    .registers 7

    const/4 v1, 0x0

    if-eqz p1, :cond_3a

    invoke-virtual {p1}, Lcom/mooc/network/core/HttpResponse;->c()Ljava/util/List;

    move-result-object v0

    if-eqz v0, :cond_3a

    invoke-virtual {p1}, Lcom/mooc/network/core/HttpResponse;->c()Ljava/util/List;

    move-result-object v0

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

    move-result v0

    if-nez v0, :cond_3a

    invoke-virtual {p1}, Lcom/mooc/network/core/HttpResponse;->c()Ljava/util/List;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v2

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

    move-result v0

    if-eqz v0, :cond_38

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

    move-result-object v0

    check-cast v0, Lcom/mooc/network/core/Header;

    if-eqz v0, :cond_1b

    invoke-virtual {v0}, Lcom/mooc/network/core/Header;->a()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3, p2}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z

    move-result v3

    if-eqz v3, :cond_1b

    invoke-virtual {v0}, Lcom/mooc/network/core/Header;->b()Ljava/lang/String;

    move-result-object v0

    :goto_37
    return-object v0

    :cond_38
    move-object v0, v1

    goto :goto_37

    :cond_3a
    move-object v0, v1

    goto :goto_37
.end method

.method private b(Lcom/mooc/network/core/HttpResponse;)Z
    .registers 5

    const/4 v0, 0x1

    const-string v1, "Accept-Ranges"

    invoke-direct {p0, p1, v1}, Lcom/mooc/network/d/c;->a(Lcom/mooc/network/core/HttpResponse;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    const-string v2, "bytes"

    invoke-static {v1, v2}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z

    move-result v1

    if-eqz v1, :cond_10

    :cond_f
    :goto_f
    return v0

    :cond_10
    const-string v1, "Content-Range"

    invoke-direct {p0, p1, v1}, Lcom/mooc/network/d/c;->a(Lcom/mooc/network/core/HttpResponse;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    if-eqz v1, :cond_20

    const-string v2, "bytes"

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

    move-result v1

    if-nez v1, :cond_f

    :cond_20
    const/4 v0, 0x0

    goto :goto_f
.end method

.method private c(Lcom/mooc/network/core/HttpResponse;)Z
    .registers 4

    const-string v0, "Content-Encoding"

    invoke-direct {p0, p1, v0}, Lcom/mooc/network/d/c;->a(Lcom/mooc/network/core/HttpResponse;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    const-string v1, "gzip"

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

    move-result v0

    return v0
.end method

.method private z()V
    .registers 2

    :try_start_0
    iget-object v0, p0, Lcom/mooc/network/d/c;->t:Ljava/io/File;

    invoke-virtual {v0}, Ljava/io/File;->delete()Z
    :try_end_5
    .catchall {:try_start_0 .. :try_end_5} :catchall_d

    :goto_5
    :try_start_5
    iget-object v0, p0, Lcom/mooc/network/d/c;->t:Ljava/io/File;

    invoke-virtual {v0}, Ljava/io/File;->delete()Z
    :try_end_a
    .catchall {:try_start_5 .. :try_end_a} :catchall_b

    :goto_a
    return-void

    :catchall_b
    move-exception v0

    goto :goto_a

    :catchall_d
    move-exception v0

    goto :goto_5
.end method


# virtual methods
.method public a(Lcom/mooc/network/core/j;)Lcom/fulishe/shadow/base/n;
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/mooc/network/core/j;",
            ")",
            "Lcom/fulishe/shadow/base/n",
            "<",
            "Ljava/io/File;",
            ">;"
        }
    .end annotation

    invoke-virtual {p0}, Lcom/mooc/network/core/Request;->r()Z

    move-result v0

    if-nez v0, :cond_4c

    iget-object v0, p0, Lcom/mooc/network/d/c;->u:Ljava/io/File;

    invoke-virtual {v0}, Ljava/io/File;->canRead()Z

    move-result v0

    if-eqz v0, :cond_3d

    iget-object v0, p0, Lcom/mooc/network/d/c;->u:Ljava/io/File;

    invoke-virtual {v0}, Ljava/io/File;->length()J

    move-result-wide v0

    const-wide/16 v2, 0x0

    cmp-long v0, v0, v2

    if-lez v0, :cond_3d

    iget-object v0, p0, Lcom/mooc/network/d/c;->u:Ljava/io/File;

    iget-object v1, p0, Lcom/mooc/network/d/c;->t:Ljava/io/File;

    invoke-virtual {v0, v1}, Ljava/io/File;->renameTo(Ljava/io/File;)Z

    move-result v0

    if-eqz v0, :cond_2e

    invoke-static {p1}, Lcom/mooc/network/e/b;->a(Lcom/mooc/network/core/j;)Lcom/mooc/network/c/a$a;

    move-result-object v0

    const/4 v1, 0x0

    invoke-static {v1, v0}, Lcom/fulishe/shadow/base/n;->a(Ljava/lang/Object;Lcom/mooc/network/c/a$a;)Lcom/fulishe/shadow/base/n;

    move-result-object v0

    :goto_2d
    return-object v0

    :cond_2e
    invoke-direct {p0}, Lcom/mooc/network/d/c;->z()V

    new-instance v0, Lcom/fulishe/shadow/base/VAdError;

    const-string v1, "Can\'t rename the download temporary file!"

    invoke-direct {v0, v1}, Lcom/fulishe/shadow/base/VAdError;-><init>(Ljava/lang/String;)V

    invoke-static {v0}, Lcom/fulishe/shadow/base/n;->a(Lcom/fulishe/shadow/base/VAdError;)Lcom/fulishe/shadow/base/n;

    move-result-object v0

    goto :goto_2d

    :cond_3d
    invoke-direct {p0}, Lcom/mooc/network/d/c;->z()V

    new-instance v0, Lcom/fulishe/shadow/base/VAdError;

    const-string v1, "Download temporary file was invalid!"

    invoke-direct {v0, v1}, Lcom/fulishe/shadow/base/VAdError;-><init>(Ljava/lang/String;)V

    invoke-static {v0}, Lcom/fulishe/shadow/base/n;->a(Lcom/fulishe/shadow/base/VAdError;)Lcom/fulishe/shadow/base/n;

    move-result-object v0

    goto :goto_2d

    :cond_4c
    invoke-direct {p0}, Lcom/mooc/network/d/c;->z()V

    new-instance v0, Lcom/fulishe/shadow/base/VAdError;

    const-string v1, "Request was Canceled!"

    invoke-direct {v0, v1}, Lcom/fulishe/shadow/base/VAdError;-><init>(Ljava/lang/String;)V

    invoke-static {v0}, Lcom/fulishe/shadow/base/n;->a(Lcom/fulishe/shadow/base/VAdError;)Lcom/fulishe/shadow/base/n;

    move-result-object v0

    goto :goto_2d
.end method

.method public a()V
    .registers 3

    invoke-super {p0}, Lcom/mooc/network/core/Request;->a()V

    iget-object v1, p0, Lcom/mooc/network/d/c;->v:Ljava/lang/Object;

    monitor-enter v1

    const/4 v0, 0x0

    :try_start_7
    iput-object v0, p0, Lcom/mooc/network/d/c;->w:Lcom/fulishe/shadow/base/n$a;

    monitor-exit v1

    return-void

    :catchall_b
    move-exception v0

    monitor-exit v1
    :try_end_d
    .catchall {:try_start_7 .. :try_end_d} :catchall_b

    throw v0
.end method

.method public a(JJ)V
    .registers 8

    iget-object v1, p0, Lcom/mooc/network/d/c;->v:Ljava/lang/Object;

    monitor-enter v1

    :try_start_3
    iget-object v0, p0, Lcom/mooc/network/d/c;->w:Lcom/fulishe/shadow/base/n$a;

    monitor-exit v1
    :try_end_6
    .catchall {:try_start_3 .. :try_end_6} :catchall_10

    instance-of v1, v0, Lcom/mooc/network/d/c$a;

    if-eqz v1, :cond_f

    check-cast v0, Lcom/mooc/network/d/c$a;

    invoke-interface {v0, p1, p2, p3, p4}, Lcom/mooc/network/d/c$a;->a(JJ)V

    :cond_f
    return-void

    :catchall_10
    move-exception v0

    :try_start_11
    monitor-exit v1
    :try_end_12
    .catchall {:try_start_11 .. :try_end_12} :catchall_10

    throw v0
.end method

.method public a(Lcom/mooc/network/core/HttpResponse;)[B
    .registers 15

    invoke-virtual {p1}, Lcom/mooc/network/core/HttpResponse;->b()I

    move-result v0

    int-to-long v2, v0

    const-wide/16 v0, 0x0

    cmp-long v0, v2, v0

    if-gtz v0, :cond_13

    const/4 v1, 0x0

    new-array v1, v1, [Ljava/lang/Object;

    const-string v4, "Response doesn\'t present Content-Length!"

    invoke-static {v4, v1}, Lcom/mooc/network/core/m;->b(Ljava/lang/String;[Ljava/lang/Object;)V

    :cond_13
    invoke-virtual {p0}, Lcom/mooc/network/d/c;->y()Ljava/io/File;

    move-result-object v1

    invoke-virtual {v1}, Ljava/io/File;->length()J

    move-result-wide v6

    invoke-direct {p0, p1}, Lcom/mooc/network/d/c;->b(Lcom/mooc/network/core/HttpResponse;)Z

    move-result v5

    if-eqz v5, :cond_56

    add-long v8, v6, v2

    const-string v1, "Content-Range"

    invoke-direct {p0, p1, v1}, Lcom/mooc/network/d/c;->a(Lcom/mooc/network/core/HttpResponse;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

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

    move-result v4

    if-nez v4, :cond_56

    new-instance v4, Ljava/lang/StringBuilder;

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

    const-string v10, "bytes "

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

    move-result-object v4

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

    move-result-object v4

    const-string v10, "-"

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

    move-result-object v4

    const-wide/16 v10, 0x1

    sub-long/2addr v8, v10

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

    move-result-object v4

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

    move-result-object v4

    invoke-static {v1, v4}, Landroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I

    move-result v8

    const/4 v9, -0x1

    if-eq v8, v9, :cond_7e

    :cond_56
    if-lez v0, :cond_ae

    invoke-virtual {p0}, Lcom/mooc/network/d/c;->x()Ljava/io/File;

    move-result-object v0

    invoke-virtual {v0}, Ljava/io/File;->length()J

    move-result-wide v0

    cmp-long v0, v0, v2

    if-nez v0, :cond_ae

    invoke-virtual {p0}, Lcom/mooc/network/d/c;->x()Ljava/io/File;

    move-result-object v0

    invoke-virtual {p0}, Lcom/mooc/network/d/c;->y()Ljava/io/File;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/io/File;->renameTo(Ljava/io/File;)Z

    invoke-virtual {p0}, Lcom/mooc/network/core/Request;->j()Lcom/mooc/network/core/l;

    move-result-object v0

    invoke-virtual {v0}, Lcom/mooc/network/core/l;->a()Lcom/mooc/network/c/c;

    move-result-object v0

    move-object v1, p0

    move-wide v4, v2

    invoke-interface/range {v0 .. v5}, Lcom/mooc/network/c/c;->a(Lcom/mooc/network/core/Request;JJ)V

    const/4 v0, 0x0

    :goto_7d
    return-object v0

    :cond_7e
    new-instance v0, Ljava/lang/StringBuilder;

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

    const-string v2, "The Content-Range Header is invalid Assume["

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

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

    const-string v2, "] vs Real["

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

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

    const-string v1, "], please remove the temporary file ["

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

    invoke-virtual {p0}, Lcom/mooc/network/d/c;->y()Ljava/io/File;

    move-result-object v1

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

    const-string v1, "]."

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

    new-instance v1, Ljava/lang/IllegalStateException;

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

    move-result-object v0

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

    throw v1

    :cond_ae
    invoke-virtual {p0}, Lcom/mooc/network/d/c;->x()Ljava/io/File;

    move-result-object v0

    if-eqz v0, :cond_c5

    invoke-virtual {p0}, Lcom/mooc/network/d/c;->x()Ljava/io/File;

    move-result-object v0

    invoke-virtual {v0}, Ljava/io/File;->exists()Z

    move-result v0

    if-eqz v0, :cond_c5

    invoke-virtual {p0}, Lcom/mooc/network/d/c;->x()Ljava/io/File;

    move-result-object v0

    invoke-virtual {v0}, Ljava/io/File;->delete()Z

    :cond_c5
    const/4 v1, 0x0

    const/4 v4, 0x0

    :try_start_c7
    new-instance v0, Ljava/io/RandomAccessFile;

    invoke-virtual {p0}, Lcom/mooc/network/d/c;->y()Ljava/io/File;

    move-result-object v8

    const-string v9, "rw"

    invoke-direct {v0, v8, v9}, Ljava/io/RandomAccessFile;-><init>(Ljava/io/File;Ljava/lang/String;)V
    :try_end_d2
    .catch Ljava/io/IOException; {:try_start_c7 .. :try_end_d2} :catch_162
    .catchall {:try_start_c7 .. :try_end_d2} :catchall_17b

    if-eqz v5, :cond_10c

    :try_start_d4
    invoke-virtual {v0, v6, v7}, Ljava/io/RandomAccessFile;->seek(J)V

    :goto_d7
    invoke-virtual {p1}, Lcom/mooc/network/core/HttpResponse;->a()Ljava/io/InputStream;
    :try_end_da
    .catch Ljava/io/IOException; {:try_start_d4 .. :try_end_da} :catch_112
    .catchall {:try_start_d4 .. :try_end_da} :catchall_15d

    move-result-object v4

    :try_start_db
    invoke-direct {p0, p1}, Lcom/mooc/network/d/c;->c(Lcom/mooc/network/core/HttpResponse;)Z

    move-result v1

    if-eqz v1, :cond_12e

    instance-of v1, v4, Ljava/util/zip/GZIPInputStream;

    if-nez v1, :cond_12e

    new-instance v1, Ljava/util/zip/GZIPInputStream;

    invoke-direct {v1, v4}, Ljava/util/zip/GZIPInputStream;-><init>(Ljava/io/InputStream;)V
    :try_end_ea
    .catch Ljava/io/IOException; {:try_start_db .. :try_end_ea} :catch_17d
    .catchall {:try_start_db .. :try_end_ea} :catchall_15d

    :goto_ea
    const/16 v4, 0x400

    :try_start_ec
    new-array v10, v4, [B

    invoke-virtual {p0}, Lcom/mooc/network/core/Request;->j()Lcom/mooc/network/core/l;

    move-result-object v4

    invoke-virtual {v4}, Lcom/mooc/network/core/l;->a()Lcom/mooc/network/c/c;

    move-result-object v4

    move-object v5, p0

    move-wide v8, v2

    invoke-interface/range {v4 .. v9}, Lcom/mooc/network/c/c;->a(Lcom/mooc/network/core/Request;JJ)V

    :goto_fb
    invoke-virtual {v1, v10}, Ljava/io/InputStream;->read([B)I
    :try_end_fe
    .catch Ljava/io/IOException; {:try_start_ec .. :try_end_fe} :catch_15b
    .catchall {:try_start_ec .. :try_end_fe} :catchall_11d

    move-result v4

    const/4 v5, -0x1

    if-ne v4, v5, :cond_144

    const/4 v2, 0x0

    :try_start_103
    invoke-virtual {v1}, Ljava/io/InputStream;->close()V
    :try_end_106
    .catchall {:try_start_103 .. :try_end_106} :catchall_130

    :goto_106
    :try_start_106
    invoke-virtual {v0}, Ljava/io/RandomAccessFile;->close()V
    :try_end_109
    .catchall {:try_start_106 .. :try_end_109} :catchall_13a

    :goto_109
    move-object v0, v2

    goto/16 :goto_7d

    :cond_10c
    const-wide/16 v6, 0x0

    :try_start_10e
    invoke-virtual {v0, v6, v7}, Ljava/io/RandomAccessFile;->setLength(J)V
    :try_end_111
    .catch Ljava/io/IOException; {:try_start_10e .. :try_end_111} :catch_112
    .catchall {:try_start_10e .. :try_end_111} :catchall_15d

    goto :goto_d7

    :catch_112
    move-exception v2

    move-object v1, v4

    :goto_114
    const-string v3, "Error occured when calling consumingContent"

    const/4 v4, 0x0

    :try_start_117
    new-array v4, v4, [Ljava/lang/Object;

    invoke-static {v3, v4}, Lcom/mooc/network/core/m;->d(Ljava/lang/String;[Ljava/lang/Object;)V

    throw v2
    :try_end_11d
    .catchall {:try_start_117 .. :try_end_11d} :catchall_11d

    :catchall_11d
    move-exception v2

    move-object v12, v2

    move-object v2, v1

    move-object v1, v0

    move-object v0, v12

    move-object v4, v2

    :goto_123
    if-eqz v4, :cond_128

    :try_start_125
    invoke-virtual {v4}, Ljava/io/InputStream;->close()V
    :try_end_128
    .catchall {:try_start_125 .. :try_end_128} :catchall_167

    :cond_128
    :goto_128
    if-eqz v1, :cond_12d

    :try_start_12a
    invoke-virtual {v1}, Ljava/io/RandomAccessFile;->close()V
    :try_end_12d
    .catchall {:try_start_12a .. :try_end_12d} :catchall_171

    :cond_12d
    :goto_12d
    throw v0

    :cond_12e
    move-object v1, v4

    goto :goto_ea

    :catchall_130
    move-exception v1

    const/4 v1, 0x0

    new-array v1, v1, [Ljava/lang/Object;

    const-string v3, "Error occured when calling InputStream.close"

    invoke-static {v3, v1}, Lcom/mooc/network/core/m;->d(Ljava/lang/String;[Ljava/lang/Object;)V

    goto :goto_106

    :catchall_13a
    move-exception v0

    const/4 v0, 0x0

    new-array v0, v0, [Ljava/lang/Object;

    const-string v1, "Error occured when calling tmpFile.close"

    invoke-static {v1, v0}, Lcom/mooc/network/core/m;->d(Ljava/lang/String;[Ljava/lang/Object;)V

    goto :goto_109

    :cond_144
    const/4 v5, 0x0

    :try_start_145
    invoke-virtual {v0, v10, v5, v4}, Ljava/io/RandomAccessFile;->write([BII)V

    int-to-long v4, v4

    add-long/2addr v6, v4

    invoke-virtual {p0}, Lcom/mooc/network/core/Request;->j()Lcom/mooc/network/core/l;

    move-result-object v4

    invoke-virtual {v4}, Lcom/mooc/network/core/l;->a()Lcom/mooc/network/c/c;

    move-result-object v4

    move-object v5, p0

    move-wide v8, v2

    invoke-interface/range {v4 .. v9}, Lcom/mooc/network/c/c;->a(Lcom/mooc/network/core/Request;JJ)V

    invoke-virtual {p0}, Lcom/mooc/network/core/Request;->r()Z
    :try_end_15a
    .catch Ljava/io/IOException; {:try_start_145 .. :try_end_15a} :catch_15b
    .catchall {:try_start_145 .. :try_end_15a} :catchall_11d

    goto :goto_fb

    :catch_15b
    move-exception v2

    goto :goto_114

    :catchall_15d
    move-exception v1

    move-object v12, v0

    move-object v0, v1

    move-object v1, v12

    goto :goto_123

    :catch_162
    move-exception v0

    move-object v2, v0

    move-object v0, v1

    move-object v1, v4

    goto :goto_114

    :catchall_167
    move-exception v2

    const/4 v2, 0x0

    new-array v2, v2, [Ljava/lang/Object;

    const-string v3, "Error occured when calling InputStream.close"

    invoke-static {v3, v2}, Lcom/mooc/network/core/m;->d(Ljava/lang/String;[Ljava/lang/Object;)V

    goto :goto_128

    :catchall_171
    move-exception v1

    const/4 v1, 0x0

    new-array v1, v1, [Ljava/lang/Object;

    const-string v2, "Error occured when calling tmpFile.close"

    invoke-static {v2, v1}, Lcom/mooc/network/core/m;->d(Ljava/lang/String;[Ljava/lang/Object;)V

    goto :goto_12d

    :catchall_17b
    move-exception v0

    goto :goto_123

    :catch_17d
    move-exception v2

    move-object v1, v4

    goto :goto_114
.end method

.method public b(Lcom/fulishe/shadow/base/n;)V
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/fulishe/shadow/base/n",
            "<",
            "Ljava/io/File;",
            ">;)V"
        }
    .end annotation

    iget-object v1, p0, Lcom/mooc/network/d/c;->v:Ljava/lang/Object;

    monitor-enter v1

    :try_start_3
    iget-object v0, p0, Lcom/mooc/network/d/c;->w:Lcom/fulishe/shadow/base/n$a;

    monitor-exit v1
    :try_end_6
    .catchall {:try_start_3 .. :try_end_6} :catchall_15

    if-nez v0, :cond_9

    :goto_8
    return-void

    :cond_9
    iget-object v1, p0, Lcom/mooc/network/d/c;->t:Ljava/io/File;

    iget-object v2, p1, Lcom/fulishe/shadow/base/n;->b:Lcom/mooc/network/c/a$a;

    invoke-static {v1, v2}, Lcom/fulishe/shadow/base/n;->a(Ljava/lang/Object;Lcom/mooc/network/c/a$a;)Lcom/fulishe/shadow/base/n;

    move-result-object v1

    invoke-interface {v0, v1}, Lcom/fulishe/shadow/base/n$a;->b(Lcom/fulishe/shadow/base/n;)V

    goto :goto_8

    :catchall_15
    move-exception v0

    :try_start_16
    monitor-exit v1
    :try_end_17
    .catchall {:try_start_16 .. :try_end_17} :catchall_15

    throw v0
.end method

.method public getHeaders()Ljava/util/Map;
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/Map",
            "<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation

    new-instance v0, Ljava/util/HashMap;

    invoke-direct {v0}, Ljava/util/HashMap;-><init>()V

    new-instance v1, Ljava/lang/StringBuilder;

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

    const-string v2, "bytes="

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

    move-result-object v1

    iget-object v2, p0, Lcom/mooc/network/d/c;->u:Ljava/io/File;

    invoke-virtual {v2}, Ljava/io/File;->length()J

    move-result-wide v2

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

    move-result-object v1

    const-string v2, "-"

    invoke-virtual {v1, v2}, 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

    const-string v2, "Range"

    invoke-virtual {v0, v2, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    const-string v1, "Accept-Encoding"

    const-string v2, "identity"

    invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    return-object v0
.end method

.method public i()Lcom/mooc/network/core/Request$c;
    .registers 2

    sget-object v0, Lcom/mooc/network/core/Request$c;->a:Lcom/mooc/network/core/Request$c;

    return-object v0
.end method

.method public x()Ljava/io/File;
    .registers 2

    iget-object v0, p0, Lcom/mooc/network/d/c;->t:Ljava/io/File;

    return-object v0
.end method

.method public y()Ljava/io/File;
    .registers 2

    iget-object v0, p0, Lcom/mooc/network/d/c;->u:Ljava/io/File;

    return-object v0
.end method