ac.smali
.class final Lio/reactivex/internal/operators/observable/ac;
.super Lio/reactivex/internal/observers/k;
.source "ObservableBufferTimed.java"
# interfaces
.implements Lio/reactivex/disposables/b;
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"U::",
"Ljava/util/Collection",
"<-TT;>;>",
"Lio/reactivex/internal/observers/k",
"<TT;TU;TU;>;",
"Lio/reactivex/disposables/b;",
"Ljava/lang/Runnable;"
}
.end annotation
# instance fields
.field private bPm:Ljava/util/Collection;
.annotation system Ldalvik/annotation/Signature;
value = {
"TU;"
}
.end annotation
.end field
.field private bPt:J
.field private bufferSupplier:Ljava/util/concurrent/Callable;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/Callable",
"<TU;>;"
}
.end annotation
.end field
.field private s:Lio/reactivex/disposables/b;
.field private scheduler:Lio/reactivex/s;
.field private timer:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference",
"<",
"Lio/reactivex/disposables/b;",
">;"
}
.end annotation
.end field
.field private unit:Ljava/util/concurrent/TimeUnit;
# direct methods
.method constructor <init>(Lio/reactivex/r;Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;Lio/reactivex/s;)V
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/r",
"<-TU;>;",
"Ljava/util/concurrent/Callable",
"<TU;>;J",
"Ljava/util/concurrent/TimeUnit;",
"Lio/reactivex/s;",
")V"
}
.end annotation
.prologue
.line 97
new-instance v0, Lio/reactivex/internal/queue/MpscLinkedQueue;
invoke-direct {v0}, Lio/reactivex/internal/queue/MpscLinkedQueue;-><init>()V
invoke-direct {p0, p1, v0}, Lio/reactivex/internal/observers/k;-><init>(Lio/reactivex/r;Lio/reactivex/internal/a/f;)V
.line 92
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
iput-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->timer:Ljava/util/concurrent/atomic/AtomicReference;
.line 98
iput-object p2, p0, Lio/reactivex/internal/operators/observable/ac;->bufferSupplier:Ljava/util/concurrent/Callable;
.line 99
iput-wide p3, p0, Lio/reactivex/internal/operators/observable/ac;->bPt:J
.line 100
iput-object p5, p0, Lio/reactivex/internal/operators/observable/ac;->unit:Ljava/util/concurrent/TimeUnit;
.line 101
iput-object p6, p0, Lio/reactivex/internal/operators/observable/ac;->scheduler:Lio/reactivex/s;
.line 102
return-void
.end method
# virtual methods
.method public final synthetic a(Lio/reactivex/r;Ljava/lang/Object;)V
.registers 4
.prologue
.line 81
check-cast p2, Ljava/util/Collection;
.line 1213
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->actual:Lio/reactivex/r;
invoke-interface {v0, p2}, Lio/reactivex/r;->onNext(Ljava/lang/Object;)V
.line 81
return-void
.end method
.method public final dispose()V
.registers 2
.prologue
.line 172
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->timer:Ljava/util/concurrent/atomic/AtomicReference;
invoke-static {v0}, Lio/reactivex/internal/disposables/DisposableHelper;->dispose(Ljava/util/concurrent/atomic/AtomicReference;)Z
.line 173
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->s:Lio/reactivex/disposables/b;
invoke-interface {v0}, Lio/reactivex/disposables/b;->dispose()V
.line 174
return-void
.end method
.method public final isDisposed()Z
.registers 3
.prologue
.line 178
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->timer:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
sget-object v1, Lio/reactivex/internal/disposables/DisposableHelper;->DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
if-ne v0, v1, :cond_c
const/4 v0, 0x1
:goto_b
return v0
:cond_c
const/4 v0, 0x0
goto :goto_b
.end method
.method public final onComplete()V
.registers 4
.prologue
const/4 v2, 0x0
.line 156
monitor-enter p0
.line 157
:try_start_2
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->bPm:Ljava/util/Collection;
.line 158
const/4 v1, 0x0
iput-object v1, p0, Lio/reactivex/internal/operators/observable/ac;->bPm:Ljava/util/Collection;
.line 159
monitor-exit p0
:try_end_8
.catchall {:try_start_2 .. :try_end_8} :catchall_25
.line 160
if-eqz v0, :cond_1f
.line 161
iget-object v1, p0, Lio/reactivex/internal/operators/observable/ac;->queue:Lio/reactivex/internal/a/f;
invoke-interface {v1, v0}, Lio/reactivex/internal/a/f;->offer(Ljava/lang/Object;)Z
.line 162
const/4 v0, 0x1
iput-boolean v0, p0, Lio/reactivex/internal/operators/observable/ac;->done:Z
.line 163
invoke-virtual {p0}, Lio/reactivex/internal/operators/observable/ac;->PR()Z
move-result v0
if-eqz v0, :cond_1f
.line 164
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->queue:Lio/reactivex/internal/a/f;
iget-object v1, p0, Lio/reactivex/internal/operators/observable/ac;->actual:Lio/reactivex/r;
invoke-static {v0, v1, v2, p0}, Lio/reactivex/internal/util/k;->a(Lio/reactivex/internal/a/f;Lio/reactivex/r;Lio/reactivex/disposables/b;Lio/reactivex/internal/util/h;)V
.line 167
:cond_1f
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->timer:Ljava/util/concurrent/atomic/AtomicReference;
invoke-static {v0}, Lio/reactivex/internal/disposables/DisposableHelper;->dispose(Ljava/util/concurrent/atomic/AtomicReference;)Z
.line 168
return-void
.line 159
:catchall_25
move-exception v0
:try_start_26
monitor-exit p0
:try_end_27
.catchall {:try_start_26 .. :try_end_27} :catchall_25
throw v0
.end method
.method public final onError(Ljava/lang/Throwable;)V
.registers 3
.prologue
.line 146
monitor-enter p0
.line 147
const/4 v0, 0x0
:try_start_2
iput-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->bPm:Ljava/util/Collection;
.line 148
monitor-exit p0
:try_end_5
.catchall {:try_start_2 .. :try_end_5} :catchall_10
.line 149
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->actual:Lio/reactivex/r;
invoke-interface {v0, p1}, Lio/reactivex/r;->onError(Ljava/lang/Throwable;)V
.line 150
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->timer:Ljava/util/concurrent/atomic/AtomicReference;
invoke-static {v0}, Lio/reactivex/internal/disposables/DisposableHelper;->dispose(Ljava/util/concurrent/atomic/AtomicReference;)Z
.line 151
return-void
.line 148
:catchall_10
move-exception v0
:try_start_11
monitor-exit p0
:try_end_12
.catchall {:try_start_11 .. :try_end_12} :catchall_10
throw v0
.end method
.method public final onNext(Ljava/lang/Object;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.prologue
.line 135
monitor-enter p0
.line 136
:try_start_1
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->bPm:Ljava/util/Collection;
.line 137
if-nez v0, :cond_7
.line 138
monitor-exit p0
.line 141
:goto_6
return-void
.line 140
:cond_7
invoke-interface {v0, p1}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
.line 141
monitor-exit p0
goto :goto_6
:catchall_c
move-exception v0
monitor-exit p0
:try_end_e
.catchall {:try_start_1 .. :try_end_e} :catchall_c
throw v0
.end method
.method public final onSubscribe(Lio/reactivex/disposables/b;)V
.registers 9
.prologue
.line 106
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->s:Lio/reactivex/disposables/b;
invoke-static {v0, p1}, Lio/reactivex/internal/disposables/DisposableHelper;->validate(Lio/reactivex/disposables/b;Lio/reactivex/disposables/b;)Z
move-result v0
if-eqz v0, :cond_3c
.line 107
iput-object p1, p0, Lio/reactivex/internal/operators/observable/ac;->s:Lio/reactivex/disposables/b;
.line 112
:try_start_a
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->bufferSupplier:Ljava/util/concurrent/Callable;
invoke-interface {v0}, Ljava/util/concurrent/Callable;->call()Ljava/lang/Object;
move-result-object v0
const-string v1, "The buffer supplied is null"
invoke-static {v0, v1}, Lio/reactivex/internal/functions/aj;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Collection;
:try_end_18
.catch Ljava/lang/Throwable; {:try_start_a .. :try_end_18} :catch_3d
.line 120
iput-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->bPm:Ljava/util/Collection;
.line 122
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->actual:Lio/reactivex/r;
invoke-interface {v0, p0}, Lio/reactivex/r;->onSubscribe(Lio/reactivex/disposables/b;)V
.line 124
iget-boolean v0, p0, Lio/reactivex/internal/operators/observable/ac;->cancelled:Z
if-nez v0, :cond_3c
.line 125
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->scheduler:Lio/reactivex/s;
iget-wide v2, p0, Lio/reactivex/internal/operators/observable/ac;->bPt:J
iget-wide v4, p0, Lio/reactivex/internal/operators/observable/ac;->bPt:J
iget-object v6, p0, Lio/reactivex/internal/operators/observable/ac;->unit:Ljava/util/concurrent/TimeUnit;
move-object v1, p0
invoke-virtual/range {v0 .. v6}, Lio/reactivex/s;->b(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/b;
move-result-object v0
.line 126
iget-object v1, p0, Lio/reactivex/internal/operators/observable/ac;->timer:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v2, 0x0
invoke-virtual {v1, v2, v0}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_3c
.line 127
invoke-interface {v0}, Lio/reactivex/disposables/b;->dispose()V
.line 131
:cond_3c
:goto_3c
return-void
.line 113
:catch_3d
move-exception v0
.line 114
invoke-static {v0}, Lio/reactivex/exceptions/d;->throwIfFatal(Ljava/lang/Throwable;)V
.line 115
invoke-virtual {p0}, Lio/reactivex/internal/operators/observable/ac;->dispose()V
.line 116
iget-object v1, p0, Lio/reactivex/internal/operators/observable/ac;->actual:Lio/reactivex/r;
invoke-static {v0, v1}, Lio/reactivex/internal/disposables/EmptyDisposable;->error(Ljava/lang/Throwable;Lio/reactivex/r;)V
goto :goto_3c
.end method
.method public final run()V
.registers 3
.prologue
.line 186
:try_start_0
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->bufferSupplier:Ljava/util/concurrent/Callable;
invoke-interface {v0}, Ljava/util/concurrent/Callable;->call()Ljava/lang/Object;
move-result-object v0
const-string v1, "The bufferSupplier returned a null buffer"
invoke-static {v0, v1}, Lio/reactivex/internal/functions/aj;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Collection;
:try_end_e
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_e} :catch_1e
.line 196
monitor-enter p0
.line 197
:try_start_f
iget-object v1, p0, Lio/reactivex/internal/operators/observable/ac;->bPm:Ljava/util/Collection;
.line 198
if-eqz v1, :cond_15
.line 199
iput-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->bPm:Ljava/util/Collection;
.line 201
:cond_15
monitor-exit p0
:try_end_16
.catchall {:try_start_f .. :try_end_16} :catchall_2b
.line 203
if-nez v1, :cond_2e
.line 204
iget-object v0, p0, Lio/reactivex/internal/operators/observable/ac;->timer:Ljava/util/concurrent/atomic/AtomicReference;
invoke-static {v0}, Lio/reactivex/internal/disposables/DisposableHelper;->dispose(Ljava/util/concurrent/atomic/AtomicReference;)Z
.line 209
:goto_1d
return-void
.line 187
:catch_1e
move-exception v0
.line 188
invoke-static {v0}, Lio/reactivex/exceptions/d;->throwIfFatal(Ljava/lang/Throwable;)V
.line 189
iget-object v1, p0, Lio/reactivex/internal/operators/observable/ac;->actual:Lio/reactivex/r;
invoke-interface {v1, v0}, Lio/reactivex/r;->onError(Ljava/lang/Throwable;)V
.line 190
invoke-virtual {p0}, Lio/reactivex/internal/operators/observable/ac;->dispose()V
goto :goto_1d
.line 201
:catchall_2b
move-exception v0
:try_start_2c
monitor-exit p0
:try_end_2d
.catchall {:try_start_2c .. :try_end_2d} :catchall_2b
throw v0
.line 208
:cond_2e
invoke-virtual {p0, v1, p0}, Lio/reactivex/internal/operators/observable/ac;->a(Ljava/lang/Object;Lio/reactivex/disposables/b;)V
goto :goto_1d
.end method