f.smali
.class public final Lio/reactivex/internal/schedulers/f;
.super Lio/reactivex/s;
.source "IoScheduler.java"
# static fields
.field private static bSA:Lio/reactivex/internal/schedulers/g;
.field private static bSw:Lio/reactivex/internal/schedulers/RxThreadFactory;
.field static final bSx:Lio/reactivex/internal/schedulers/RxThreadFactory;
.field private static final bSy:Ljava/util/concurrent/TimeUnit;
.field static final bSz:Lio/reactivex/internal/schedulers/i;
# 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",
"<",
"Lio/reactivex/internal/schedulers/g;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 5
.prologue
.line 38
sget-object v0, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
sput-object v0, Lio/reactivex/internal/schedulers/f;->bSy:Ljava/util/concurrent/TimeUnit;
.line 49
new-instance v0, Lio/reactivex/internal/schedulers/i;
new-instance v1, Lio/reactivex/internal/schedulers/RxThreadFactory;
const-string v2, "RxCachedThreadSchedulerShutdown"
invoke-direct {v1, v2}, Lio/reactivex/internal/schedulers/RxThreadFactory;-><init>(Ljava/lang/String;)V
invoke-direct {v0, v1}, Lio/reactivex/internal/schedulers/i;-><init>(Ljava/util/concurrent/ThreadFactory;)V
.line 50
sput-object v0, Lio/reactivex/internal/schedulers/f;->bSz:Lio/reactivex/internal/schedulers/i;
invoke-virtual {v0}, Lio/reactivex/internal/schedulers/i;->dispose()V
.line 52
const/4 v0, 0x1
const/16 v1, 0xa
const-string v2, "rx2.io-priority"
const/4 v3, 0x5
.line 53
invoke-static {v2, v3}, Ljava/lang/Integer;->getInteger(Ljava/lang/String;I)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
move-result v2
.line 52
invoke-static {v1, v2}, Ljava/lang/Math;->min(II)I
move-result v1
invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I
move-result v0
.line 55
new-instance v1, Lio/reactivex/internal/schedulers/RxThreadFactory;
const-string v2, "RxCachedThreadScheduler"
invoke-direct {v1, v2, v0}, Lio/reactivex/internal/schedulers/RxThreadFactory;-><init>(Ljava/lang/String;I)V
sput-object v1, Lio/reactivex/internal/schedulers/f;->bSw:Lio/reactivex/internal/schedulers/RxThreadFactory;
.line 57
new-instance v1, Lio/reactivex/internal/schedulers/RxThreadFactory;
const-string v2, "RxCachedWorkerPoolEvictor"
invoke-direct {v1, v2, v0}, Lio/reactivex/internal/schedulers/RxThreadFactory;-><init>(Ljava/lang/String;I)V
sput-object v1, Lio/reactivex/internal/schedulers/f;->bSx:Lio/reactivex/internal/schedulers/RxThreadFactory;
.line 59
new-instance v0, Lio/reactivex/internal/schedulers/g;
const-wide/16 v2, 0x0
const/4 v1, 0x0
sget-object v4, Lio/reactivex/internal/schedulers/f;->bSw:Lio/reactivex/internal/schedulers/RxThreadFactory;
invoke-direct {v0, v2, v3, v1, v4}, Lio/reactivex/internal/schedulers/g;-><init>(JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/ThreadFactory;)V
.line 60
sput-object v0, Lio/reactivex/internal/schedulers/f;->bSA:Lio/reactivex/internal/schedulers/g;
invoke-virtual {v0}, Lio/reactivex/internal/schedulers/g;->shutdown()V
.line 61
return-void
.end method
.method public constructor <init>()V
.registers 2
.prologue
.line 150
sget-object v0, Lio/reactivex/internal/schedulers/f;->bSw:Lio/reactivex/internal/schedulers/RxThreadFactory;
invoke-direct {p0, v0}, Lio/reactivex/internal/schedulers/f;-><init>(Ljava/util/concurrent/ThreadFactory;)V
.line 151
return-void
.end method
.method private constructor <init>(Ljava/util/concurrent/ThreadFactory;)V
.registers 4
.prologue
.line 157
invoke-direct {p0}, Lio/reactivex/s;-><init>()V
.line 158
iput-object p1, p0, Lio/reactivex/internal/schedulers/f;->bMi:Ljava/util/concurrent/ThreadFactory;
.line 159
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
sget-object v1, Lio/reactivex/internal/schedulers/f;->bSA:Lio/reactivex/internal/schedulers/g;
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lio/reactivex/internal/schedulers/f;->bSl:Ljava/util/concurrent/atomic/AtomicReference;
.line 160
invoke-virtual {p0}, Lio/reactivex/internal/schedulers/f;->start()V
.line 161
return-void
.end method
# virtual methods
.method public final Pv()Lio/reactivex/v;
.registers 3
.prologue
.line 187
new-instance v1, Lio/reactivex/internal/schedulers/h;
iget-object v0, p0, Lio/reactivex/internal/schedulers/f;->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, Lio/reactivex/internal/schedulers/g;
invoke-direct {v1, v0}, Lio/reactivex/internal/schedulers/h;-><init>(Lio/reactivex/internal/schedulers/g;)V
return-object v1
.end method
.method public final start()V
.registers 6
.prologue
.line 165
new-instance v0, Lio/reactivex/internal/schedulers/g;
const-wide/16 v2, 0x3c
sget-object v1, Lio/reactivex/internal/schedulers/f;->bSy:Ljava/util/concurrent/TimeUnit;
iget-object v4, p0, Lio/reactivex/internal/schedulers/f;->bMi:Ljava/util/concurrent/ThreadFactory;
invoke-direct {v0, v2, v3, v1, v4}, Lio/reactivex/internal/schedulers/g;-><init>(JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/ThreadFactory;)V
.line 166
iget-object v1, p0, Lio/reactivex/internal/schedulers/f;->bSl:Ljava/util/concurrent/atomic/AtomicReference;
sget-object v2, Lio/reactivex/internal/schedulers/f;->bSA:Lio/reactivex/internal/schedulers/g;
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_18
.line 167
invoke-virtual {v0}, Lio/reactivex/internal/schedulers/g;->shutdown()V
.line 169
:cond_18
return-void
.end method