This commit is contained in:
2022-06-10 21:38:30 +09:00
commit 27f5152838
51323 changed files with 12934539 additions and 0 deletions
+352
View File
@@ -0,0 +1,352 @@
.class public abstract Lfg/a;
.super Ljava/lang/Object;
.source "AbstractConnPool.java"
# annotations
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# instance fields
.field public a:Lcz/msebera/android/httpclient/extras/b;
.field public final b:Ljava/util/concurrent/locks/Lock;
.field public c:Ljava/util/Set;
.annotation build Lcz/msebera/android/httpclient/annotation/GuardedBy;
value = "poolLock"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Lfg/b;",
">;"
}
.end annotation
.end field
.field public d:I
.annotation build Lcz/msebera/android/httpclient/annotation/GuardedBy;
value = "poolLock"
.end annotation
.end field
.field public volatile e:Z
.field public f:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Lfg/c;",
">;"
}
.end annotation
.end field
.field public g:Ljava/lang/ref/ReferenceQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ref/ReferenceQueue<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field public h:Leg/v;
# direct methods
.method public constructor <init>()V
.locals 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Lcz/msebera/android/httpclient/extras/b;
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-direct {v0, v1}, Lcz/msebera/android/httpclient/extras/b;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lfg/a;->a:Lcz/msebera/android/httpclient/extras/b;
.line 3
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
iput-object v0, p0, Lfg/a;->c:Ljava/util/Set;
.line 4
new-instance v0, Leg/v;
invoke-direct {v0}, Leg/v;-><init>()V
iput-object v0, p0, Lfg/a;->h:Leg/v;
.line 5
new-instance v0, Ljava/util/concurrent/locks/ReentrantLock;
invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantLock;-><init>()V
iput-object v0, p0, Lfg/a;->b:Ljava/util/concurrent/locks/Lock;
return-void
.end method
# virtual methods
.method public a(Lqf/s;)V
.locals 2
if-eqz p1, :cond_0
.line 1
:try_start_0
invoke-interface {p1}, Ldf/i;->close()V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception p1
.line 2
iget-object v0, p0, Lfg/a;->a:Lcz/msebera/android/httpclient/extras/b;
const-string v1, "I/O error closing connection"
invoke-virtual {v0, v1, p1}, Lcz/msebera/android/httpclient/extras/b;->b(Ljava/lang/Object;Ljava/lang/Throwable;)V
:cond_0
:goto_0
return-void
.end method
.method public b()V
.locals 2
.line 1
iget-object v0, p0, Lfg/a;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 2
:try_start_0
iget-object v0, p0, Lfg/a;->h:Leg/v;
invoke-virtual {v0}, Leg/v;->b()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object v0, p0, Lfg/a;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-void
:catchall_0
move-exception v0
iget-object v1, p0, Lfg/a;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
.end method
.method public c(JLjava/util/concurrent/TimeUnit;)V
.locals 1
const-string v0, "Time unit"
.line 1
invoke-static {p3, v0}, Lqg/a;->h(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 2
iget-object v0, p0, Lfg/a;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 3
:try_start_0
iget-object v0, p0, Lfg/a;->h:Leg/v;
invoke-virtual {p3, p1, p2}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide p1
invoke-virtual {v0, p1, p2}, Leg/v;->c(J)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 4
iget-object p1, p0, Lfg/a;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {p1}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-void
:catchall_0
move-exception p1
iget-object p2, p0, Lfg/a;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {p2}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw p1
.end method
.method public abstract d()V
.end method
.method public e()V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/IllegalStateException;
}
.end annotation
return-void
.end method
.method public abstract f(Lfg/b;ZJLjava/util/concurrent/TimeUnit;)V
.end method
.method public final g(Lcz/msebera/android/httpclient/conn/routing/a;Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Lfg/b;
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Lcz/msebera/android/httpclient/conn/ConnectionPoolTimeoutException;,
Ljava/lang/InterruptedException;
}
.end annotation
.line 1
invoke-virtual {p0, p1, p2}, Lfg/a;->j(Lcz/msebera/android/httpclient/conn/routing/a;Ljava/lang/Object;)Lfg/f;
move-result-object p1
invoke-interface {p1, p3, p4, p5}, Lfg/f;->getPoolEntry(JLjava/util/concurrent/TimeUnit;)Lfg/b;
move-result-object p1
return-object p1
.end method
.method public abstract h(Lcz/msebera/android/httpclient/conn/routing/a;)V
.end method
.method public i(Ljava/lang/ref/Reference;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/ref/Reference<",
"*>;)V"
}
.end annotation
return-void
.end method
.method public abstract j(Lcz/msebera/android/httpclient/conn/routing/a;Ljava/lang/Object;)Lfg/f;
.end method
.method public k()V
.locals 2
.line 1
iget-object v0, p0, Lfg/a;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 2
:try_start_0
iget-boolean v0, p0, Lfg/a;->e:Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lfg/a;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-void
.line 4
:cond_0
:try_start_1
iget-object v0, p0, Lfg/a;->c:Ljava/util/Set;
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
.line 5
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1
.line 6
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lfg/b;
.line 7
invoke-interface {v0}, Ljava/util/Iterator;->remove()V
.line 8
invoke-virtual {v1}, Lfg/b;->h()Lqf/s;
move-result-object v1
invoke-virtual {p0, v1}, Lfg/a;->a(Lqf/s;)V
goto :goto_0
.line 9
:cond_1
iget-object v0, p0, Lfg/a;->h:Leg/v;
invoke-virtual {v0}, Leg/v;->e()V
const/4 v0, 0x1
.line 10
iput-boolean v0, p0, Lfg/a;->e:Z
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 11
iget-object v0, p0, Lfg/a;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-void
:catchall_0
move-exception v0
iget-object v1, p0, Lfg/a;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
.end method
+263
View File
@@ -0,0 +1,263 @@
.class public Lfg/b;
.super Leg/b;
.source "BasicPoolEntry.java"
# annotations
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# instance fields
.field public final f:J
.field public g:J
.field public final h:J
.field public i:J
# direct methods
.method public constructor <init>(Lqf/e;Lcz/msebera/android/httpclient/conn/routing/a;)V
.locals 6
.line 6
sget-object v5, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
const-wide/16 v3, -0x1
move-object v0, p0
move-object v1, p1
move-object v2, p2
invoke-direct/range {v0 .. v5}, Lfg/b;-><init>(Lqf/e;Lcz/msebera/android/httpclient/conn/routing/a;JLjava/util/concurrent/TimeUnit;)V
return-void
.end method
.method public constructor <init>(Lqf/e;Lcz/msebera/android/httpclient/conn/routing/a;JLjava/util/concurrent/TimeUnit;)V
.locals 2
.line 7
invoke-direct {p0, p1, p2}, Leg/b;-><init>(Lqf/e;Lcz/msebera/android/httpclient/conn/routing/a;)V
const-string p1, "HTTP route"
.line 8
invoke-static {p2, p1}, Lqg/a;->h(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 9
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide p1
iput-wide p1, p0, Lfg/b;->f:J
const-wide/16 v0, 0x0
cmp-long v0, p3, v0
if-lez v0, :cond_0
.line 10
invoke-virtual {p5, p3, p4}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide p3
add-long/2addr p3, p1
iput-wide p3, p0, Lfg/b;->h:J
goto :goto_0
:cond_0
const-wide p1, 0x7fffffffffffffffL
.line 11
iput-wide p1, p0, Lfg/b;->h:J
.line 12
:goto_0
iget-wide p1, p0, Lfg/b;->h:J
iput-wide p1, p0, Lfg/b;->i:J
return-void
.end method
.method public constructor <init>(Lqf/e;Lcz/msebera/android/httpclient/conn/routing/a;Ljava/lang/ref/ReferenceQueue;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lqf/e;",
"Lcz/msebera/android/httpclient/conn/routing/a;",
"Ljava/lang/ref/ReferenceQueue<",
"Ljava/lang/Object;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Leg/b;-><init>(Lqf/e;Lcz/msebera/android/httpclient/conn/routing/a;)V
const-string p1, "HTTP route"
.line 2
invoke-static {p2, p1}, Lqg/a;->h(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 3
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide p1
iput-wide p1, p0, Lfg/b;->f:J
const-wide p1, 0x7fffffffffffffffL
.line 4
iput-wide p1, p0, Lfg/b;->h:J
.line 5
iput-wide p1, p0, Lfg/b;->i:J
return-void
.end method
# virtual methods
.method public e()V
.locals 0
.line 1
invoke-super {p0}, Leg/b;->e()V
return-void
.end method
.method public final h()Lqf/s;
.locals 1
.line 1
iget-object v0, p0, Leg/b;->b:Lqf/s;
return-object v0
.end method
.method public i()J
.locals 2
.line 1
iget-wide v0, p0, Lfg/b;->f:J
return-wide v0
.end method
.method public j()J
.locals 2
.line 1
iget-wide v0, p0, Lfg/b;->i:J
return-wide v0
.end method
.method public final k()Lcz/msebera/android/httpclient/conn/routing/a;
.locals 1
.line 1
iget-object v0, p0, Leg/b;->c:Lcz/msebera/android/httpclient/conn/routing/a;
return-object v0
.end method
.method public l()J
.locals 2
.line 1
iget-wide v0, p0, Lfg/b;->g:J
return-wide v0
.end method
.method public m()J
.locals 2
.line 1
iget-wide v0, p0, Lfg/b;->h:J
return-wide v0
.end method
.method public final n()Lfg/c;
.locals 1
const/4 v0, 0x0
return-object v0
.end method
.method public o(J)Z
.locals 2
.line 1
iget-wide v0, p0, Lfg/b;->i:J
cmp-long p1, p1, v0
if-ltz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public p(JLjava/util/concurrent/TimeUnit;)V
.locals 4
.line 1
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iput-wide v0, p0, Lfg/b;->g:J
const-wide/16 v2, 0x0
cmp-long v2, p1, v2
if-lez v2, :cond_0
.line 2
invoke-virtual {p3, p1, p2}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J
move-result-wide p1
add-long/2addr p1, v0
goto :goto_0
:cond_0
const-wide p1, 0x7fffffffffffffffL
.line 3
:goto_0
iget-wide v0, p0, Lfg/b;->h:J
invoke-static {v0, v1, p1, p2}, Ljava/lang/Math;->min(JJ)J
move-result-wide p1
iput-wide p1, p0, Lfg/b;->i:J
return-void
.end method
+63
View File
@@ -0,0 +1,63 @@
.class public Lfg/c;
.super Ljava/lang/ref/WeakReference;
.source "BasicPoolEntryRef.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ref/WeakReference<",
"Lfg/b;",
">;"
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# instance fields
.field public final a:Lcz/msebera/android/httpclient/conn/routing/a;
# direct methods
.method public constructor <init>(Lfg/b;Ljava/lang/ref/ReferenceQueue;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lfg/b;",
"Ljava/lang/ref/ReferenceQueue<",
"Ljava/lang/Object;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
const-string p2, "Pool entry"
.line 2
invoke-static {p1, p2}, Lqg/a;->h(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 3
invoke-virtual {p1}, Lfg/b;->k()Lcz/msebera/android/httpclient/conn/routing/a;
move-result-object p1
iput-object p1, p0, Lfg/c;->a:Lcz/msebera/android/httpclient/conn/routing/a;
return-void
.end method
# virtual methods
.method public final a()Lcz/msebera/android/httpclient/conn/routing/a;
.locals 1
.line 1
iget-object v0, p0, Lfg/c;->a:Lcz/msebera/android/httpclient/conn/routing/a;
return-object v0
.end method
+55
View File
@@ -0,0 +1,55 @@
.class public Lfg/d;
.super Leg/c;
.source "BasicPooledConnAdapter.java"
# annotations
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# direct methods
.method public constructor <init>(Lfg/h;Leg/b;)V
.locals 0
.line 1
invoke-direct {p0, p1, p2}, Leg/c;-><init>(Lqf/c;Leg/b;)V
.line 2
invoke-virtual {p0}, Leg/a;->markReusable()V
return-void
.end method
# virtual methods
.method public G()Leg/b;
.locals 1
.line 1
invoke-super {p0}, Leg/c;->G()Leg/b;
move-result-object v0
return-object v0
.end method
.method public c()V
.locals 0
.line 1
invoke-super {p0}, Leg/c;->c()V
return-void
.end method
.method public d()Lqf/c;
.locals 1
.line 1
invoke-super {p0}, Leg/a;->d()Lqf/c;
move-result-object v0
return-object v0
.end method
+122
View File
@@ -0,0 +1,122 @@
.class public Lfg/e$a;
.super Ljava/lang/Object;
.source "ConnPoolByRoute.java"
# interfaces
.implements Lfg/f;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lfg/e;->j(Lcz/msebera/android/httpclient/conn/routing/a;Ljava/lang/Object;)Lfg/f;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic a:Lfg/j;
.field public final synthetic b:Lcz/msebera/android/httpclient/conn/routing/a;
.field public final synthetic c:Ljava/lang/Object;
.field public final synthetic d:Lfg/e;
# direct methods
.method public constructor <init>(Lfg/e;Lfg/j;Lcz/msebera/android/httpclient/conn/routing/a;Ljava/lang/Object;)V
.locals 0
.line 1
iput-object p1, p0, Lfg/e$a;->d:Lfg/e;
iput-object p2, p0, Lfg/e$a;->a:Lfg/j;
iput-object p3, p0, Lfg/e$a;->b:Lcz/msebera/android/httpclient/conn/routing/a;
iput-object p4, p0, Lfg/e$a;->c:Ljava/lang/Object;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public abortRequest()V
.locals 2
.line 1
iget-object v0, p0, Lfg/e$a;->d:Lfg/e;
invoke-static {v0}, Lfg/e;->l(Lfg/e;)Ljava/util/concurrent/locks/Lock;
move-result-object v0
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 2
:try_start_0
iget-object v0, p0, Lfg/e$a;->a:Lfg/j;
invoke-virtual {v0}, Lfg/j;->a()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object v0, p0, Lfg/e$a;->d:Lfg/e;
invoke-static {v0}, Lfg/e;->l(Lfg/e;)Ljava/util/concurrent/locks/Lock;
move-result-object v0
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-void
:catchall_0
move-exception v0
iget-object v1, p0, Lfg/e$a;->d:Lfg/e;
invoke-static {v1}, Lfg/e;->l(Lfg/e;)Ljava/util/concurrent/locks/Lock;
move-result-object v1
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
.end method
.method public getPoolEntry(JLjava/util/concurrent/TimeUnit;)Lfg/b;
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;,
Lcz/msebera/android/httpclient/conn/ConnectionPoolTimeoutException;
}
.end annotation
.line 1
iget-object v0, p0, Lfg/e$a;->d:Lfg/e;
iget-object v1, p0, Lfg/e$a;->b:Lcz/msebera/android/httpclient/conn/routing/a;
iget-object v2, p0, Lfg/e$a;->c:Ljava/lang/Object;
iget-object v6, p0, Lfg/e$a;->a:Lfg/j;
move-wide v3, p1
move-object v5, p3
invoke-virtual/range {v0 .. v6}, Lfg/e;->v(Lcz/msebera/android/httpclient/conn/routing/a;Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;Lfg/j;)Lfg/b;
move-result-object p1
return-object p1
.end method
File diff suppressed because it is too large Load Diff
+22
View File
@@ -0,0 +1,22 @@
.class public interface abstract Lfg/f;
.super Ljava/lang/Object;
.source "PoolEntryRequest.java"
# annotations
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# virtual methods
.method public abstract abortRequest()V
.end method
.method public abstract getPoolEntry(JLjava/util/concurrent/TimeUnit;)Lfg/b;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;,
Lcz/msebera/android/httpclient/conn/ConnectionPoolTimeoutException;
}
.end annotation
.end method
+47
View File
@@ -0,0 +1,47 @@
.class public Lfg/g$a;
.super Ljava/lang/Object;
.source "RouteSpecificPool.java"
# interfaces
.implements Lrf/f;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lfg/g;-><init>(Lcz/msebera/android/httpclient/conn/routing/a;I)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic a:Lfg/g;
# direct methods
.method public constructor <init>(Lfg/g;)V
.locals 0
.line 1
iput-object p1, p0, Lfg/g$a;->a:Lfg/g;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public a(Lcz/msebera/android/httpclient/conn/routing/a;)I
.locals 0
.line 1
iget-object p1, p0, Lfg/g$a;->a:Lfg/g;
iget p1, p1, Lfg/g;->c:I
return p1
.end method
+560
View File
@@ -0,0 +1,560 @@
.class public Lfg/g;
.super Ljava/lang/Object;
.source "RouteSpecificPool.java"
# annotations
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# instance fields
.field public a:Lcz/msebera/android/httpclient/extras/b;
.field public final b:Lcz/msebera/android/httpclient/conn/routing/a;
.field public final c:I
.field public final d:Lrf/f;
.field public final e:Ljava/util/LinkedList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/LinkedList<",
"Lfg/b;",
">;"
}
.end annotation
.end field
.field public final f:Ljava/util/Queue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Queue<",
"Lfg/i;",
">;"
}
.end annotation
.end field
.field public g:I
# direct methods
.method public constructor <init>(Lcz/msebera/android/httpclient/conn/routing/a;I)V
.locals 2
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Lcz/msebera/android/httpclient/extras/b;
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-direct {v0, v1}, Lcz/msebera/android/httpclient/extras/b;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lfg/g;->a:Lcz/msebera/android/httpclient/extras/b;
.line 3
iput-object p1, p0, Lfg/g;->b:Lcz/msebera/android/httpclient/conn/routing/a;
.line 4
iput p2, p0, Lfg/g;->c:I
.line 5
new-instance p1, Lfg/g$a;
invoke-direct {p1, p0}, Lfg/g$a;-><init>(Lfg/g;)V
iput-object p1, p0, Lfg/g;->d:Lrf/f;
.line 6
new-instance p1, Ljava/util/LinkedList;
invoke-direct {p1}, Ljava/util/LinkedList;-><init>()V
iput-object p1, p0, Lfg/g;->e:Ljava/util/LinkedList;
.line 7
new-instance p1, Ljava/util/LinkedList;
invoke-direct {p1}, Ljava/util/LinkedList;-><init>()V
iput-object p1, p0, Lfg/g;->f:Ljava/util/Queue;
const/4 p1, 0x0
.line 8
iput p1, p0, Lfg/g;->g:I
return-void
.end method
.method public constructor <init>(Lcz/msebera/android/httpclient/conn/routing/a;Lrf/f;)V
.locals 2
.line 9
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 10
new-instance v0, Lcz/msebera/android/httpclient/extras/b;
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-direct {v0, v1}, Lcz/msebera/android/httpclient/extras/b;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lfg/g;->a:Lcz/msebera/android/httpclient/extras/b;
.line 11
iput-object p1, p0, Lfg/g;->b:Lcz/msebera/android/httpclient/conn/routing/a;
.line 12
iput-object p2, p0, Lfg/g;->d:Lrf/f;
.line 13
invoke-interface {p2, p1}, Lrf/f;->a(Lcz/msebera/android/httpclient/conn/routing/a;)I
move-result p1
iput p1, p0, Lfg/g;->c:I
.line 14
new-instance p1, Ljava/util/LinkedList;
invoke-direct {p1}, Ljava/util/LinkedList;-><init>()V
iput-object p1, p0, Lfg/g;->e:Ljava/util/LinkedList;
.line 15
new-instance p1, Ljava/util/LinkedList;
invoke-direct {p1}, Ljava/util/LinkedList;-><init>()V
iput-object p1, p0, Lfg/g;->f:Ljava/util/Queue;
const/4 p1, 0x0
.line 16
iput p1, p0, Lfg/g;->g:I
return-void
.end method
# virtual methods
.method public a(Ljava/lang/Object;)Lfg/b;
.locals 3
.line 1
iget-object v0, p0, Lfg/g;->e:Ljava/util/LinkedList;
invoke-virtual {v0}, Ljava/util/LinkedList;->isEmpty()Z
move-result v0
if-nez v0, :cond_2
.line 2
iget-object v0, p0, Lfg/g;->e:Ljava/util/LinkedList;
invoke-virtual {v0}, Ljava/util/LinkedList;->size()I
move-result v1
invoke-virtual {v0, v1}, Ljava/util/LinkedList;->listIterator(I)Ljava/util/ListIterator;
move-result-object v0
.line 3
:cond_0
invoke-interface {v0}, Ljava/util/ListIterator;->hasPrevious()Z
move-result v1
if-eqz v1, :cond_2
.line 4
invoke-interface {v0}, Ljava/util/ListIterator;->previous()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lfg/b;
.line 5
invoke-virtual {v1}, Leg/b;->a()Ljava/lang/Object;
move-result-object v2
if-eqz v2, :cond_1
invoke-virtual {v1}, Leg/b;->a()Ljava/lang/Object;
move-result-object v2
invoke-static {p1, v2}, Lqg/g;->a(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
.line 6
:cond_1
invoke-interface {v0}, Ljava/util/ListIterator;->remove()V
return-object v1
.line 7
:cond_2
invoke-virtual {p0}, Lfg/g;->f()I
move-result p1
if-nez p1, :cond_3
iget-object p1, p0, Lfg/g;->e:Ljava/util/LinkedList;
invoke-virtual {p1}, Ljava/util/LinkedList;->isEmpty()Z
move-result p1
if-nez p1, :cond_3
.line 8
iget-object p1, p0, Lfg/g;->e:Ljava/util/LinkedList;
invoke-virtual {p1}, Ljava/util/LinkedList;->remove()Ljava/lang/Object;
move-result-object p1
check-cast p1, Lfg/b;
.line 9
invoke-virtual {p1}, Lfg/b;->e()V
.line 10
invoke-virtual {p1}, Lfg/b;->h()Lqf/s;
move-result-object v0
.line 11
:try_start_0
invoke-interface {v0}, Ldf/i;->close()V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v0
.line 12
iget-object v1, p0, Lfg/g;->a:Lcz/msebera/android/httpclient/extras/b;
const-string v2, "I/O error closing connection"
invoke-virtual {v1, v2, v0}, Lcz/msebera/android/httpclient/extras/b;->b(Ljava/lang/Object;Ljava/lang/Throwable;)V
:goto_0
return-object p1
:cond_3
const/4 p1, 0x0
return-object p1
.end method
.method public b(Lfg/b;)V
.locals 1
.line 1
iget-object v0, p0, Lfg/g;->b:Lcz/msebera/android/httpclient/conn/routing/a;
invoke-virtual {p1}, Lfg/b;->k()Lcz/msebera/android/httpclient/conn/routing/a;
move-result-object p1
invoke-virtual {v0, p1}, Lcz/msebera/android/httpclient/conn/routing/a;->equals(Ljava/lang/Object;)Z
move-result p1
const-string v0, "Entry not planned for this pool"
invoke-static {p1, v0}, Lqg/a;->a(ZLjava/lang/String;)V
.line 2
iget p1, p0, Lfg/g;->g:I
add-int/lit8 p1, p1, 0x1
iput p1, p0, Lfg/g;->g:I
return-void
.end method
.method public c(Lfg/b;)Z
.locals 1
.line 1
iget-object v0, p0, Lfg/g;->e:Ljava/util/LinkedList;
invoke-virtual {v0, p1}, Ljava/util/LinkedList;->remove(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
.line 2
iget v0, p0, Lfg/g;->g:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lfg/g;->g:I
:cond_0
return p1
.end method
.method public d()V
.locals 3
.line 1
iget v0, p0, Lfg/g;->g:I
const/4 v1, 0x1
if-lez v0, :cond_0
move v0, v1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v2, "There is no entry that could be dropped"
invoke-static {v0, v2}, Lqg/b;->a(ZLjava/lang/String;)V
.line 2
iget v0, p0, Lfg/g;->g:I
sub-int/2addr v0, v1
iput v0, p0, Lfg/g;->g:I
return-void
.end method
.method public e(Lfg/b;)V
.locals 2
.line 1
iget v0, p0, Lfg/g;->g:I
const/4 v1, 0x1
if-lt v0, v1, :cond_1
.line 2
iget-object v1, p0, Lfg/g;->e:Ljava/util/LinkedList;
invoke-virtual {v1}, Ljava/util/LinkedList;->size()I
move-result v1
if-le v0, v1, :cond_0
.line 3
iget-object v0, p0, Lfg/g;->e:Ljava/util/LinkedList;
invoke-virtual {v0, p1}, Ljava/util/LinkedList;->add(Ljava/lang/Object;)Z
return-void
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "No entry allocated from this pool. "
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lfg/g;->b:Lcz/msebera/android/httpclient/conn/routing/a;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.line 5
:cond_1
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "No entry created for this pool. "
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lfg/g;->b:Lcz/msebera/android/httpclient/conn/routing/a;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public f()I
.locals 2
.line 1
iget-object v0, p0, Lfg/g;->d:Lrf/f;
iget-object v1, p0, Lfg/g;->b:Lcz/msebera/android/httpclient/conn/routing/a;
invoke-interface {v0, v1}, Lrf/f;->a(Lcz/msebera/android/httpclient/conn/routing/a;)I
move-result v0
iget v1, p0, Lfg/g;->g:I
sub-int/2addr v0, v1
return v0
.end method
.method public final g()I
.locals 1
.line 1
iget v0, p0, Lfg/g;->g:I
return v0
.end method
.method public final h()I
.locals 1
.line 1
iget v0, p0, Lfg/g;->c:I
return v0
.end method
.method public final i()Lcz/msebera/android/httpclient/conn/routing/a;
.locals 1
.line 1
iget-object v0, p0, Lfg/g;->b:Lcz/msebera/android/httpclient/conn/routing/a;
return-object v0
.end method
.method public j()Z
.locals 1
.line 1
iget-object v0, p0, Lfg/g;->f:Ljava/util/Queue;
invoke-interface {v0}, Ljava/util/Queue;->isEmpty()Z
move-result v0
xor-int/lit8 v0, v0, 0x1
return v0
.end method
.method public k()Z
.locals 2
.line 1
iget v0, p0, Lfg/g;->g:I
const/4 v1, 0x1
if-ge v0, v1, :cond_0
iget-object v0, p0, Lfg/g;->f:Ljava/util/Queue;
invoke-interface {v0}, Ljava/util/Queue;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
return v1
.end method
.method public l()Lfg/i;
.locals 1
.line 1
iget-object v0, p0, Lfg/g;->f:Ljava/util/Queue;
invoke-interface {v0}, Ljava/util/Queue;->peek()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lfg/i;
return-object v0
.end method
.method public m(Lfg/i;)V
.locals 1
const-string v0, "Waiting thread"
.line 1
invoke-static {p1, v0}, Lqg/a;->h(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 2
iget-object v0, p0, Lfg/g;->f:Ljava/util/Queue;
invoke-interface {v0, p1}, Ljava/util/Queue;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public n(Lfg/i;)V
.locals 1
if-nez p1, :cond_0
return-void
.line 1
:cond_0
iget-object v0, p0, Lfg/g;->f:Ljava/util/Queue;
invoke-interface {v0, p1}, Ljava/util/Queue;->remove(Ljava/lang/Object;)Z
return-void
.end method
+127
View File
@@ -0,0 +1,127 @@
.class public Lfg/h$a;
.super Ljava/lang/Object;
.source "ThreadSafeClientConnManager.java"
# interfaces
.implements Lqf/f;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lfg/h;->a(Lcz/msebera/android/httpclient/conn/routing/a;Ljava/lang/Object;)Lqf/f;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic a:Lfg/f;
.field public final synthetic b:Lcz/msebera/android/httpclient/conn/routing/a;
.field public final synthetic c:Lfg/h;
# direct methods
.method public constructor <init>(Lfg/h;Lfg/f;Lcz/msebera/android/httpclient/conn/routing/a;)V
.locals 0
.line 1
iput-object p1, p0, Lfg/h$a;->c:Lfg/h;
iput-object p2, p0, Lfg/h$a;->a:Lfg/f;
iput-object p3, p0, Lfg/h$a;->b:Lcz/msebera/android/httpclient/conn/routing/a;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public abortRequest()V
.locals 1
.line 1
iget-object v0, p0, Lfg/h$a;->a:Lfg/f;
invoke-interface {v0}, Lfg/f;->abortRequest()V
return-void
.end method
.method public getConnection(JLjava/util/concurrent/TimeUnit;)Lqf/p;
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;,
Lcz/msebera/android/httpclient/conn/ConnectionPoolTimeoutException;
}
.end annotation
.line 1
iget-object v0, p0, Lfg/h$a;->b:Lcz/msebera/android/httpclient/conn/routing/a;
const-string v1, "Route"
invoke-static {v0, v1}, Lqg/a;->h(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 2
iget-object v0, p0, Lfg/h$a;->c:Lfg/h;
iget-object v0, v0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
invoke-virtual {v0}, Lcz/msebera/android/httpclient/extras/b;->l()Z
move-result v0
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lfg/h$a;->c:Lfg/h;
iget-object v0, v0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
const-string v1, "Get connection: "
invoke-static {v1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v2, p0, Lfg/h$a;->b:Lcz/msebera/android/httpclient/conn/routing/a;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, ", timeout = "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1, p2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Lcz/msebera/android/httpclient/extras/b;->a(Ljava/lang/Object;)V
.line 4
:cond_0
iget-object v0, p0, Lfg/h$a;->a:Lfg/f;
invoke-interface {v0, p1, p2, p3}, Lfg/f;->getPoolEntry(JLjava/util/concurrent/TimeUnit;)Lfg/b;
move-result-object p1
.line 5
new-instance p2, Lfg/d;
iget-object p3, p0, Lfg/h$a;->c:Lfg/h;
invoke-direct {p2, p3, p1}, Lfg/d;-><init>(Lfg/h;Leg/b;)V
return-object p2
.end method
+743
View File
@@ -0,0 +1,743 @@
.class public Lfg/h;
.super Ljava/lang/Object;
.source "ThreadSafeClientConnManager.java"
# interfaces
.implements Lqf/c;
# annotations
.annotation build Lcz/msebera/android/httpclient/annotation/ThreadSafe;
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# instance fields
.field public a:Lcz/msebera/android/httpclient/extras/b;
.field public final b:Ltf/j;
.field public final c:Lfg/a;
.field public final d:Lfg/e;
.field public final e:Lqf/e;
.field public final f:Lrf/g;
# direct methods
.method public constructor <init>()V
.locals 1
.line 2
invoke-static {}, Leg/h0;->a()Ltf/j;
move-result-object v0
invoke-direct {p0, v0}, Lfg/h;-><init>(Ltf/j;)V
return-void
.end method
.method public constructor <init>(Lng/i;Ltf/j;)V
.locals 2
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 12
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-string v0, "Scheme registry"
.line 13
invoke-static {p2, v0}, Lqg/a;->h(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 14
new-instance v0, Lcz/msebera/android/httpclient/extras/b;
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-direct {v0, v1}, Lcz/msebera/android/httpclient/extras/b;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
.line 15
iput-object p2, p0, Lfg/h;->b:Ltf/j;
.line 16
new-instance v0, Lrf/g;
invoke-direct {v0}, Lrf/g;-><init>()V
iput-object v0, p0, Lfg/h;->f:Lrf/g;
.line 17
invoke-virtual {p0, p2}, Lfg/h;->b(Ltf/j;)Lqf/e;
move-result-object p2
iput-object p2, p0, Lfg/h;->e:Lqf/e;
.line 18
invoke-virtual {p0, p1}, Lfg/h;->c(Lng/i;)Lfg/a;
move-result-object p1
check-cast p1, Lfg/e;
iput-object p1, p0, Lfg/h;->d:Lfg/e;
.line 19
iput-object p1, p0, Lfg/h;->c:Lfg/a;
return-void
.end method
.method public constructor <init>(Ltf/j;)V
.locals 3
.line 1
sget-object v0, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
const-wide/16 v1, -0x1
invoke-direct {p0, p1, v1, v2, v0}, Lfg/h;-><init>(Ltf/j;JLjava/util/concurrent/TimeUnit;)V
return-void
.end method
.method public constructor <init>(Ltf/j;JLjava/util/concurrent/TimeUnit;)V
.locals 6
.line 3
new-instance v5, Lrf/g;
invoke-direct {v5}, Lrf/g;-><init>()V
move-object v0, p0
move-object v1, p1
move-wide v2, p2
move-object v4, p4
invoke-direct/range {v0 .. v5}, Lfg/h;-><init>(Ltf/j;JLjava/util/concurrent/TimeUnit;Lrf/g;)V
return-void
.end method
.method public constructor <init>(Ltf/j;JLjava/util/concurrent/TimeUnit;Lrf/g;)V
.locals 2
.line 4
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-string v0, "Scheme registry"
.line 5
invoke-static {p1, v0}, Lqg/a;->h(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 6
new-instance v0, Lcz/msebera/android/httpclient/extras/b;
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-direct {v0, v1}, Lcz/msebera/android/httpclient/extras/b;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
.line 7
iput-object p1, p0, Lfg/h;->b:Ltf/j;
.line 8
iput-object p5, p0, Lfg/h;->f:Lrf/g;
.line 9
invoke-virtual {p0, p1}, Lfg/h;->b(Ltf/j;)Lqf/e;
move-result-object p1
iput-object p1, p0, Lfg/h;->e:Lqf/e;
.line 10
invoke-virtual {p0, p2, p3, p4}, Lfg/h;->e(JLjava/util/concurrent/TimeUnit;)Lfg/e;
move-result-object p1
iput-object p1, p0, Lfg/h;->d:Lfg/e;
.line 11
iput-object p1, p0, Lfg/h;->c:Lfg/a;
return-void
.end method
# virtual methods
.method public a(Lcz/msebera/android/httpclient/conn/routing/a;Ljava/lang/Object;)Lqf/f;
.locals 1
.line 1
iget-object v0, p0, Lfg/h;->d:Lfg/e;
invoke-virtual {v0, p1, p2}, Lfg/e;->j(Lcz/msebera/android/httpclient/conn/routing/a;Ljava/lang/Object;)Lfg/f;
move-result-object p2
.line 2
new-instance v0, Lfg/h$a;
invoke-direct {v0, p0, p2, p1}, Lfg/h$a;-><init>(Lfg/h;Lfg/f;Lcz/msebera/android/httpclient/conn/routing/a;)V
return-object v0
.end method
.method public b(Ltf/j;)Lqf/e;
.locals 1
.line 1
new-instance v0, Leg/j;
invoke-direct {v0, p1}, Leg/j;-><init>(Ltf/j;)V
return-object v0
.end method
.method public c(Lng/i;)Lfg/a;
.locals 2
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1
new-instance v0, Lfg/e;
iget-object v1, p0, Lfg/h;->e:Lqf/e;
invoke-direct {v0, v1, p1}, Lfg/e;-><init>(Lqf/e;Lng/i;)V
return-object v0
.end method
.method public closeExpiredConnections()V
.locals 2
.line 1
iget-object v0, p0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
const-string v1, "Closing expired connections"
invoke-virtual {v0, v1}, Lcz/msebera/android/httpclient/extras/b;->a(Ljava/lang/Object;)V
.line 2
iget-object v0, p0, Lfg/h;->d:Lfg/e;
invoke-virtual {v0}, Lfg/e;->b()V
return-void
.end method
.method public closeIdleConnections(JLjava/util/concurrent/TimeUnit;)V
.locals 3
.line 1
iget-object v0, p0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
invoke-virtual {v0}, Lcz/msebera/android/httpclient/extras/b;->l()Z
move-result v0
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Closing connections idle longer than "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1, p2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v2, " "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Lcz/msebera/android/httpclient/extras/b;->a(Ljava/lang/Object;)V
.line 3
:cond_0
iget-object v0, p0, Lfg/h;->d:Lfg/e;
invoke-virtual {v0, p1, p2, p3}, Lfg/e;->c(JLjava/util/concurrent/TimeUnit;)V
return-void
.end method
.method public d(Lqf/p;JLjava/util/concurrent/TimeUnit;)V
.locals 7
.line 1
instance-of v0, p1, Lfg/d;
const-string v1, "Connection class mismatch, connection not obtained from this manager"
invoke-static {v0, v1}, Lqg/a;->a(ZLjava/lang/String;)V
.line 2
check-cast p1, Lfg/d;
.line 3
invoke-virtual {p1}, Lfg/d;->G()Leg/b;
move-result-object v0
if-eqz v0, :cond_1
.line 4
invoke-virtual {p1}, Lfg/d;->d()Lqf/c;
move-result-object v0
if-ne v0, p0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "Connection not obtained from this manager"
invoke-static {v0, v1}, Lqg/b;->a(ZLjava/lang/String;)V
.line 5
:cond_1
monitor-enter p1
.line 6
:try_start_0
invoke-virtual {p1}, Lfg/d;->G()Leg/b;
move-result-object v0
move-object v2, v0
check-cast v2, Lfg/b;
if-nez v2, :cond_2
.line 7
monitor-exit p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
return-void
.line 8
:cond_2
:try_start_1
invoke-virtual {p1}, Leg/a;->isOpen()Z
move-result v0
if-eqz v0, :cond_3
invoke-virtual {p1}, Leg/a;->isMarkedReusable()Z
move-result v0
if-nez v0, :cond_3
.line 9
invoke-virtual {p1}, Leg/c;->shutdown()V
:try_end_1
.catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_0
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 10
:cond_3
:try_start_2
invoke-virtual {p1}, Leg/a;->isMarkedReusable()Z
move-result v3
.line 11
iget-object v0, p0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
invoke-virtual {v0}, Lcz/msebera/android/httpclient/extras/b;->l()Z
move-result v0
if-eqz v0, :cond_5
if-eqz v3, :cond_4
.line 12
iget-object v0, p0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
const-string v1, "Released connection is reusable."
invoke-virtual {v0, v1}, Lcz/msebera/android/httpclient/extras/b;->a(Ljava/lang/Object;)V
goto :goto_1
.line 13
:cond_4
iget-object v0, p0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
const-string v1, "Released connection is not reusable."
invoke-virtual {v0, v1}, Lcz/msebera/android/httpclient/extras/b;->a(Ljava/lang/Object;)V
.line 14
:cond_5
:goto_1
invoke-virtual {p1}, Lfg/d;->c()V
.line 15
iget-object v1, p0, Lfg/h;->d:Lfg/e;
:goto_2
move-wide v4, p2
move-object v6, p4
invoke-virtual/range {v1 .. v6}, Lfg/e;->f(Lfg/b;ZJLjava/util/concurrent/TimeUnit;)V
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_1
goto :goto_4
:catchall_0
move-exception v0
goto :goto_5
:catch_0
move-exception v0
.line 16
:try_start_3
iget-object v1, p0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
invoke-virtual {v1}, Lcz/msebera/android/httpclient/extras/b;->l()Z
move-result v1
if-eqz v1, :cond_6
.line 17
iget-object v1, p0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
const-string v3, "Exception shutting down released connection."
invoke-virtual {v1, v3, v0}, Lcz/msebera/android/httpclient/extras/b;->b(Ljava/lang/Object;Ljava/lang/Throwable;)V
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0
.line 18
:cond_6
:try_start_4
invoke-virtual {p1}, Leg/a;->isMarkedReusable()Z
move-result v3
.line 19
iget-object v0, p0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
invoke-virtual {v0}, Lcz/msebera/android/httpclient/extras/b;->l()Z
move-result v0
if-eqz v0, :cond_8
if-eqz v3, :cond_7
.line 20
iget-object v0, p0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
const-string v1, "Released connection is reusable."
invoke-virtual {v0, v1}, Lcz/msebera/android/httpclient/extras/b;->a(Ljava/lang/Object;)V
goto :goto_3
.line 21
:cond_7
iget-object v0, p0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
const-string v1, "Released connection is not reusable."
invoke-virtual {v0, v1}, Lcz/msebera/android/httpclient/extras/b;->a(Ljava/lang/Object;)V
.line 22
:cond_8
:goto_3
invoke-virtual {p1}, Lfg/d;->c()V
.line 23
iget-object v1, p0, Lfg/h;->d:Lfg/e;
goto :goto_2
.line 24
:goto_4
monitor-exit p1
return-void
.line 25
:goto_5
invoke-virtual {p1}, Leg/a;->isMarkedReusable()Z
move-result v3
.line 26
iget-object v1, p0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
invoke-virtual {v1}, Lcz/msebera/android/httpclient/extras/b;->l()Z
move-result v1
if-eqz v1, :cond_a
if-eqz v3, :cond_9
.line 27
iget-object v1, p0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
const-string v4, "Released connection is reusable."
invoke-virtual {v1, v4}, Lcz/msebera/android/httpclient/extras/b;->a(Ljava/lang/Object;)V
goto :goto_6
.line 28
:cond_9
iget-object v1, p0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
const-string v4, "Released connection is not reusable."
invoke-virtual {v1, v4}, Lcz/msebera/android/httpclient/extras/b;->a(Ljava/lang/Object;)V
.line 29
:cond_a
:goto_6
invoke-virtual {p1}, Lfg/d;->c()V
.line 30
iget-object v1, p0, Lfg/h;->d:Lfg/e;
move-wide v4, p2
move-object v6, p4
invoke-virtual/range {v1 .. v6}, Lfg/e;->f(Lfg/b;ZJLjava/util/concurrent/TimeUnit;)V
.line 31
throw v0
:catchall_1
move-exception p2
.line 32
monitor-exit p1
:try_end_4
.catchall {:try_start_4 .. :try_end_4} :catchall_1
throw p2
.end method
.method public e(JLjava/util/concurrent/TimeUnit;)Lfg/e;
.locals 8
.line 1
new-instance v7, Lfg/e;
iget-object v1, p0, Lfg/h;->e:Lqf/e;
iget-object v2, p0, Lfg/h;->f:Lrf/g;
const/16 v3, 0x14
move-object v0, v7
move-wide v4, p1
move-object v6, p3
invoke-direct/range {v0 .. v6}, Lfg/e;-><init>(Lqf/e;Lrf/f;IJLjava/util/concurrent/TimeUnit;)V
return-object v7
.end method
.method public f()I
.locals 1
.line 1
iget-object v0, p0, Lfg/h;->d:Lfg/e;
invoke-virtual {v0}, Lfg/e;->t()I
move-result v0
return v0
.end method
.method public finalize()V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.line 1
:try_start_0
invoke-virtual {p0}, Lfg/h;->shutdown()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 2
invoke-super {p0}, Ljava/lang/Object;->finalize()V
return-void
:catchall_0
move-exception v0
invoke-super {p0}, Ljava/lang/Object;->finalize()V
throw v0
.end method
.method public g(Lcz/msebera/android/httpclient/conn/routing/a;)I
.locals 1
.line 1
iget-object v0, p0, Lfg/h;->d:Lfg/e;
invoke-virtual {v0, p1}, Lfg/e;->u(Lcz/msebera/android/httpclient/conn/routing/a;)I
move-result p1
return p1
.end method
.method public getSchemeRegistry()Ltf/j;
.locals 1
.line 1
iget-object v0, p0, Lfg/h;->b:Ltf/j;
return-object v0
.end method
.method public h()I
.locals 1
.line 1
iget-object v0, p0, Lfg/h;->f:Lrf/g;
invoke-virtual {v0}, Lrf/g;->c()I
move-result v0
return v0
.end method
.method public i(Lcz/msebera/android/httpclient/conn/routing/a;)I
.locals 1
.line 1
iget-object v0, p0, Lfg/h;->f:Lrf/g;
invoke-virtual {v0, p1}, Lrf/g;->a(Lcz/msebera/android/httpclient/conn/routing/a;)I
move-result p1
return p1
.end method
.method public j()I
.locals 1
.line 1
iget-object v0, p0, Lfg/h;->d:Lfg/e;
invoke-virtual {v0}, Lfg/e;->y()I
move-result v0
return v0
.end method
.method public k(I)V
.locals 1
.line 1
iget-object v0, p0, Lfg/h;->f:Lrf/g;
invoke-virtual {v0, p1}, Lrf/g;->d(I)V
return-void
.end method
.method public l(Lcz/msebera/android/httpclient/conn/routing/a;I)V
.locals 1
.line 1
iget-object v0, p0, Lfg/h;->f:Lrf/g;
invoke-virtual {v0, p1, p2}, Lrf/g;->e(Lcz/msebera/android/httpclient/conn/routing/a;I)V
return-void
.end method
.method public m(I)V
.locals 1
.line 1
iget-object v0, p0, Lfg/h;->d:Lfg/e;
invoke-virtual {v0, p1}, Lfg/e;->D(I)V
return-void
.end method
.method public shutdown()V
.locals 2
.line 1
iget-object v0, p0, Lfg/h;->a:Lcz/msebera/android/httpclient/extras/b;
const-string v1, "Shutting down"
invoke-virtual {v0, v1}, Lcz/msebera/android/httpclient/extras/b;->a(Ljava/lang/Object;)V
.line 2
iget-object v0, p0, Lfg/h;->d:Lfg/e;
invoke-virtual {v0}, Lfg/e;->k()V
return-void
.end method
+234
View File
@@ -0,0 +1,234 @@
.class public Lfg/i;
.super Ljava/lang/Object;
.source "WaitingThread.java"
# annotations
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# instance fields
.field public final a:Ljava/util/concurrent/locks/Condition;
.field public final b:Lfg/g;
.field public c:Ljava/lang/Thread;
.field public d:Z
# direct methods
.method public constructor <init>(Ljava/util/concurrent/locks/Condition;Lfg/g;)V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-string v0, "Condition"
.line 2
invoke-static {p1, v0}, Lqg/a;->h(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 3
iput-object p1, p0, Lfg/i;->a:Ljava/util/concurrent/locks/Condition;
.line 4
iput-object p2, p0, Lfg/i;->b:Lfg/g;
return-void
.end method
# virtual methods
.method public a(Ljava/util/Date;)Z
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;
}
.end annotation
.line 1
iget-object v0, p0, Lfg/i;->c:Ljava/lang/Thread;
if-nez v0, :cond_3
.line 2
iget-boolean v0, p0, Lfg/i;->d:Z
const-string v1, "Operation interrupted"
if-nez v0, :cond_2
.line 3
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
iput-object v0, p0, Lfg/i;->c:Ljava/lang/Thread;
const/4 v0, 0x0
if-eqz p1, :cond_0
.line 4
:try_start_0
iget-object v2, p0, Lfg/i;->a:Ljava/util/concurrent/locks/Condition;
invoke-interface {v2, p1}, Ljava/util/concurrent/locks/Condition;->awaitUntil(Ljava/util/Date;)Z
move-result p1
goto :goto_0
.line 5
:cond_0
iget-object p1, p0, Lfg/i;->a:Ljava/util/concurrent/locks/Condition;
invoke-interface {p1}, Ljava/util/concurrent/locks/Condition;->await()V
const/4 p1, 0x1
.line 6
:goto_0
iget-boolean v2, p0, Lfg/i;->d:Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-nez v2, :cond_1
.line 7
iput-object v0, p0, Lfg/i;->c:Ljava/lang/Thread;
return p1
.line 8
:cond_1
:try_start_1
new-instance p1, Ljava/lang/InterruptedException;
invoke-direct {p1, v1}, Ljava/lang/InterruptedException;-><init>(Ljava/lang/String;)V
throw p1
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:catchall_0
move-exception p1
.line 9
iput-object v0, p0, Lfg/i;->c:Ljava/lang/Thread;
throw p1
.line 10
:cond_2
new-instance p1, Ljava/lang/InterruptedException;
invoke-direct {p1, v1}, Ljava/lang/InterruptedException;-><init>(Ljava/lang/String;)V
throw p1
.line 11
:cond_3
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "A thread is already waiting on this object.\ncaller: "
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
.line 12
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\nwaiter: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lfg/i;->c:Ljava/lang/Thread;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public final b()Ljava/util/concurrent/locks/Condition;
.locals 1
.line 1
iget-object v0, p0, Lfg/i;->a:Ljava/util/concurrent/locks/Condition;
return-object v0
.end method
.method public final c()Lfg/g;
.locals 1
.line 1
iget-object v0, p0, Lfg/i;->b:Lfg/g;
return-object v0
.end method
.method public final d()Ljava/lang/Thread;
.locals 1
.line 1
iget-object v0, p0, Lfg/i;->c:Ljava/lang/Thread;
return-object v0
.end method
.method public e()V
.locals 1
const/4 v0, 0x1
.line 1
iput-boolean v0, p0, Lfg/i;->d:Z
.line 2
iget-object v0, p0, Lfg/i;->a:Ljava/util/concurrent/locks/Condition;
invoke-interface {v0}, Ljava/util/concurrent/locks/Condition;->signalAll()V
return-void
.end method
.method public f()V
.locals 2
.line 1
iget-object v0, p0, Lfg/i;->c:Ljava/lang/Thread;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lfg/i;->a:Ljava/util/concurrent/locks/Condition;
invoke-interface {v0}, Ljava/util/concurrent/locks/Condition;->signalAll()V
return-void
.line 3
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Nobody waiting on this object."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
+65
View File
@@ -0,0 +1,65 @@
.class public Lfg/j;
.super Ljava/lang/Object;
.source "WaitingThreadAborter.java"
# annotations
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# instance fields
.field public a:Lfg/i;
.field public b:Z
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public a()V
.locals 1
const/4 v0, 0x1
.line 1
iput-boolean v0, p0, Lfg/j;->b:Z
.line 2
iget-object v0, p0, Lfg/j;->a:Lfg/i;
if-eqz v0, :cond_0
.line 3
invoke-virtual {v0}, Lfg/i;->e()V
:cond_0
return-void
.end method
.method public b(Lfg/i;)V
.locals 1
.line 1
iput-object p1, p0, Lfg/j;->a:Lfg/i;
.line 2
iget-boolean v0, p0, Lfg/j;->b:Z
if-eqz v0, :cond_0
.line 3
invoke-virtual {p1}, Lfg/i;->e()V
:cond_0
return-void
.end method