SerialDisposable.smali
4.5 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
.class public final Lio/reactivex/disposables/SerialDisposable;
.super Ljava/lang/Object;
.source "SerialDisposable.java"
# interfaces
.implements Lio/reactivex/disposables/Disposable;
# instance fields
.field final resource:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference<",
"Lio/reactivex/disposables/Disposable;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 1
.line 32
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 33
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
iput-object v0, p0, Lio/reactivex/disposables/SerialDisposable;->resource:Ljava/util/concurrent/atomic/AtomicReference;
return-void
.end method
.method public constructor <init>(Lio/reactivex/disposables/Disposable;)V
.locals 1
.param p1 # Lio/reactivex/disposables/Disposable;
.annotation build Lio/reactivex/annotations/Nullable;
.end annotation
.end param
.line 40
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 41
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0, p1}, Ljava/util/concurrent/atomic/AtomicReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lio/reactivex/disposables/SerialDisposable;->resource:Ljava/util/concurrent/atomic/AtomicReference;
return-void
.end method
# virtual methods
.method public dispose()V
.locals 1
.line 81
iget-object v0, p0, Lio/reactivex/disposables/SerialDisposable;->resource:Ljava/util/concurrent/atomic/AtomicReference;
invoke-static {v0}, Lio/reactivex/internal/disposables/DisposableHelper;->dispose(Ljava/util/concurrent/atomic/AtomicReference;)Z
return-void
.end method
.method public get()Lio/reactivex/disposables/Disposable;
.locals 2
.annotation build Lio/reactivex/annotations/Nullable;
.end annotation
.line 72
iget-object v0, p0, Lio/reactivex/disposables/SerialDisposable;->resource: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/disposables/Disposable;
.line 73
sget-object v1, Lio/reactivex/internal/disposables/DisposableHelper;->DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
if-ne v0, v1, :cond_0
.line 74
invoke-static {}, Lio/reactivex/disposables/Disposables;->disposed()Lio/reactivex/disposables/Disposable;
move-result-object v0
:cond_0
return-object v0
.end method
.method public isDisposed()Z
.locals 1
.line 86
iget-object v0, p0, Lio/reactivex/disposables/SerialDisposable;->resource: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/disposables/Disposable;
invoke-static {v0}, Lio/reactivex/internal/disposables/DisposableHelper;->isDisposed(Lio/reactivex/disposables/Disposable;)Z
move-result v0
return v0
.end method
.method public replace(Lio/reactivex/disposables/Disposable;)Z
.locals 1
.param p1 # Lio/reactivex/disposables/Disposable;
.annotation build Lio/reactivex/annotations/Nullable;
.end annotation
.end param
.line 63
iget-object v0, p0, Lio/reactivex/disposables/SerialDisposable;->resource:Ljava/util/concurrent/atomic/AtomicReference;
invoke-static {v0, p1}, Lio/reactivex/internal/disposables/DisposableHelper;->replace(Ljava/util/concurrent/atomic/AtomicReference;Lio/reactivex/disposables/Disposable;)Z
move-result p1
return p1
.end method
.method public set(Lio/reactivex/disposables/Disposable;)Z
.locals 1
.param p1 # Lio/reactivex/disposables/Disposable;
.annotation build Lio/reactivex/annotations/Nullable;
.end annotation
.end param
.line 52
iget-object v0, p0, Lio/reactivex/disposables/SerialDisposable;->resource:Ljava/util/concurrent/atomic/AtomicReference;
invoke-static {v0, p1}, Lio/reactivex/internal/disposables/DisposableHelper;->set(Ljava/util/concurrent/atomic/AtomicReference;Lio/reactivex/disposables/Disposable;)Z
move-result p1
return p1
.end method