Scheduler$Worker.smali
5.2 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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
.class public abstract Lio/reactivex/Scheduler$Worker;
.super Ljava/lang/Object;
.source "Scheduler.java"
# interfaces
.implements Lio/reactivex/disposables/Disposable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/Scheduler;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "Worker"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/reactivex/Scheduler$Worker$PeriodicTask;
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 360
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public now(Ljava/util/concurrent/TimeUnit;)J
.locals 3
.param p1 # Ljava/util/concurrent/TimeUnit;
.annotation build Lio/reactivex/annotations/NonNull;
.end annotation
.end param
.line 452
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
sget-object v2, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {p1, v0, v1, v2}, Ljava/util/concurrent/TimeUnit;->convert(JLjava/util/concurrent/TimeUnit;)J
move-result-wide v0
return-wide v0
.end method
.method public schedule(Ljava/lang/Runnable;)Lio/reactivex/disposables/Disposable;
.locals 3
.param p1 # Ljava/lang/Runnable;
.annotation build Lio/reactivex/annotations/NonNull;
.end annotation
.end param
.annotation build Lio/reactivex/annotations/NonNull;
.end annotation
.line 372
sget-object v0, Ljava/util/concurrent/TimeUnit;->NANOSECONDS:Ljava/util/concurrent/TimeUnit;
const-wide/16 v1, 0x0
invoke-virtual {p0, p1, v1, v2, v0}, Lio/reactivex/Scheduler$Worker;->schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable;
move-result-object p1
return-object p1
.end method
.method public abstract schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable;
.param p1 # Ljava/lang/Runnable;
.annotation build Lio/reactivex/annotations/NonNull;
.end annotation
.end param
.param p4 # Ljava/util/concurrent/TimeUnit;
.annotation build Lio/reactivex/annotations/NonNull;
.end annotation
.end param
.annotation build Lio/reactivex/annotations/NonNull;
.end annotation
.end method
.method public schedulePeriodically(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable;
.locals 17
.param p1 # Ljava/lang/Runnable;
.annotation build Lio/reactivex/annotations/NonNull;
.end annotation
.end param
.param p6 # Ljava/util/concurrent/TimeUnit;
.annotation build Lio/reactivex/annotations/NonNull;
.end annotation
.end param
.annotation build Lio/reactivex/annotations/NonNull;
.end annotation
move-object/from16 v10, p0
move-wide/from16 v11, p2
move-object/from16 v13, p6
.line 424
new-instance v14, Lio/reactivex/internal/disposables/SequentialDisposable;
invoke-direct {v14}, Lio/reactivex/internal/disposables/SequentialDisposable;-><init>()V
.line 426
new-instance v15, Lio/reactivex/internal/disposables/SequentialDisposable;
invoke-direct {v15, v14}, Lio/reactivex/internal/disposables/SequentialDisposable;-><init>(Lio/reactivex/disposables/Disposable;)V
.line 428
invoke-static/range {p1 .. p1}, Lio/reactivex/plugins/RxJavaPlugins;->onSchedule(Ljava/lang/Runnable;)Ljava/lang/Runnable;
move-result-object v4
move-wide/from16 v0, p4
.line 430
invoke-virtual {v13, v0, v1}, Ljava/util/concurrent/TimeUnit;->toNanos(J)J
move-result-wide v8
.line 431
sget-object v0, Ljava/util/concurrent/TimeUnit;->NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v10, v0}, Lio/reactivex/Scheduler$Worker;->now(Ljava/util/concurrent/TimeUnit;)J
move-result-wide v5
.line 432
invoke-virtual {v13, v11, v12}, Ljava/util/concurrent/TimeUnit;->toNanos(J)J
move-result-wide v0
add-long v2, v5, v0
.line 434
new-instance v7, Lio/reactivex/Scheduler$Worker$PeriodicTask;
move-object v0, v7
move-object/from16 v1, p0
move-object/from16 v16, v14
move-object v14, v7
move-object v7, v15
invoke-direct/range {v0 .. v9}, Lio/reactivex/Scheduler$Worker$PeriodicTask;-><init>(Lio/reactivex/Scheduler$Worker;JLjava/lang/Runnable;JLio/reactivex/internal/disposables/SequentialDisposable;J)V
invoke-virtual {v10, v14, v11, v12, v13}, Lio/reactivex/Scheduler$Worker;->schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable;
move-result-object v0
.line 437
sget-object v1, Lio/reactivex/internal/disposables/EmptyDisposable;->INSTANCE:Lio/reactivex/internal/disposables/EmptyDisposable;
if-ne v0, v1, :cond_0
return-object v0
:cond_0
move-object/from16 v1, v16
.line 440
invoke-virtual {v1, v0}, Lio/reactivex/internal/disposables/SequentialDisposable;->replace(Lio/reactivex/disposables/Disposable;)Z
return-object v15
.end method