NewThreadScheduler.smali
2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
.class public final Lio/reactivex/internal/schedulers/NewThreadScheduler;
.super Lio/reactivex/Scheduler;
.source "NewThreadScheduler.java"
# static fields
.field private static final KEY_NEWTHREAD_PRIORITY:Ljava/lang/String; = "rx2.newthread-priority"
.field private static final THREAD_FACTORY:Lio/reactivex/internal/schedulers/RxThreadFactory;
.field private static final THREAD_NAME_PREFIX:Ljava/lang/String; = "RxNewThreadScheduler"
# instance fields
.field final threadFactory:Ljava/util/concurrent/ThreadFactory;
# direct methods
.method static constructor <clinit>()V
.locals 3
const-string v0, "rx2.newthread-priority"
const/4 v1, 0x5
.line 39
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
const/16 v1, 0xa
.line 38
invoke-static {v1, v0}, Ljava/lang/Math;->min(II)I
move-result v0
const/4 v1, 0x1
invoke-static {v1, v0}, Ljava/lang/Math;->max(II)I
move-result v0
.line 41
new-instance v1, Lio/reactivex/internal/schedulers/RxThreadFactory;
const-string v2, "RxNewThreadScheduler"
invoke-direct {v1, v2, v0}, Lio/reactivex/internal/schedulers/RxThreadFactory;-><init>(Ljava/lang/String;I)V
sput-object v1, Lio/reactivex/internal/schedulers/NewThreadScheduler;->THREAD_FACTORY:Lio/reactivex/internal/schedulers/RxThreadFactory;
return-void
.end method
.method public constructor <init>()V
.locals 1
.line 45
sget-object v0, Lio/reactivex/internal/schedulers/NewThreadScheduler;->THREAD_FACTORY:Lio/reactivex/internal/schedulers/RxThreadFactory;
invoke-direct {p0, v0}, Lio/reactivex/internal/schedulers/NewThreadScheduler;-><init>(Ljava/util/concurrent/ThreadFactory;)V
return-void
.end method
.method public constructor <init>(Ljava/util/concurrent/ThreadFactory;)V
.locals 0
.line 48
invoke-direct {p0}, Lio/reactivex/Scheduler;-><init>()V
.line 49
iput-object p1, p0, Lio/reactivex/internal/schedulers/NewThreadScheduler;->threadFactory:Ljava/util/concurrent/ThreadFactory;
return-void
.end method
# virtual methods
.method public createWorker()Lio/reactivex/Scheduler$Worker;
.locals 2
.annotation build Lio/reactivex/annotations/NonNull;
.end annotation
.line 55
new-instance v0, Lio/reactivex/internal/schedulers/NewThreadWorker;
iget-object v1, p0, Lio/reactivex/internal/schedulers/NewThreadScheduler;->threadFactory:Ljava/util/concurrent/ThreadFactory;
invoke-direct {v0, v1}, Lio/reactivex/internal/schedulers/NewThreadWorker;-><init>(Ljava/util/concurrent/ThreadFactory;)V
return-object v0
.end method