SchedulerWhen$QueueWorker.smali
.class final Lio/reactivex/internal/schedulers/SchedulerWhen$QueueWorker;
.super Lio/reactivex/Scheduler$Worker;
.source "SchedulerWhen.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/schedulers/SchedulerWhen;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x18
name = "QueueWorker"
.end annotation
# instance fields
.field private final actionProcessor:Lio/reactivex/processors/FlowableProcessor;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/processors/FlowableProcessor<",
"Lio/reactivex/internal/schedulers/SchedulerWhen$ScheduledAction;",
">;"
}
.end annotation
.end field
.field private final actualWorker:Lio/reactivex/Scheduler$Worker;
.field private final unsubscribed:Ljava/util/concurrent/atomic/AtomicBoolean;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method constructor <init>(Lio/reactivex/processors/FlowableProcessor;Lio/reactivex/Scheduler$Worker;)V
.registers 4
.param p2, "actualWorker" # Lio/reactivex/Scheduler$Worker;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/processors/FlowableProcessor<",
"Lio/reactivex/internal/schedulers/SchedulerWhen$ScheduledAction;",
">;",
"Lio/reactivex/Scheduler$Worker;",
")V"
}
.end annotation
.line 298
.local p1, "actionProcessor":Lio/reactivex/processors/FlowableProcessor;, "Lio/reactivex/processors/FlowableProcessor<Lio/reactivex/internal/schedulers/SchedulerWhen$ScheduledAction;>;"
invoke-direct {p0}, Lio/reactivex/Scheduler$Worker;-><init>()V
.line 299
iput-object p1, p0, Lio/reactivex/internal/schedulers/SchedulerWhen$QueueWorker;->actionProcessor:Lio/reactivex/processors/FlowableProcessor;
.line 300
iput-object p2, p0, Lio/reactivex/internal/schedulers/SchedulerWhen$QueueWorker;->actualWorker:Lio/reactivex/Scheduler$Worker;
.line 301
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>()V
iput-object v0, p0, Lio/reactivex/internal/schedulers/SchedulerWhen$QueueWorker;->unsubscribed:Ljava/util/concurrent/atomic/AtomicBoolean;
.line 302
return-void
.end method
# virtual methods
.method public dispose()V
.registers 4
.line 308
iget-object v0, p0, Lio/reactivex/internal/schedulers/SchedulerWhen$QueueWorker;->unsubscribed:Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v1, 0x0
const/4 v2, 0x1
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
move-result v0
if-eqz v0, :cond_14
.line 309
iget-object v0, p0, Lio/reactivex/internal/schedulers/SchedulerWhen$QueueWorker;->actionProcessor:Lio/reactivex/processors/FlowableProcessor;
invoke-virtual {v0}, Lio/reactivex/processors/FlowableProcessor;->onComplete()V
.line 310
iget-object v0, p0, Lio/reactivex/internal/schedulers/SchedulerWhen$QueueWorker;->actualWorker:Lio/reactivex/Scheduler$Worker;
invoke-virtual {v0}, Lio/reactivex/Scheduler$Worker;->dispose()V
.line 312
:cond_14
return-void
.end method
.method public isDisposed()Z
.registers 2
.line 316
iget-object v0, p0, Lio/reactivex/internal/schedulers/SchedulerWhen$QueueWorker;->unsubscribed:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v0
return v0
.end method
.method public schedule(Ljava/lang/Runnable;)Lio/reactivex/disposables/Disposable;
.registers 4
.param p1, "action" # Ljava/lang/Runnable;
.line 332
new-instance v0, Lio/reactivex/internal/schedulers/SchedulerWhen$ImmediateAction;
invoke-direct {v0, p1}, Lio/reactivex/internal/schedulers/SchedulerWhen$ImmediateAction;-><init>(Ljava/lang/Runnable;)V
.line 333
.local v0, "immediateAction":Lio/reactivex/internal/schedulers/SchedulerWhen$ImmediateAction;
iget-object v1, p0, Lio/reactivex/internal/schedulers/SchedulerWhen$QueueWorker;->actionProcessor:Lio/reactivex/processors/FlowableProcessor;
invoke-virtual {v1, v0}, Lio/reactivex/processors/FlowableProcessor;->onNext(Ljava/lang/Object;)V
.line 334
return-object v0
.end method
.method public schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable;
.registers 7
.param p1, "action" # Ljava/lang/Runnable;
.param p2, "delayTime" # J
.param p4, "unit" # Ljava/util/concurrent/TimeUnit;
.line 323
new-instance v0, Lio/reactivex/internal/schedulers/SchedulerWhen$DelayedAction;
invoke-direct {v0, p1, p2, p3, p4}, Lio/reactivex/internal/schedulers/SchedulerWhen$DelayedAction;-><init>(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)V
.line 324
.local v0, "delayedAction":Lio/reactivex/internal/schedulers/SchedulerWhen$DelayedAction;
iget-object v1, p0, Lio/reactivex/internal/schedulers/SchedulerWhen$QueueWorker;->actionProcessor:Lio/reactivex/processors/FlowableProcessor;
invoke-virtual {v1, v0}, Lio/reactivex/processors/FlowableProcessor;->onNext(Ljava/lang/Object;)V
.line 325
return-object v0
.end method