j.smali
.class Lcom/proxy/ad/impl/video/a/j;
.super Ljava/lang/Object;
# instance fields
.field private final a:Ljava/lang/Object;
.field b:Lcom/proxy/ad/impl/video/a/a;
.field final c:Ljava/lang/Object;
.field volatile d:Z
.field public e:Lcom/proxy/ad/c/a;
# direct methods
.method public constructor <init>()V
.registers 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/proxy/ad/impl/video/a/j;->a:Ljava/lang/Object;
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/proxy/ad/impl/video/a/j;->c:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public final a([BJ)I
.registers 10
const/4 v0, 0x0
const-wide/16 v1, 0x0
cmp-long v3, p2, v1
if-gez v3, :cond_f
const-string p1, "ads-proxycache"
const-string p2, "buffer or offset or length is wrong"
invoke-static {p1, p2}, Lcom/proxy/ad/log/Logger;->e(Ljava/lang/String;Ljava/lang/String;)V
return v0
:cond_f
:goto_f
iget-object v1, p0, Lcom/proxy/ad/impl/video/a/j;->b:Lcom/proxy/ad/impl/video/a/a;
invoke-interface {v1}, Lcom/proxy/ad/impl/video/a/a;->c()Z
move-result v1
if-nez v1, :cond_a6
iget-object v1, p0, Lcom/proxy/ad/impl/video/a/j;->b:Lcom/proxy/ad/impl/video/a/a;
invoke-interface {v1}, Lcom/proxy/ad/impl/video/a/a;->a()J
move-result-wide v1
const-wide/16 v3, 0x2000
add-long/2addr v3, p2
cmp-long v5, v1, v3
if-gez v5, :cond_a6
iget-boolean v1, p0, Lcom/proxy/ad/impl/video/a/j;->d:Z
if-nez v1, :cond_a6
add-int/lit8 v0, v0, 0x1
iget-object v1, p0, Lcom/proxy/ad/impl/video/a/j;->a:Ljava/lang/Object;
monitor-enter v1
:try_start_2d
const-string v2, "ads-proxycache"
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "wait for downloading. thread="
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/Thread;->getName()Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, ",url="
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v4, p0, Lcom/proxy/ad/impl/video/a/j;->e:Lcom/proxy/ad/c/a;
iget-object v4, v4, Lcom/proxy/ad/c/a;->b:Ljava/lang/String;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, ",count="
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Lcom/proxy/ad/log/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V
iget-object v2, p0, Lcom/proxy/ad/impl/video/a/j;->a:Ljava/lang/Object;
const-wide/16 v3, 0x3e8
invoke-virtual {v2, v3, v4}, Ljava/lang/Object;->wait(J)V
:try_end_63
.catch Ljava/lang/InterruptedException; {:try_start_2d .. :try_end_63} :catch_66
.catchall {:try_start_2d .. :try_end_63} :catchall_64
goto :goto_7e
:catchall_64
move-exception p1
goto :goto_a4
:catch_66
move-exception v2
:try_start_67
const-string v3, "ads-proxycache"
new-instance v4, Ljava/lang/StringBuilder;
const-string v5, "Waiting source data is interrupted!"
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/lang/InterruptedException;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v3, v2}, Lcom/proxy/ad/log/Logger;->e(Ljava/lang/String;Ljava/lang/String;)V
:goto_7e
monitor-exit v1
:try_end_7f
.catchall {:try_start_67 .. :try_end_7f} :catchall_64
const/16 v1, 0xf
if-ge v0, v1, :cond_84
goto :goto_f
:cond_84
const-string p1, "ads-proxycache"
const-string p2, "wait for downloading more than 15s."
invoke-static {p1, p2}, Lcom/proxy/ad/log/Logger;->e(Ljava/lang/String;Ljava/lang/String;)V
new-instance p1, Lcom/proxy/ad/impl/video/a/k;
new-instance p2, Ljava/lang/StringBuilder;
const-string p3, "Error reading source "
invoke-direct {p2, p3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p3, " times"
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Lcom/proxy/ad/impl/video/a/k;-><init>(Ljava/lang/String;)V
throw p1
:goto_a4
:try_start_a4
monitor-exit v1
:try_end_a5
.catchall {:try_start_a4 .. :try_end_a5} :catchall_64
throw p1
:cond_a6
iget-object v0, p0, Lcom/proxy/ad/impl/video/a/j;->b:Lcom/proxy/ad/impl/video/a/a;
invoke-interface {v0, p1, p2, p3}, Lcom/proxy/ad/impl/video/a/a;->a([BJ)I
move-result p1
if-gtz p1, :cond_bd
invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p2
const-string p3, "read end, size = "
invoke-virtual {p3, p2}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
const-string p3, "ads-proxycache"
invoke-static {p3, p2}, Lcom/proxy/ad/log/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V
:cond_bd
return p1
.end method