a.smali
.class public final Lrx/internal/schedulers/a;
.super Lrx/j;
.source "CachedThreadScheduler.java"
# interfaces
.implements Lrx/internal/schedulers/o;
# static fields
.field private static final bSy:Ljava/util/concurrent/TimeUnit;
.field static final cbA:Lrx/internal/schedulers/d;
.field private static cbB:Lrx/internal/schedulers/b;
.field private static final cbz:J
# instance fields
.field private bMi:Ljava/util/concurrent/ThreadFactory;
.field private bSl:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference",
"<",
"Lrx/internal/schedulers/b;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 5
.prologue
const/4 v4, 0x0
.line 28
sget-object v0, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
sput-object v0, Lrx/internal/schedulers/a;->bSy:Ljava/util/concurrent/TimeUnit;
.line 39
new-instance v0, Lrx/internal/schedulers/d;
sget-object v1, Lrx/internal/util/RxThreadFactory;->NONE:Ljava/util/concurrent/ThreadFactory;
invoke-direct {v0, v1}, Lrx/internal/schedulers/d;-><init>(Ljava/util/concurrent/ThreadFactory;)V
.line 40
sput-object v0, Lrx/internal/schedulers/a;->cbA:Lrx/internal/schedulers/d;
invoke-virtual {v0}, Lrx/internal/schedulers/d;->unsubscribe()V
.line 42
new-instance v0, Lrx/internal/schedulers/b;
const-wide/16 v2, 0x0
invoke-direct {v0, v4, v2, v3, v4}, Lrx/internal/schedulers/b;-><init>(Ljava/util/concurrent/ThreadFactory;JLjava/util/concurrent/TimeUnit;)V
.line 43
sput-object v0, Lrx/internal/schedulers/a;->cbB:Lrx/internal/schedulers/b;
invoke-virtual {v0}, Lrx/internal/schedulers/b;->shutdown()V
.line 45
const-string v0, "rx.io-scheduler.keepalive"
const/16 v1, 0x3c
invoke-static {v0, v1}, Ljava/lang/Integer;->getInteger(Ljava/lang/String;I)Ljava/lang/Integer;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
int-to-long v0, v0
sput-wide v0, Lrx/internal/schedulers/a;->cbz:J
.line 46
return-void
.end method
.method public constructor <init>(Ljava/util/concurrent/ThreadFactory;)V
.registers 7
.prologue
.line 146
invoke-direct {p0}, Lrx/j;-><init>()V
.line 147
iput-object p1, p0, Lrx/internal/schedulers/a;->bMi:Ljava/util/concurrent/ThreadFactory;
.line 148
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
sget-object v1, Lrx/internal/schedulers/a;->cbB:Lrx/internal/schedulers/b;
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lrx/internal/schedulers/a;->bSl:Ljava/util/concurrent/atomic/AtomicReference;
.line 1154
new-instance v0, Lrx/internal/schedulers/b;
iget-object v1, p0, Lrx/internal/schedulers/a;->bMi:Ljava/util/concurrent/ThreadFactory;
sget-wide v2, Lrx/internal/schedulers/a;->cbz:J
sget-object v4, Lrx/internal/schedulers/a;->bSy:Ljava/util/concurrent/TimeUnit;
invoke-direct {v0, v1, v2, v3, v4}, Lrx/internal/schedulers/b;-><init>(Ljava/util/concurrent/ThreadFactory;JLjava/util/concurrent/TimeUnit;)V
.line 1156
iget-object v1, p0, Lrx/internal/schedulers/a;->bSl:Ljava/util/concurrent/atomic/AtomicReference;
sget-object v2, Lrx/internal/schedulers/a;->cbB:Lrx/internal/schedulers/b;
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_26
.line 1157
invoke-virtual {v0}, Lrx/internal/schedulers/b;->shutdown()V
.line 150
:cond_26
return-void
.end method
# virtual methods
.method public final SI()Lrx/k;
.registers 3
.prologue
.line 176
new-instance v1, Lrx/internal/schedulers/c;
iget-object v0, p0, Lrx/internal/schedulers/a;->bSl:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lrx/internal/schedulers/b;
invoke-direct {v1, v0}, Lrx/internal/schedulers/c;-><init>(Lrx/internal/schedulers/b;)V
return-object v1
.end method
.method public final shutdown()V
.registers 4
.prologue
.line 163
:cond_0
iget-object v0, p0, Lrx/internal/schedulers/a;->bSl:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lrx/internal/schedulers/b;
.line 164
sget-object v1, Lrx/internal/schedulers/a;->cbB:Lrx/internal/schedulers/b;
if-ne v0, v1, :cond_d
.line 169
:goto_c
return-void
.line 167
:cond_d
iget-object v1, p0, Lrx/internal/schedulers/a;->bSl:Ljava/util/concurrent/atomic/AtomicReference;
sget-object v2, Lrx/internal/schedulers/a;->cbB:Lrx/internal/schedulers/b;
invoke-virtual {v1, v0, v2}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
.line 168
invoke-virtual {v0}, Lrx/internal/schedulers/b;->shutdown()V
goto :goto_c
.end method