i.smali
.class public final Li/e0/i/i;
.super Ljava/lang/Object;
.source ""
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Li/e0/i/i$c;,
Li/e0/i/i$a;,
Li/e0/i/i$b;
}
.end annotation
# instance fields
.field a:J
.field b:J
.field final c:I
.field final d:Li/e0/i/g;
.field private final e:Ljava/util/Deque;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Deque<",
"Li/r;",
">;"
}
.end annotation
.end field
.field private f:Li/e0/i/c$a;
.field private g:Z
.field private final h:Li/e0/i/i$b;
.field final i:Li/e0/i/i$a;
.field final j:Li/e0/i/i$c;
.field final k:Li/e0/i/i$c;
.field l:Li/e0/i/b;
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method constructor <init>(ILi/e0/i/g;ZZLi/r;)V
.registers 9
.param p5 # Li/r;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end param
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-wide/16 v0, 0x0
iput-wide v0, p0, Li/e0/i/i;->a:J
new-instance v0, Ljava/util/ArrayDeque;
invoke-direct {v0}, Ljava/util/ArrayDeque;-><init>()V
iput-object v0, p0, Li/e0/i/i;->e:Ljava/util/Deque;
new-instance v1, Li/e0/i/i$c;
invoke-direct {v1, p0}, Li/e0/i/i$c;-><init>(Li/e0/i/i;)V
iput-object v1, p0, Li/e0/i/i;->j:Li/e0/i/i$c;
new-instance v1, Li/e0/i/i$c;
invoke-direct {v1, p0}, Li/e0/i/i$c;-><init>(Li/e0/i/i;)V
iput-object v1, p0, Li/e0/i/i;->k:Li/e0/i/i$c;
const/4 v1, 0x0
iput-object v1, p0, Li/e0/i/i;->l:Li/e0/i/b;
if-eqz p2, :cond_6f
iput p1, p0, Li/e0/i/i;->c:I
iput-object p2, p0, Li/e0/i/i;->d:Li/e0/i/g;
iget-object p1, p2, Li/e0/i/g;->s:Li/e0/i/m;
invoke-virtual {p1}, Li/e0/i/m;->d()I
move-result p1
int-to-long v1, p1
iput-wide v1, p0, Li/e0/i/i;->b:J
new-instance p1, Li/e0/i/i$b;
iget-object p2, p2, Li/e0/i/g;->r:Li/e0/i/m;
invoke-virtual {p2}, Li/e0/i/m;->d()I
move-result p2
int-to-long v1, p2
invoke-direct {p1, p0, v1, v2}, Li/e0/i/i$b;-><init>(Li/e0/i/i;J)V
iput-object p1, p0, Li/e0/i/i;->h:Li/e0/i/i$b;
new-instance p2, Li/e0/i/i$a;
invoke-direct {p2, p0}, Li/e0/i/i$a;-><init>(Li/e0/i/i;)V
iput-object p2, p0, Li/e0/i/i;->i:Li/e0/i/i$a;
iput-boolean p4, p1, Li/e0/i/i$b;->i:Z
iput-boolean p3, p2, Li/e0/i/i$a;->g:Z
if-eqz p5, :cond_4c
invoke-interface {v0, p5}, Ljava/util/Deque;->add(Ljava/lang/Object;)Z
:cond_4c
invoke-virtual {p0}, Li/e0/i/i;->l()Z
move-result p1
if-eqz p1, :cond_5d
if-nez p5, :cond_55
goto :goto_5d
:cond_55
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "locally-initiated streams shouldn\'t have headers yet"
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_5d
:goto_5d
invoke-virtual {p0}, Li/e0/i/i;->l()Z
move-result p1
if-nez p1, :cond_6e
if-eqz p5, :cond_66
goto :goto_6e
:cond_66
new-instance p1, Ljava/lang/IllegalStateException;
const-string p2, "remotely-initiated streams should have headers"
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:cond_6e
:goto_6e
return-void
:cond_6f
new-instance p1, Ljava/lang/NullPointerException;
const-string p2, "connection == null"
invoke-direct {p1, p2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method static synthetic a(Li/e0/i/i;)Ljava/util/Deque;
.registers 1
iget-object p0, p0, Li/e0/i/i;->e:Ljava/util/Deque;
return-object p0
.end method
.method static synthetic b(Li/e0/i/i;)Li/e0/i/c$a;
.registers 1
iget-object p0, p0, Li/e0/i/i;->f:Li/e0/i/c$a;
return-object p0
.end method
.method private g(Li/e0/i/b;)Z
.registers 4
monitor-enter p0
:try_start_1
iget-object v0, p0, Li/e0/i/i;->l:Li/e0/i/b;
const/4 v1, 0x0
if-eqz v0, :cond_8
monitor-exit p0
return v1
:cond_8
iget-object v0, p0, Li/e0/i/i;->h:Li/e0/i/i$b;
iget-boolean v0, v0, Li/e0/i/i$b;->i:Z
if-eqz v0, :cond_16
iget-object v0, p0, Li/e0/i/i;->i:Li/e0/i/i$a;
iget-boolean v0, v0, Li/e0/i/i$a;->g:Z
if-eqz v0, :cond_16
monitor-exit p0
return v1
:cond_16
iput-object p1, p0, Li/e0/i/i;->l:Li/e0/i/b;
invoke-virtual {p0}, Ljava/lang/Object;->notifyAll()V
monitor-exit p0
:try_end_1c
.catchall {:try_start_1 .. :try_end_1c} :catchall_25
iget-object p1, p0, Li/e0/i/i;->d:Li/e0/i/g;
iget v0, p0, Li/e0/i/i;->c:I
invoke-virtual {p1, v0}, Li/e0/i/g;->u0(I)Li/e0/i/i;
const/4 p1, 0x1
return p1
:catchall_25
move-exception p1
:try_start_26
monitor-exit p0
:try_end_27
.catchall {:try_start_26 .. :try_end_27} :catchall_25
throw p1
.end method
# virtual methods
.method c(J)V
.registers 6
iget-wide v0, p0, Li/e0/i/i;->b:J
add-long/2addr v0, p1
iput-wide v0, p0, Li/e0/i/i;->b:J
const-wide/16 v0, 0x0
cmp-long v2, p1, v0
if-lez v2, :cond_e
invoke-virtual {p0}, Ljava/lang/Object;->notifyAll()V
:cond_e
return-void
.end method
.method d()V
.registers 3
monitor-enter p0
:try_start_1
iget-object v0, p0, Li/e0/i/i;->h:Li/e0/i/i$b;
iget-boolean v1, v0, Li/e0/i/i$b;->i:Z
if-nez v1, :cond_17
iget-boolean v0, v0, Li/e0/i/i$b;->h:Z
if-eqz v0, :cond_17
iget-object v0, p0, Li/e0/i/i;->i:Li/e0/i/i$a;
iget-boolean v1, v0, Li/e0/i/i$a;->g:Z
if-nez v1, :cond_15
iget-boolean v0, v0, Li/e0/i/i$a;->f:Z
if-eqz v0, :cond_17
:cond_15
const/4 v0, 0x1
goto :goto_18
:cond_17
const/4 v0, 0x0
:goto_18
invoke-virtual {p0}, Li/e0/i/i;->m()Z
move-result v1
monitor-exit p0
:try_end_1d
.catchall {:try_start_1 .. :try_end_1d} :catchall_2f
if-eqz v0, :cond_25
sget-object v0, Li/e0/i/b;->k:Li/e0/i/b;
invoke-virtual {p0, v0}, Li/e0/i/i;->f(Li/e0/i/b;)V
goto :goto_2e
:cond_25
if-nez v1, :cond_2e
iget-object v0, p0, Li/e0/i/i;->d:Li/e0/i/g;
iget v1, p0, Li/e0/i/i;->c:I
invoke-virtual {v0, v1}, Li/e0/i/g;->u0(I)Li/e0/i/i;
:cond_2e
:goto_2e
return-void
:catchall_2f
move-exception v0
:try_start_30
monitor-exit p0
:try_end_31
.catchall {:try_start_30 .. :try_end_31} :catchall_2f
throw v0
.end method
.method e()V
.registers 3
iget-object v0, p0, Li/e0/i/i;->i:Li/e0/i/i$a;
iget-boolean v1, v0, Li/e0/i/i$a;->f:Z
if-nez v1, :cond_1f
iget-boolean v0, v0, Li/e0/i/i$a;->g:Z
if-nez v0, :cond_17
iget-object v0, p0, Li/e0/i/i;->l:Li/e0/i/b;
if-nez v0, :cond_f
return-void
:cond_f
new-instance v0, Li/e0/i/n;
iget-object v1, p0, Li/e0/i/i;->l:Li/e0/i/b;
invoke-direct {v0, v1}, Li/e0/i/n;-><init>(Li/e0/i/b;)V
throw v0
:cond_17
new-instance v0, Ljava/io/IOException;
const-string v1, "stream finished"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
:cond_1f
new-instance v0, Ljava/io/IOException;
const-string v1, "stream closed"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public f(Li/e0/i/b;)V
.registers 4
invoke-direct {p0, p1}, Li/e0/i/i;->g(Li/e0/i/b;)Z
move-result v0
if-nez v0, :cond_7
return-void
:cond_7
iget-object v0, p0, Li/e0/i/i;->d:Li/e0/i/g;
iget v1, p0, Li/e0/i/i;->c:I
invoke-virtual {v0, v1, p1}, Li/e0/i/g;->B0(ILi/e0/i/b;)V
return-void
.end method
.method public h(Li/e0/i/b;)V
.registers 4
invoke-direct {p0, p1}, Li/e0/i/i;->g(Li/e0/i/b;)Z
move-result v0
if-nez v0, :cond_7
return-void
:cond_7
iget-object v0, p0, Li/e0/i/i;->d:Li/e0/i/g;
iget v1, p0, Li/e0/i/i;->c:I
invoke-virtual {v0, v1, p1}, Li/e0/i/g;->C0(ILi/e0/i/b;)V
return-void
.end method
.method public i()I
.registers 2
iget v0, p0, Li/e0/i/i;->c:I
return v0
.end method
.method public j()Lj/r;
.registers 3
monitor-enter p0
:try_start_1
iget-boolean v0, p0, Li/e0/i/i;->g:Z
if-nez v0, :cond_14
invoke-virtual {p0}, Li/e0/i/i;->l()Z
move-result v0
if-eqz v0, :cond_c
goto :goto_14
:cond_c
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "reply before requesting the sink"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:cond_14
:goto_14
monitor-exit p0
:try_end_15
.catchall {:try_start_1 .. :try_end_15} :catchall_18
iget-object v0, p0, Li/e0/i/i;->i:Li/e0/i/i$a;
return-object v0
:catchall_18
move-exception v0
:try_start_19
monitor-exit p0
:try_end_1a
.catchall {:try_start_19 .. :try_end_1a} :catchall_18
throw v0
.end method
.method public k()Lj/s;
.registers 2
iget-object v0, p0, Li/e0/i/i;->h:Li/e0/i/i$b;
return-object v0
.end method
.method public l()Z
.registers 5
iget v0, p0, Li/e0/i/i;->c:I
const/4 v1, 0x1
and-int/2addr v0, v1
const/4 v2, 0x0
if-ne v0, v1, :cond_9
const/4 v0, 0x1
goto :goto_a
:cond_9
const/4 v0, 0x0
:goto_a
iget-object v3, p0, Li/e0/i/i;->d:Li/e0/i/g;
iget-boolean v3, v3, Li/e0/i/g;->e:Z
if-ne v3, v0, :cond_11
goto :goto_12
:cond_11
const/4 v1, 0x0
:goto_12
return v1
.end method
.method public declared-synchronized m()Z
.registers 4
monitor-enter p0
:try_start_1
iget-object v0, p0, Li/e0/i/i;->l:Li/e0/i/b;
:try_end_3
.catchall {:try_start_1 .. :try_end_3} :catchall_25
const/4 v1, 0x0
if-eqz v0, :cond_8
monitor-exit p0
return v1
:cond_8
:try_start_8
iget-object v0, p0, Li/e0/i/i;->h:Li/e0/i/i$b;
iget-boolean v2, v0, Li/e0/i/i$b;->i:Z
if-nez v2, :cond_12
iget-boolean v0, v0, Li/e0/i/i$b;->h:Z
if-eqz v0, :cond_22
:cond_12
iget-object v0, p0, Li/e0/i/i;->i:Li/e0/i/i$a;
iget-boolean v2, v0, Li/e0/i/i$a;->g:Z
if-nez v2, :cond_1c
iget-boolean v0, v0, Li/e0/i/i$a;->f:Z
if-eqz v0, :cond_22
:cond_1c
iget-boolean v0, p0, Li/e0/i/i;->g:Z
:try_end_1e
.catchall {:try_start_8 .. :try_end_1e} :catchall_25
if-eqz v0, :cond_22
monitor-exit p0
return v1
:cond_22
const/4 v0, 0x1
monitor-exit p0
return v0
:catchall_25
move-exception v0
monitor-exit p0
throw v0
.end method
.method public n()Lj/t;
.registers 2
iget-object v0, p0, Li/e0/i/i;->j:Li/e0/i/i$c;
return-object v0
.end method
.method o(Lj/e;I)V
.registers 6
iget-object v0, p0, Li/e0/i/i;->h:Li/e0/i/i$b;
int-to-long v1, p2
invoke-virtual {v0, p1, v1, v2}, Li/e0/i/i$b;->k(Lj/e;J)V
return-void
.end method
.method p()V
.registers 3
monitor-enter p0
:try_start_1
iget-object v0, p0, Li/e0/i/i;->h:Li/e0/i/i$b;
const/4 v1, 0x1
iput-boolean v1, v0, Li/e0/i/i$b;->i:Z
invoke-virtual {p0}, Li/e0/i/i;->m()Z
move-result v0
invoke-virtual {p0}, Ljava/lang/Object;->notifyAll()V
monitor-exit p0
:try_end_e
.catchall {:try_start_1 .. :try_end_e} :catchall_18
if-nez v0, :cond_17
iget-object v0, p0, Li/e0/i/i;->d:Li/e0/i/g;
iget v1, p0, Li/e0/i/i;->c:I
invoke-virtual {v0, v1}, Li/e0/i/g;->u0(I)Li/e0/i/i;
:cond_17
return-void
:catchall_18
move-exception v0
:try_start_19
monitor-exit p0
:try_end_1a
.catchall {:try_start_19 .. :try_end_1a} :catchall_18
throw v0
.end method
.method q(Ljava/util/List;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Li/e0/i/c;",
">;)V"
}
.end annotation
monitor-enter p0
const/4 v0, 0x1
:try_start_2
iput-boolean v0, p0, Li/e0/i/i;->g:Z
iget-object v0, p0, Li/e0/i/i;->e:Ljava/util/Deque;
invoke-static {p1}, Li/e0/c;->H(Ljava/util/List;)Li/r;
move-result-object p1
invoke-interface {v0, p1}, Ljava/util/Deque;->add(Ljava/lang/Object;)Z
invoke-virtual {p0}, Li/e0/i/i;->m()Z
move-result p1
invoke-virtual {p0}, Ljava/lang/Object;->notifyAll()V
monitor-exit p0
:try_end_15
.catchall {:try_start_2 .. :try_end_15} :catchall_1f
if-nez p1, :cond_1e
iget-object p1, p0, Li/e0/i/i;->d:Li/e0/i/g;
iget v0, p0, Li/e0/i/i;->c:I
invoke-virtual {p1, v0}, Li/e0/i/g;->u0(I)Li/e0/i/i;
:cond_1e
return-void
:catchall_1f
move-exception p1
:try_start_20
monitor-exit p0
:try_end_21
.catchall {:try_start_20 .. :try_end_21} :catchall_1f
throw p1
.end method
.method declared-synchronized r(Li/e0/i/b;)V
.registers 3
monitor-enter p0
:try_start_1
iget-object v0, p0, Li/e0/i/i;->l:Li/e0/i/b;
if-nez v0, :cond_a
iput-object p1, p0, Li/e0/i/i;->l:Li/e0/i/b;
invoke-virtual {p0}, Ljava/lang/Object;->notifyAll()V
:try_end_a
.catchall {:try_start_1 .. :try_end_a} :catchall_c
:cond_a
monitor-exit p0
return-void
:catchall_c
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized s()Li/r;
.registers 3
monitor-enter p0
:try_start_1
iget-object v0, p0, Li/e0/i/i;->j:Li/e0/i/i$c;
invoke-virtual {v0}, Lj/a;->k()V
:try_end_6
.catchall {:try_start_1 .. :try_end_6} :catchall_3c
:goto_6
:try_start_6
iget-object v0, p0, Li/e0/i/i;->e:Ljava/util/Deque;
invoke-interface {v0}, Ljava/util/Deque;->isEmpty()Z
move-result v0
if-eqz v0, :cond_16
iget-object v0, p0, Li/e0/i/i;->l:Li/e0/i/b;
if-nez v0, :cond_16
invoke-virtual {p0}, Li/e0/i/i;->t()V
:try_end_15
.catchall {:try_start_6 .. :try_end_15} :catchall_35
goto :goto_6
:cond_16
:try_start_16
iget-object v0, p0, Li/e0/i/i;->j:Li/e0/i/i$c;
invoke-virtual {v0}, Li/e0/i/i$c;->u()V
iget-object v0, p0, Li/e0/i/i;->e:Ljava/util/Deque;
invoke-interface {v0}, Ljava/util/Deque;->isEmpty()Z
move-result v0
if-nez v0, :cond_2d
iget-object v0, p0, Li/e0/i/i;->e:Ljava/util/Deque;
invoke-interface {v0}, Ljava/util/Deque;->removeFirst()Ljava/lang/Object;
move-result-object v0
check-cast v0, Li/r;
:try_end_2b
.catchall {:try_start_16 .. :try_end_2b} :catchall_3c
monitor-exit p0
return-object v0
:cond_2d
:try_start_2d
new-instance v0, Li/e0/i/n;
iget-object v1, p0, Li/e0/i/i;->l:Li/e0/i/b;
invoke-direct {v0, v1}, Li/e0/i/n;-><init>(Li/e0/i/b;)V
throw v0
:catchall_35
move-exception v0
iget-object v1, p0, Li/e0/i/i;->j:Li/e0/i/i$c;
invoke-virtual {v1}, Li/e0/i/i$c;->u()V
throw v0
:try_end_3c
.catchall {:try_start_2d .. :try_end_3c} :catchall_3c
:catchall_3c
move-exception v0
monitor-exit p0
goto :goto_40
:goto_3f
throw v0
:goto_40
goto :goto_3f
.end method
.method t()V
.registers 2
:try_start_0
invoke-virtual {p0}, Ljava/lang/Object;->wait()V
:try_end_3
.catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_3} :catch_4
return-void
:catch_4
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Thread;->interrupt()V
new-instance v0, Ljava/io/InterruptedIOException;
invoke-direct {v0}, Ljava/io/InterruptedIOException;-><init>()V
throw v0
.end method
.method public u()Lj/t;
.registers 2
iget-object v0, p0, Li/e0/i/i;->k:Li/e0/i/i$c;
return-object v0
.end method