i.smali
.class public final Lrx/c/e/i;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lrx/j;
# static fields
.field public static final b:I
.field public static final c:Lrx/c/e/e;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrx/c/e/e<",
"Ljava/util/Queue<",
"Ljava/lang/Object;",
">;>;"
}
.end annotation
.end field
.field public static final d:Lrx/c/e/e;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrx/c/e/e<",
"Ljava/util/Queue<",
"Ljava/lang/Object;",
">;>;"
}
.end annotation
.end field
.field private static final e:Lrx/c/a/f;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrx/c/a/f<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
# instance fields
.field public volatile a:Ljava/lang/Object;
.field private f:Ljava/util/Queue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Queue<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field private final g:I
.field private final h:Lrx/c/e/e;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lrx/c/e/e<",
"Ljava/util/Queue<",
"Ljava/lang/Object;",
">;>;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 6
.line 128
invoke-static {}, Lrx/c/a/f;->a()Lrx/c/a/f;
move-result-object v0
sput-object v0, Lrx/c/e/i;->e:Lrx/c/a/f;
.line 248
invoke-static {}, Lrx/c/e/h;->a()Z
move-result v0
if-eqz v0, :cond_f
const/16 v0, 0x10
goto :goto_11
:cond_f
const/16 v0, 0x80
:goto_11
const-string v1, "rx.ring-buffer.size"
.line 253
invoke-static {v1}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
if-eqz v1, :cond_3e
.line 256
:try_start_19
invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
:try_end_1d
.catch Ljava/lang/NumberFormatException; {:try_start_19 .. :try_end_1d} :catch_1e
goto :goto_3e
:catch_1e
move-exception v2
.line 258
sget-object v3, Ljava/lang/System;->err:Ljava/io/PrintStream;
new-instance v4, Ljava/lang/StringBuilder;
const-string v5, "Failed to set \'rx.buffer.size\' with value "
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, " => "
invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/NumberFormatException;->getMessage()Ljava/lang/String;
move-result-object v1
invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v3, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
.line 262
:cond_3e
:goto_3e
sput v0, Lrx/c/e/i;->b:I
.line 267
new-instance v0, Lrx/c/e/i$1;
invoke-direct {v0}, Lrx/c/e/i$1;-><init>()V
sput-object v0, Lrx/c/e/i;->c:Lrx/c/e/e;
.line 277
new-instance v0, Lrx/c/e/i$2;
invoke-direct {v0}, Lrx/c/e/i$2;-><init>()V
sput-object v0, Lrx/c/e/i;->d:Lrx/c/e/e;
return-void
.end method
.method constructor <init>()V
.registers 3
.line 330
new-instance v0, Lrx/c/e/n;
sget v1, Lrx/c/e/i;->b:I
invoke-direct {v0, v1}, Lrx/c/e/n;-><init>(I)V
sget v1, Lrx/c/e/i;->b:I
invoke-direct {p0, v0, v1}, Lrx/c/e/i;-><init>(Ljava/util/Queue;I)V
return-void
.end method
.method private constructor <init>(Ljava/util/Queue;I)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Queue<",
"Ljava/lang/Object;",
">;I)V"
}
.end annotation
.line 302
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 303
iput-object p1, p0, Lrx/c/e/i;->f:Ljava/util/Queue;
const/4 p1, 0x0
.line 304
iput-object p1, p0, Lrx/c/e/i;->h:Lrx/c/e/e;
.line 305
iput p2, p0, Lrx/c/e/i;->g:I
return-void
.end method
.method private constructor <init>(Lrx/c/e/e;I)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lrx/c/e/e<",
"Ljava/util/Queue<",
"Ljava/lang/Object;",
">;>;I)V"
}
.end annotation
.line 308
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 309
iput-object p1, p0, Lrx/c/e/i;->h:Lrx/c/e/e;
.line 310
invoke-virtual {p1}, Lrx/c/e/e;->a()Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/util/Queue;
iput-object p1, p0, Lrx/c/e/i;->f:Ljava/util/Queue;
.line 311
iput p2, p0, Lrx/c/e/i;->g:I
return-void
.end method
.method public static a()Lrx/c/e/i;
.registers 3
.line 287
invoke-static {}, Lrx/c/e/b/y;->a()Z
move-result v0
if-eqz v0, :cond_10
.line 288
new-instance v0, Lrx/c/e/i;
sget-object v1, Lrx/c/e/i;->c:Lrx/c/e/e;
sget v2, Lrx/c/e/i;->b:I
invoke-direct {v0, v1, v2}, Lrx/c/e/i;-><init>(Lrx/c/e/e;I)V
return-object v0
.line 290
:cond_10
new-instance v0, Lrx/c/e/i;
invoke-direct {v0}, Lrx/c/e/i;-><init>()V
return-object v0
.end method
.method public static b()Lrx/c/e/i;
.registers 3
.line 295
invoke-static {}, Lrx/c/e/b/y;->a()Z
move-result v0
if-eqz v0, :cond_10
.line 296
new-instance v0, Lrx/c/e/i;
sget-object v1, Lrx/c/e/i;->d:Lrx/c/e/e;
sget v2, Lrx/c/e/i;->b:I
invoke-direct {v0, v1, v2}, Lrx/c/e/i;-><init>(Lrx/c/e/e;I)V
return-object v0
.line 298
:cond_10
new-instance v0, Lrx/c/e/i;
invoke-direct {v0}, Lrx/c/e/i;-><init>()V
return-object v0
.end method
.method public static b(Ljava/lang/Object;)Z
.registers 1
.line 435
invoke-static {p0}, Lrx/c/a/f;->b(Ljava/lang/Object;)Z
move-result p0
return p0
.end method
.method public static c(Ljava/lang/Object;)Ljava/lang/Object;
.registers 1
.line 443
invoke-static {p0}, Lrx/c/a/f;->d(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
# virtual methods
.method public final a(Ljava/lang/Object;)V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Lrx/exceptions/MissingBackpressureException;
}
.end annotation
.line 342
monitor-enter p0
.line 343
:try_start_1
iget-object v0, p0, Lrx/c/e/i;->f:Ljava/util/Queue;
const/4 v1, 0x1
const/4 v2, 0x0
if-eqz v0, :cond_12
.line 345
invoke-static {p1}, Lrx/c/a/f;->a(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {v0, p1}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z
move-result p1
xor-int/2addr p1, v1
move v2, p1
const/4 v1, 0x0
.line 349
:cond_12
monitor-exit p0
:try_end_13
.catchall {:try_start_1 .. :try_end_13} :catchall_26
if-nez v1, :cond_1e
if-nez v2, :cond_18
return-void
.line 355
:cond_18
new-instance p1, Lrx/exceptions/MissingBackpressureException;
invoke-direct {p1}, Lrx/exceptions/MissingBackpressureException;-><init>()V
throw p1
.line 352
:cond_1e
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "This instance has been unsubscribed and the queue is no longer usable."
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
:catchall_26
move-exception p1
.line 349
:try_start_27
monitor-exit p0
:try_end_28
.catchall {:try_start_27 .. :try_end_28} :catchall_26
throw p1
.end method
.method public final declared-synchronized c()V
.registers 4
monitor-enter p0
.line 315
:try_start_1
iget-object v0, p0, Lrx/c/e/i;->f:Ljava/util/Queue;
.line 316
iget-object v1, p0, Lrx/c/e/i;->h:Lrx/c/e/e;
if-eqz v1, :cond_16
if-eqz v0, :cond_16
.line 318
invoke-interface {v0}, Ljava/util/Queue;->clear()V
const/4 v2, 0x0
.line 319
iput-object v2, p0, Lrx/c/e/i;->f:Ljava/util/Queue;
if-eqz v0, :cond_16
.line 1089
iget-object v1, v1, Lrx/c/e/e;->a:Ljava/util/Queue;
invoke-interface {v1, v0}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z
:try_end_16
.catchall {:try_start_1 .. :try_end_16} :catchall_18
.line 322
:cond_16
monitor-exit p0
return-void
:catchall_18
move-exception v0
monitor-exit p0
throw v0
.end method
.method public final d()Z
.registers 2
.line 390
iget-object v0, p0, Lrx/c/e/i;->f:Ljava/util/Queue;
if-nez v0, :cond_6
const/4 v0, 0x1
return v0
.line 394
:cond_6
invoke-interface {v0}, Ljava/util/Queue;->isEmpty()Z
move-result v0
return v0
.end method
.method public final e()Ljava/lang/Object;
.registers 5
.line 399
monitor-enter p0
.line 400
:try_start_1
iget-object v0, p0, Lrx/c/e/i;->f:Ljava/util/Queue;
const/4 v1, 0x0
if-nez v0, :cond_8
.line 403
monitor-exit p0
return-object v1
.line 405
:cond_8
invoke-interface {v0}, Ljava/util/Queue;->poll()Ljava/lang/Object;
move-result-object v2
.line 407
iget-object v3, p0, Lrx/c/e/i;->a:Ljava/lang/Object;
if-nez v2, :cond_1b
if-eqz v3, :cond_1b
.line 408
invoke-interface {v0}, Ljava/util/Queue;->peek()Ljava/lang/Object;
move-result-object v0
if-nez v0, :cond_1b
.line 411
iput-object v1, p0, Lrx/c/e/i;->a:Ljava/lang/Object;
move-object v2, v3
.line 413
:cond_1b
monitor-exit p0
return-object v2
:catchall_1d
move-exception v0
monitor-exit p0
:try_end_1f
.catchall {:try_start_1 .. :try_end_1f} :catchall_1d
throw v0
.end method
.method public final f()Ljava/lang/Object;
.registers 4
.line 419
monitor-enter p0
.line 420
:try_start_1
iget-object v0, p0, Lrx/c/e/i;->f:Ljava/util/Queue;
if-nez v0, :cond_8
const/4 v0, 0x0
.line 423
monitor-exit p0
return-object v0
.line 425
:cond_8
invoke-interface {v0}, Ljava/util/Queue;->peek()Ljava/lang/Object;
move-result-object v1
.line 426
iget-object v2, p0, Lrx/c/e/i;->a:Ljava/lang/Object;
if-nez v1, :cond_19
if-eqz v2, :cond_19
.line 427
invoke-interface {v0}, Ljava/util/Queue;->peek()Ljava/lang/Object;
move-result-object v0
if-nez v0, :cond_19
move-object v1, v2
.line 430
:cond_19
monitor-exit p0
return-object v1
:catchall_1b
move-exception v0
monitor-exit p0
:try_end_1d
.catchall {:try_start_1 .. :try_end_1d} :catchall_1b
throw v0
.end method
.method public final isUnsubscribed()Z
.registers 2
.line 457
iget-object v0, p0, Lrx/c/e/i;->f:Ljava/util/Queue;
if-nez v0, :cond_6
const/4 v0, 0x1
return v0
:cond_6
const/4 v0, 0x0
return v0
.end method
.method public final unsubscribe()V
.registers 1
.line 326
invoke-virtual {p0}, Lrx/c/e/i;->c()V
return-void
.end method