g.smali
.class public final Lcom/android/volley/g;
.super Ljava/lang/Thread;
.source "SourceFile"
# instance fields
.field private final a:Ljava/util/concurrent/BlockingQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/BlockingQueue<",
"Lcom/android/volley/i<",
"*>;>;"
}
.end annotation
.end field
.field private final b:Lcom/android/volley/f;
.field private final c:Lcom/android/volley/a;
.field private final d:Lcom/android/volley/l;
.field private volatile e:Z
# direct methods
.method public constructor <init>(Ljava/util/concurrent/BlockingQueue;Lcom/android/volley/f;Lcom/android/volley/a;Lcom/android/volley/l;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/concurrent/BlockingQueue<",
"Lcom/android/volley/i<",
"*>;>;",
"Lcom/android/volley/f;",
"Lcom/android/volley/a;",
"Lcom/android/volley/l;",
")V"
}
.end annotation
.line 61
invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
const/4 v0, 0x0
.line 46
iput-boolean v0, p0, Lcom/android/volley/g;->e:Z
.line 62
iput-object p1, p0, Lcom/android/volley/g;->a:Ljava/util/concurrent/BlockingQueue;
.line 63
iput-object p2, p0, Lcom/android/volley/g;->b:Lcom/android/volley/f;
.line 64
iput-object p3, p0, Lcom/android/volley/g;->c:Lcom/android/volley/a;
.line 65
iput-object p4, p0, Lcom/android/volley/g;->d:Lcom/android/volley/l;
return-void
.end method
.method private b()V
.registers 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;
}
.end annotation
.line 110
iget-object v0, p0, Lcom/android/volley/g;->a:Ljava/util/concurrent/BlockingQueue;
invoke-interface {v0}, Ljava/util/concurrent/BlockingQueue;->take()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/android/volley/i;
.line 1116
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v1
:try_start_c
const-string v3, "network-queue-take"
.line 1118
invoke-virtual {v0, v3}, Lcom/android/volley/i;->addMarker(Ljava/lang/String;)V
.line 1122
invoke-virtual {v0}, Lcom/android/volley/i;->isCanceled()Z
move-result v3
if-eqz v3, :cond_20
const-string v3, "network-discard-cancelled"
.line 1123
invoke-virtual {v0, v3}, Lcom/android/volley/i;->finish(Ljava/lang/String;)V
.line 1124
invoke-virtual {v0}, Lcom/android/volley/i;->notifyListenerResponseNotUsable()V
return-void
.line 2080
:cond_20
sget v3, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v4, 0xe
if-lt v3, v4, :cond_2d
.line 2081
invoke-virtual {v0}, Lcom/android/volley/i;->getTrafficStatsTag()I
move-result v3
invoke-static {v3}, Landroid/net/TrafficStats;->setThreadStatsTag(I)V
.line 1131
:cond_2d
iget-object v3, p0, Lcom/android/volley/g;->b:Lcom/android/volley/f;
invoke-interface {v3, v0}, Lcom/android/volley/f;->a(Lcom/android/volley/i;)Lcom/android/volley/h;
move-result-object v3
const-string v4, "network-http-complete"
.line 1132
invoke-virtual {v0, v4}, Lcom/android/volley/i;->addMarker(Ljava/lang/String;)V
.line 1136
iget-boolean v4, v3, Lcom/android/volley/h;->e:Z
if-eqz v4, :cond_4b
invoke-virtual {v0}, Lcom/android/volley/i;->hasHadResponseDelivered()Z
move-result v4
if-eqz v4, :cond_4b
const-string v3, "not-modified"
.line 1137
invoke-virtual {v0, v3}, Lcom/android/volley/i;->finish(Ljava/lang/String;)V
.line 1138
invoke-virtual {v0}, Lcom/android/volley/i;->notifyListenerResponseNotUsable()V
return-void
.line 1143
:cond_4b
invoke-virtual {v0, v3}, Lcom/android/volley/i;->parseNetworkResponse(Lcom/android/volley/h;)Lcom/android/volley/k;
move-result-object v3
const-string v4, "network-parse-complete"
.line 1144
invoke-virtual {v0, v4}, Lcom/android/volley/i;->addMarker(Ljava/lang/String;)V
.line 1148
invoke-virtual {v0}, Lcom/android/volley/i;->shouldCache()Z
move-result v4
if-eqz v4, :cond_6e
iget-object v4, v3, Lcom/android/volley/k;->b:Lcom/android/volley/a$a;
if-eqz v4, :cond_6e
.line 1149
iget-object v4, p0, Lcom/android/volley/g;->c:Lcom/android/volley/a;
invoke-virtual {v0}, Lcom/android/volley/i;->getCacheKey()Ljava/lang/String;
move-result-object v5
iget-object v6, v3, Lcom/android/volley/k;->b:Lcom/android/volley/a$a;
invoke-interface {v4, v5, v6}, Lcom/android/volley/a;->a(Ljava/lang/String;Lcom/android/volley/a$a;)V
const-string v4, "network-cache-written"
.line 1150
invoke-virtual {v0, v4}, Lcom/android/volley/i;->addMarker(Ljava/lang/String;)V
.line 1154
:cond_6e
invoke-virtual {v0}, Lcom/android/volley/i;->markDelivered()V
.line 1155
iget-object v4, p0, Lcom/android/volley/g;->d:Lcom/android/volley/l;
invoke-interface {v4, v0, v3}, Lcom/android/volley/l;->a(Lcom/android/volley/i;Lcom/android/volley/k;)V
.line 1156
invoke-virtual {v0, v3}, Lcom/android/volley/i;->notifyListenerResponseReceived(Lcom/android/volley/k;)V
:try_end_79
.catch Lcom/android/volley/VolleyError; {:try_start_c .. :try_end_79} :catch_9f
.catch Ljava/lang/Exception; {:try_start_c .. :try_end_79} :catch_7a
return-void
:catch_7a
move-exception v3
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Object;
const/4 v5, 0x0
.line 1162
invoke-virtual {v3}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v6
aput-object v6, v4, v5
const-string v5, "Unhandled exception %s"
invoke-static {v3, v5, v4}, Lcom/android/volley/n;->a(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
.line 1163
new-instance v4, Lcom/android/volley/VolleyError;
invoke-direct {v4, v3}, Lcom/android/volley/VolleyError;-><init>(Ljava/lang/Throwable;)V
.line 1164
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v5
sub-long/2addr v5, v1
.line 4049
iput-wide v5, v4, Lcom/android/volley/VolleyError;->b:J
.line 1165
iget-object v1, p0, Lcom/android/volley/g;->d:Lcom/android/volley/l;
invoke-interface {v1, v0, v4}, Lcom/android/volley/l;->a(Lcom/android/volley/i;Lcom/android/volley/VolleyError;)V
.line 1166
invoke-virtual {v0}, Lcom/android/volley/i;->notifyListenerResponseNotUsable()V
return-void
:catch_9f
move-exception v3
.line 1158
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v4
sub-long/2addr v4, v1
.line 3049
iput-wide v4, v3, Lcom/android/volley/VolleyError;->b:J
.line 3171
invoke-virtual {v0, v3}, Lcom/android/volley/i;->parseNetworkError(Lcom/android/volley/VolleyError;)Lcom/android/volley/VolleyError;
move-result-object v1
.line 3172
iget-object v2, p0, Lcom/android/volley/g;->d:Lcom/android/volley/l;
invoke-interface {v2, v0, v1}, Lcom/android/volley/l;->a(Lcom/android/volley/i;Lcom/android/volley/VolleyError;)V
.line 1160
invoke-virtual {v0}, Lcom/android/volley/i;->notifyListenerResponseNotUsable()V
return-void
.end method
# virtual methods
.method public final a()V
.registers 2
const/4 v0, 0x1
.line 73
iput-boolean v0, p0, Lcom/android/volley/g;->e:Z
.line 74
invoke-virtual {p0}, Lcom/android/volley/g;->interrupt()V
return-void
.end method
.method public final run()V
.registers 3
const/16 v0, 0xa
.line 87
invoke-static {v0}, Landroid/os/Process;->setThreadPriority(I)V
.line 90
:goto_5
:try_start_5
invoke-direct {p0}, Lcom/android/volley/g;->b()V
:try_end_8
.catch Ljava/lang/InterruptedException; {:try_start_5 .. :try_end_8} :catch_9
goto :goto_5
.line 93
:catch_9
iget-boolean v0, p0, Lcom/android/volley/g;->e:Z
if-eqz v0, :cond_15
.line 94
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Thread;->interrupt()V
return-void
:cond_15
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/Object;
const-string v1, "Ignoring spurious interrupt of NetworkDispatcher thread; use quit() to terminate it"
.line 97
invoke-static {v1, v0}, Lcom/android/volley/n;->c(Ljava/lang/String;[Ljava/lang/Object;)V
goto :goto_5
.end method