c.smali
.class final Lrx/internal/schedulers/c;
.super Lrx/k;
.source "CachedThreadScheduler.java"
# interfaces
.implements Lrx/b/a;
# instance fields
.field private final cbF:Lrx/g/b;
.field private final cbG:Lrx/internal/schedulers/b;
.field private final cbH:Lrx/internal/schedulers/d;
.field private once:Ljava/util/concurrent/atomic/AtomicBoolean;
# direct methods
.method constructor <init>(Lrx/internal/schedulers/b;)V
.registers 3
.prologue
.line 185
invoke-direct {p0}, Lrx/k;-><init>()V
.line 180
new-instance v0, Lrx/g/b;
invoke-direct {v0}, Lrx/g/b;-><init>()V
iput-object v0, p0, Lrx/internal/schedulers/c;->cbF:Lrx/g/b;
.line 186
iput-object p1, p0, Lrx/internal/schedulers/c;->cbG:Lrx/internal/schedulers/b;
.line 187
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>()V
iput-object v0, p0, Lrx/internal/schedulers/c;->once:Ljava/util/concurrent/atomic/AtomicBoolean;
.line 188
invoke-virtual {p1}, Lrx/internal/schedulers/b;->SU()Lrx/internal/schedulers/d;
move-result-object v0
iput-object v0, p0, Lrx/internal/schedulers/c;->cbH:Lrx/internal/schedulers/d;
.line 189
return-void
.end method
# virtual methods
.method public final b(Lrx/b/a;)Lrx/p;
.registers 7
.prologue
.line 214
.line 2219
iget-object v0, p0, Lrx/internal/schedulers/c;->cbF:Lrx/g/b;
invoke-virtual {v0}, Lrx/g/b;->isUnsubscribed()Z
move-result v0
if-eqz v0, :cond_d
.line 2221
invoke-static {}, Lrx/g/e;->TA()Lrx/p;
move-result-object v0
:goto_c
return-object v0
.line 2224
:cond_d
iget-object v0, p0, Lrx/internal/schedulers/c;->cbH:Lrx/internal/schedulers/d;
new-instance v1, Lrx/internal/schedulers/c$1;
invoke-direct {v1, p0, p1}, Lrx/internal/schedulers/c$1;-><init>(Lrx/internal/schedulers/c;Lrx/b/a;)V
const-wide/16 v2, 0x0
const/4 v4, 0x0
invoke-virtual {v0, v1, v2, v3, v4}, Lrx/internal/schedulers/d;->a(Lrx/b/a;JLjava/util/concurrent/TimeUnit;)Lrx/internal/schedulers/ScheduledAction;
move-result-object v0
.line 2233
iget-object v1, p0, Lrx/internal/schedulers/c;->cbF:Lrx/g/b;
invoke-virtual {v1, v0}, Lrx/g/b;->add(Lrx/p;)V
.line 2234
iget-object v1, p0, Lrx/internal/schedulers/c;->cbF:Lrx/g/b;
invoke-virtual {v0, v1}, Lrx/internal/schedulers/ScheduledAction;->addParent(Lrx/g/b;)V
goto :goto_c
.end method
.method public final call()V
.registers 7
.prologue
.line 204
iget-object v0, p0, Lrx/internal/schedulers/c;->cbG:Lrx/internal/schedulers/b;
iget-object v1, p0, Lrx/internal/schedulers/c;->cbH:Lrx/internal/schedulers/d;
.line 1129
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v2
.line 1105
iget-wide v4, v0, Lrx/internal/schedulers/b;->bSB:J
add-long/2addr v2, v4
.line 1252
iput-wide v2, v1, Lrx/internal/schedulers/d;->bSJ:J
.line 1107
iget-object v0, v0, Lrx/internal/schedulers/b;->bSC:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {v0, v1}, Ljava/util/concurrent/ConcurrentLinkedQueue;->offer(Ljava/lang/Object;)Z
.line 205
return-void
.end method
.method public final isUnsubscribed()Z
.registers 2
.prologue
.line 209
iget-object v0, p0, Lrx/internal/schedulers/c;->cbF:Lrx/g/b;
invoke-virtual {v0}, Lrx/g/b;->isUnsubscribed()Z
move-result v0
return v0
.end method
.method public final unsubscribe()V
.registers 4
.prologue
.line 193
iget-object v0, p0, Lrx/internal/schedulers/c;->once: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_f
.line 197
iget-object v0, p0, Lrx/internal/schedulers/c;->cbH:Lrx/internal/schedulers/d;
invoke-virtual {v0, p0}, Lrx/internal/schedulers/d;->b(Lrx/b/a;)Lrx/p;
.line 199
:cond_f
iget-object v0, p0, Lrx/internal/schedulers/c;->cbF:Lrx/g/b;
invoke-virtual {v0}, Lrx/g/b;->unsubscribe()V
.line 200
return-void
.end method