e.smali
.class Lcom/sandboxol/file/c/e;
.super Ljava/lang/Object;
.source "Rxdownload3.java"
# interfaces
.implements Lf/b/c;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/sandboxol/file/c/f;->a(Lcom/sandboxol/file/b/a;Lcom/sandboxol/file/d/c;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lf/b/c<",
"Lzlc/season/rxdownload3/core/Status;",
">;"
}
.end annotation
# instance fields
.field private a:Lcom/sandboxol/file/entity/Progress;
.field final synthetic b:Ljava/util/List;
.field final synthetic c:Lcom/sandboxol/file/d/c;
.field final synthetic d:Lcom/sandboxol/file/b/a;
.field final synthetic e:Lcom/sandboxol/file/c/f;
# direct methods
.method constructor <init>(Lcom/sandboxol/file/c/f;Ljava/util/List;Lcom/sandboxol/file/d/c;Lcom/sandboxol/file/b/a;)V
.registers 5
.line 1
iput-object p1, p0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
iput-object p2, p0, Lcom/sandboxol/file/c/e;->b:Ljava/util/List;
iput-object p3, p0, Lcom/sandboxol/file/c/e;->c:Lcom/sandboxol/file/d/c;
iput-object p4, p0, Lcom/sandboxol/file/c/e;->d:Lcom/sandboxol/file/b/a;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance p1, Lcom/sandboxol/file/entity/Progress;
invoke-direct {p1}, Lcom/sandboxol/file/entity/Progress;-><init>()V
iput-object p1, p0, Lcom/sandboxol/file/c/e;->a:Lcom/sandboxol/file/entity/Progress;
return-void
.end method
# virtual methods
.method public a(Lzlc/season/rxdownload3/core/Status;)V
.registers 18
move-object/from16 v0, p0
move-object/from16 v1, p1
.line 1
instance-of v2, v1, Lzlc/season/rxdownload3/core/Failed;
if-eqz v2, :cond_13
.line 2
check-cast v1, Lzlc/season/rxdownload3/core/Failed;
invoke-virtual {v1}, Lzlc/season/rxdownload3/core/Failed;->e()Ljava/lang/Throwable;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/sandboxol/file/c/e;->onError(Ljava/lang/Throwable;)V
goto/16 :goto_1bc
.line 3
:cond_13
instance-of v2, v1, Lzlc/season/rxdownload3/core/Succeed;
if-eqz v2, :cond_5e
.line 4
iget-object v2, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-static {v2}, Lcom/sandboxol/file/c/f;->b(Lcom/sandboxol/file/c/f;)Ljava/util/Map;
move-result-object v2
invoke-virtual/range {p1 .. p1}, Lzlc/season/rxdownload3/core/Status;->c()Ljava/lang/String;
move-result-object v3
invoke-interface {v2, v3, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "----Succeed----"
const-string v2, "Rxdownload3"
.line 5
invoke-static {v2, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 6
iget-object v3, v0, Lcom/sandboxol/file/c/e;->b:Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->size()I
move-result v3
iget-object v4, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-static {v4}, Lcom/sandboxol/file/c/f;->b(Lcom/sandboxol/file/c/f;)Ljava/util/Map;
move-result-object v4
invoke-interface {v4}, Ljava/util/Map;->size()I
move-result v4
if-ne v3, v4, :cond_1bc
.line 7
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-static {v1}, Lcom/sandboxol/file/c/f;->b(Lcom/sandboxol/file/c/f;)Ljava/util/Map;
move-result-object v1
invoke-interface {v1}, Ljava/util/Map;->size()I
move-result v1
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v2, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 8
invoke-virtual/range {p0 .. p0}, Lcom/sandboxol/file/c/e;->onComplete()V
goto/16 :goto_1bc
.line 9
:cond_5e
iget-object v2, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-static {v2}, Lcom/sandboxol/file/c/f;->c(Lcom/sandboxol/file/c/f;)Ljava/util/Map;
move-result-object v2
invoke-virtual/range {p1 .. p1}, Lzlc/season/rxdownload3/core/Status;->c()Ljava/lang/String;
move-result-object v3
invoke-interface {v2, v3, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 10
iget-object v2, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-static {v2}, Lcom/sandboxol/file/c/f;->c(Lcom/sandboxol/file/c/f;)Ljava/util/Map;
move-result-object v2
invoke-interface {v2}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object v2
invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v2
const-wide/16 v3, 0x0
move-wide v5, v3
:goto_7c
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v7
if-eqz v7, :cond_93
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v7
check-cast v7, Lzlc/season/rxdownload3/core/Status;
.line 11
invoke-virtual {v7}, Lzlc/season/rxdownload3/core/Status;->d()J
move-result-wide v8
add-long/2addr v5, v8
.line 12
invoke-virtual {v7}, Lzlc/season/rxdownload3/core/Status;->b()J
move-result-wide v7
add-long/2addr v3, v7
goto :goto_7c
.line 13
:cond_93
iget-object v2, v0, Lcom/sandboxol/file/c/e;->a:Lcom/sandboxol/file/entity/Progress;
invoke-static {v3, v4}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v7
invoke-static {v5, v6}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v8
invoke-virtual {v2, v7, v8}, Lcom/sandboxol/file/entity/Progress;->setSize(Ljava/lang/Long;Ljava/lang/Long;)Lcom/sandboxol/file/entity/Progress;
.line 14
iget-object v2, v0, Lcom/sandboxol/file/c/e;->a:Lcom/sandboxol/file/entity/Progress;
invoke-virtual/range {p1 .. p1}, Lzlc/season/rxdownload3/core/Status;->c()Ljava/lang/String;
move-result-object v1
invoke-virtual {v2, v1}, Lcom/sandboxol/file/entity/Progress;->setUrl(Ljava/lang/String;)Lcom/sandboxol/file/entity/Progress;
.line 15
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v1
.line 16
iget-object v7, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-static {v7}, Lcom/sandboxol/file/c/f;->a(Lcom/sandboxol/file/c/f;)J
move-result-wide v7
sub-long v7, v1, v7
.line 17
iget-object v9, v0, Lcom/sandboxol/file/c/e;->a:Lcom/sandboxol/file/entity/Progress;
invoke-virtual {v9, v7, v8}, Lcom/sandboxol/file/entity/Progress;->setDownloadTime(J)Lcom/sandboxol/file/entity/Progress;
long-to-double v9, v3
.line 18
iget-object v11, v0, Lcom/sandboxol/file/c/e;->a:Lcom/sandboxol/file/entity/Progress;
invoke-virtual {v11}, Lcom/sandboxol/file/entity/Progress;->getDownloadTime()J
move-result-wide v11
long-to-double v11, v11
const-wide/16 v13, 0x0
cmpl-double v15, v11, v13
if-nez v15, :cond_cb
const-wide/high16 v11, 0x3ff0000000000000L # 1.0
goto :goto_d2
:cond_cb
iget-object v11, v0, Lcom/sandboxol/file/c/e;->a:Lcom/sandboxol/file/entity/Progress;
invoke-virtual {v11}, Lcom/sandboxol/file/entity/Progress;->getDownloadTime()J
move-result-wide v11
long-to-double v11, v11
:goto_d2
invoke-static {v9, v10}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v9, v11
.line 19
new-instance v11, Ljava/math/BigDecimal;
invoke-direct {v11, v9, v10}, Ljava/math/BigDecimal;-><init>(D)V
const/4 v9, 0x2
const/4 v10, 0x4
.line 20
invoke-virtual {v11, v9, v10}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
move-result-object v9
invoke-virtual {v9}, Ljava/math/BigDecimal;->doubleValue()D
move-result-wide v9
.line 21
iget-object v11, v0, Lcom/sandboxol/file/c/e;->a:Lcom/sandboxol/file/entity/Progress;
invoke-virtual {v11, v9, v10}, Lcom/sandboxol/file/entity/Progress;->setDownloadRate(D)Lcom/sandboxol/file/entity/Progress;
const-wide/16 v11, 0x64
mul-long v11, v11, v3
.line 22
div-long/2addr v11, v5
long-to-int v5, v11
.line 23
iget-object v6, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-static {v6}, Lcom/sandboxol/file/c/f;->d(Lcom/sandboxol/file/c/f;)I
move-result v6
if-eq v6, v5, :cond_104
.line 24
iget-object v6, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-static {v6, v5}, Lcom/sandboxol/file/c/f;->a(Lcom/sandboxol/file/c/f;I)I
.line 25
iget-object v5, v0, Lcom/sandboxol/file/c/e;->c:Lcom/sandboxol/file/d/c;
iget-object v6, v0, Lcom/sandboxol/file/c/e;->a:Lcom/sandboxol/file/entity/Progress;
invoke-interface {v5, v6}, Lcom/sandboxol/file/d/c;->onNext(Lcom/sandboxol/file/entity/Progress;)V
.line 26
:cond_104
iget-object v5, v0, Lcom/sandboxol/file/c/e;->d:Lcom/sandboxol/file/b/a;
invoke-virtual {v5}, Lcom/sandboxol/file/b/a;->b()Lcom/sandboxol/file/entity/DownloadConfig;
move-result-object v5
invoke-virtual {v5}, Lcom/sandboxol/file/entity/DownloadConfig;->getStartCountingTime()I
move-result v5
int-to-long v5, v5
cmp-long v11, v7, v5
if-lez v11, :cond_127
iget-object v5, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-static {v5}, Lcom/sandboxol/file/c/f;->e(Lcom/sandboxol/file/c/f;)D
move-result-wide v5
cmpl-double v11, v9, v5
if-lez v11, :cond_127
.line 27
iget-object v5, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-static {v5, v9, v10}, Lcom/sandboxol/file/c/f;->a(Lcom/sandboxol/file/c/f;D)D
.line 28
iget-object v5, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-static {v5, v1, v2}, Lcom/sandboxol/file/c/f;->b(Lcom/sandboxol/file/c/f;J)J
.line 29
:cond_127
iget-object v5, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-static {v5}, Lcom/sandboxol/file/c/f;->e(Lcom/sandboxol/file/c/f;)D
move-result-wide v5
div-double/2addr v5, v9
iget-object v11, v0, Lcom/sandboxol/file/c/e;->d:Lcom/sandboxol/file/b/a;
invoke-virtual {v11}, Lcom/sandboxol/file/b/a;->b()Lcom/sandboxol/file/entity/DownloadConfig;
move-result-object v11
invoke-virtual {v11}, Lcom/sandboxol/file/entity/DownloadConfig;->getRateMultiple()I
move-result v11
int-to-double v11, v11
const-string v13, "testDownload recount"
cmpl-double v14, v5, v11
if-lez v14, :cond_198
iget-object v5, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
.line 30
invoke-static {v5}, Lcom/sandboxol/file/c/f;->f(Lcom/sandboxol/file/c/f;)J
move-result-wide v5
sub-long/2addr v1, v5
iget-object v5, v0, Lcom/sandboxol/file/c/e;->d:Lcom/sandboxol/file/b/a;
invoke-virtual {v5}, Lcom/sandboxol/file/b/a;->b()Lcom/sandboxol/file/entity/DownloadConfig;
move-result-object v5
invoke-virtual {v5}, Lcom/sandboxol/file/entity/DownloadConfig;->getSlowPeriod()I
move-result v5
int-to-long v5, v5
cmp-long v11, v1, v5
if-gtz v11, :cond_198
iget-object v1, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-static {v1}, Lcom/sandboxol/file/c/f;->g(Lcom/sandboxol/file/c/f;)I
move-result v1
iget-object v2, v0, Lcom/sandboxol/file/c/e;->d:Lcom/sandboxol/file/b/a;
invoke-virtual {v2}, Lcom/sandboxol/file/b/a;->b()Lcom/sandboxol/file/entity/DownloadConfig;
move-result-object v2
invoke-virtual {v2}, Lcom/sandboxol/file/entity/DownloadConfig;->getReconnectCount()I
move-result v2
if-ge v1, v2, :cond_198
.line 31
iget-object v1, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-static {v1}, Lcom/sandboxol/file/c/f;->h(Lcom/sandboxol/file/c/f;)I
.line 32
iget-object v1, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-virtual {v1}, Lcom/sandboxol/file/c/a;->a()Lf/b/d;
move-result-object v1
invoke-interface {v1}, Lf/b/d;->cancel()V
.line 33
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
iget-object v2, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-static {v2}, Lcom/sandboxol/file/c/f;->g(Lcom/sandboxol/file/c/f;)I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, ""
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v13, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 34
iget-object v1, v0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
iget-object v2, v0, Lcom/sandboxol/file/c/e;->d:Lcom/sandboxol/file/b/a;
iget-object v5, v0, Lcom/sandboxol/file/c/e;->c:Lcom/sandboxol/file/d/c;
invoke-virtual {v1, v2, v5}, Lcom/sandboxol/file/c/f;->a(Lcom/sandboxol/file/b/a;Lcom/sandboxol/file/d/c;)V
.line 35
:cond_198
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, " , size : "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v2, " , time : "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v7, v8}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v2, " , rate : "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v9, v10}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v13, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_1bc
:goto_1bc
return-void
.end method
.method public onComplete()V
.registers 3
.line 1
iget-object v0, p0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-virtual {v0}, Lcom/sandboxol/file/c/a;->a()Lf/b/d;
move-result-object v0
invoke-interface {v0}, Lf/b/d;->cancel()V
.line 2
iget-object v0, p0, Lcom/sandboxol/file/c/e;->c:Lcom/sandboxol/file/d/c;
iget-object v1, p0, Lcom/sandboxol/file/c/e;->a:Lcom/sandboxol/file/entity/Progress;
invoke-interface {v0, v1}, Lcom/sandboxol/file/d/c;->onComplete(Lcom/sandboxol/file/entity/Progress;)V
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.registers 3
.line 1
iget-object v0, p0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-static {v0}, Lcom/sandboxol/file/c/f;->i(Lcom/sandboxol/file/c/f;)V
.line 2
iget-object v0, p0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-virtual {v0}, Lcom/sandboxol/file/c/a;->a()Lf/b/d;
move-result-object v0
invoke-interface {v0}, Lf/b/d;->cancel()V
.line 3
iget-object v0, p0, Lcom/sandboxol/file/c/e;->c:Lcom/sandboxol/file/d/c;
invoke-interface {v0, p1}, Lcom/sandboxol/file/d/c;->onError(Ljava/lang/Throwable;)V
return-void
.end method
.method public bridge synthetic onNext(Ljava/lang/Object;)V
.registers 2
.line 1
check-cast p1, Lzlc/season/rxdownload3/core/Status;
invoke-virtual {p0, p1}, Lcom/sandboxol/file/c/e;->a(Lzlc/season/rxdownload3/core/Status;)V
return-void
.end method
.method public onSubscribe(Lf/b/d;)V
.registers 4
.line 1
iget-object v0, p0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-virtual {v0, p1}, Lcom/sandboxol/file/c/a;->a(Lf/b/d;)V
const-wide v0, 0x7fffffffffffffffL
.line 2
invoke-interface {p1, v0, v1}, Lf/b/d;->request(J)V
.line 3
iget-object p1, p0, Lcom/sandboxol/file/c/e;->e:Lcom/sandboxol/file/c/f;
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
invoke-static {p1, v0, v1}, Lcom/sandboxol/file/c/f;->a(Lcom/sandboxol/file/c/f;J)J
return-void
.end method