MaybeSubject.smali 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747
  1. .class public final Lio/reactivex/subjects/MaybeSubject;
  2. .super Lio/reactivex/Maybe;
  3. .source "MaybeSubject.java"
  4. # interfaces
  5. .implements Lio/reactivex/MaybeObserver;
  6. # annotations
  7. .annotation system Ldalvik/annotation/MemberClasses;
  8. value = {
  9. Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  10. }
  11. .end annotation
  12. .annotation system Ldalvik/annotation/Signature;
  13. value = {
  14. "<T:",
  15. "Ljava/lang/Object;",
  16. ">",
  17. "Lio/reactivex/Maybe<",
  18. "TT;>;",
  19. "Lio/reactivex/MaybeObserver<",
  20. "TT;>;"
  21. }
  22. .end annotation
  23. .annotation build Lio/reactivex/annotations/Experimental;
  24. .end annotation
  25. # static fields
  26. .field static final EMPTY:[Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  27. .field static final TERMINATED:[Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  28. # instance fields
  29. .field error:Ljava/lang/Throwable;
  30. .field final observers:Ljava/util/concurrent/atomic/AtomicReference;
  31. .annotation system Ldalvik/annotation/Signature;
  32. value = {
  33. "Ljava/util/concurrent/atomic/AtomicReference<",
  34. "[",
  35. "Lio/reactivex/subjects/MaybeSubject$MaybeDisposable<",
  36. "TT;>;>;"
  37. }
  38. .end annotation
  39. .end field
  40. .field final once:Ljava/util/concurrent/atomic/AtomicBoolean;
  41. .field value:Ljava/lang/Object;
  42. .annotation system Ldalvik/annotation/Signature;
  43. value = {
  44. "TT;"
  45. }
  46. .end annotation
  47. .end field
  48. # direct methods
  49. .method static constructor <clinit>()V
  50. .locals 2
  51. const/4 v0, 0x0
  52. .line 41
  53. new-array v1, v0, [Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  54. sput-object v1, Lio/reactivex/subjects/MaybeSubject;->EMPTY:[Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  55. .line 44
  56. new-array v0, v0, [Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  57. sput-object v0, Lio/reactivex/subjects/MaybeSubject;->TERMINATED:[Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  58. return-void
  59. .end method
  60. .method constructor <init>()V
  61. .locals 2
  62. .line 61
  63. invoke-direct {p0}, Lio/reactivex/Maybe;-><init>()V
  64. .line 62
  65. new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
  66. invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>()V
  67. iput-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->once:Ljava/util/concurrent/atomic/AtomicBoolean;
  68. .line 63
  69. new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
  70. sget-object v1, Lio/reactivex/subjects/MaybeSubject;->EMPTY:[Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  71. invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;-><init>(Ljava/lang/Object;)V
  72. iput-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->observers:Ljava/util/concurrent/atomic/AtomicReference;
  73. return-void
  74. .end method
  75. .method public static create()Lio/reactivex/subjects/MaybeSubject;
  76. .locals 1
  77. .annotation system Ldalvik/annotation/Signature;
  78. value = {
  79. "<T:",
  80. "Ljava/lang/Object;",
  81. ">()",
  82. "Lio/reactivex/subjects/MaybeSubject<",
  83. "TT;>;"
  84. }
  85. .end annotation
  86. .annotation runtime Lio/reactivex/annotations/CheckReturnValue;
  87. .end annotation
  88. .line 57
  89. new-instance v0, Lio/reactivex/subjects/MaybeSubject;
  90. invoke-direct {v0}, Lio/reactivex/subjects/MaybeSubject;-><init>()V
  91. return-object v0
  92. .end method
  93. # virtual methods
  94. .method add(Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;)Z
  95. .locals 4
  96. .annotation system Ldalvik/annotation/Signature;
  97. value = {
  98. "(",
  99. "Lio/reactivex/subjects/MaybeSubject$MaybeDisposable<",
  100. "TT;>;)Z"
  101. }
  102. .end annotation
  103. .line 139
  104. :cond_0
  105. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->observers:Ljava/util/concurrent/atomic/AtomicReference;
  106. invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
  107. move-result-object v0
  108. check-cast v0, [Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  109. .line 140
  110. sget-object v1, Lio/reactivex/subjects/MaybeSubject;->TERMINATED:[Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  111. const/4 v2, 0x0
  112. if-ne v0, v1, :cond_1
  113. return v2
  114. .line 144
  115. :cond_1
  116. array-length v1, v0
  117. add-int/lit8 v3, v1, 0x1
  118. .line 146
  119. new-array v3, v3, [Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  120. .line 147
  121. invoke-static {v0, v2, v3, v2, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
  122. .line 148
  123. aput-object p1, v3, v1
  124. .line 149
  125. iget-object v1, p0, Lio/reactivex/subjects/MaybeSubject;->observers:Ljava/util/concurrent/atomic/AtomicReference;
  126. invoke-virtual {v1, v0, v3}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
  127. move-result v0
  128. if-eqz v0, :cond_0
  129. const/4 p1, 0x1
  130. return p1
  131. .end method
  132. .method public getThrowable()Ljava/lang/Throwable;
  133. .locals 2
  134. .line 215
  135. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->observers:Ljava/util/concurrent/atomic/AtomicReference;
  136. invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
  137. move-result-object v0
  138. sget-object v1, Lio/reactivex/subjects/MaybeSubject;->TERMINATED:[Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  139. if-ne v0, v1, :cond_0
  140. .line 216
  141. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->error:Ljava/lang/Throwable;
  142. return-object v0
  143. :cond_0
  144. const/4 v0, 0x0
  145. return-object v0
  146. .end method
  147. .method public getValue()Ljava/lang/Object;
  148. .locals 2
  149. .annotation system Ldalvik/annotation/Signature;
  150. value = {
  151. "()TT;"
  152. }
  153. .end annotation
  154. .line 196
  155. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->observers:Ljava/util/concurrent/atomic/AtomicReference;
  156. invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
  157. move-result-object v0
  158. sget-object v1, Lio/reactivex/subjects/MaybeSubject;->TERMINATED:[Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  159. if-ne v0, v1, :cond_0
  160. .line 197
  161. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->value:Ljava/lang/Object;
  162. return-object v0
  163. :cond_0
  164. const/4 v0, 0x0
  165. return-object v0
  166. .end method
  167. .method public hasComplete()Z
  168. .locals 2
  169. .line 234
  170. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->observers:Ljava/util/concurrent/atomic/AtomicReference;
  171. invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
  172. move-result-object v0
  173. sget-object v1, Lio/reactivex/subjects/MaybeSubject;->TERMINATED:[Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  174. if-ne v0, v1, :cond_0
  175. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->value:Ljava/lang/Object;
  176. if-nez v0, :cond_0
  177. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->error:Ljava/lang/Throwable;
  178. if-nez v0, :cond_0
  179. const/4 v0, 0x1
  180. goto :goto_0
  181. :cond_0
  182. const/4 v0, 0x0
  183. :goto_0
  184. return v0
  185. .end method
  186. .method public hasObservers()Z
  187. .locals 1
  188. .line 242
  189. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->observers:Ljava/util/concurrent/atomic/AtomicReference;
  190. invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
  191. move-result-object v0
  192. check-cast v0, [Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  193. array-length v0, v0
  194. if-eqz v0, :cond_0
  195. const/4 v0, 0x1
  196. goto :goto_0
  197. :cond_0
  198. const/4 v0, 0x0
  199. :goto_0
  200. return v0
  201. .end method
  202. .method public hasThrowable()Z
  203. .locals 2
  204. .line 226
  205. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->observers:Ljava/util/concurrent/atomic/AtomicReference;
  206. invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
  207. move-result-object v0
  208. sget-object v1, Lio/reactivex/subjects/MaybeSubject;->TERMINATED:[Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  209. if-ne v0, v1, :cond_0
  210. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->error:Ljava/lang/Throwable;
  211. if-eqz v0, :cond_0
  212. const/4 v0, 0x1
  213. goto :goto_0
  214. :cond_0
  215. const/4 v0, 0x0
  216. :goto_0
  217. return v0
  218. .end method
  219. .method public hasValue()Z
  220. .locals 2
  221. .line 207
  222. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->observers:Ljava/util/concurrent/atomic/AtomicReference;
  223. invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
  224. move-result-object v0
  225. sget-object v1, Lio/reactivex/subjects/MaybeSubject;->TERMINATED:[Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  226. if-ne v0, v1, :cond_0
  227. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->value:Ljava/lang/Object;
  228. if-eqz v0, :cond_0
  229. const/4 v0, 0x1
  230. goto :goto_0
  231. :cond_0
  232. const/4 v0, 0x0
  233. :goto_0
  234. return v0
  235. .end method
  236. .method observerCount()I
  237. .locals 1
  238. .line 250
  239. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->observers:Ljava/util/concurrent/atomic/AtomicReference;
  240. invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
  241. move-result-object v0
  242. check-cast v0, [Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  243. array-length v0, v0
  244. return v0
  245. .end method
  246. .method public onComplete()V
  247. .locals 4
  248. .line 107
  249. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->once:Ljava/util/concurrent/atomic/AtomicBoolean;
  250. const/4 v1, 0x1
  251. const/4 v2, 0x0
  252. invoke-virtual {v0, v2, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
  253. move-result v0
  254. if-eqz v0, :cond_0
  255. .line 108
  256. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->observers:Ljava/util/concurrent/atomic/AtomicReference;
  257. sget-object v1, Lio/reactivex/subjects/MaybeSubject;->TERMINATED:[Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  258. invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
  259. move-result-object v0
  260. check-cast v0, [Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  261. array-length v1, v0
  262. :goto_0
  263. if-ge v2, v1, :cond_0
  264. aget-object v3, v0, v2
  265. .line 109
  266. iget-object v3, v3, Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;->actual:Lio/reactivex/MaybeObserver;
  267. invoke-interface {v3}, Lio/reactivex/MaybeObserver;->onComplete()V
  268. add-int/lit8 v2, v2, 0x1
  269. goto :goto_0
  270. :cond_0
  271. return-void
  272. .end method
  273. .method public onError(Ljava/lang/Throwable;)V
  274. .locals 4
  275. if-nez p1, :cond_0
  276. .line 92
  277. new-instance p1, Ljava/lang/NullPointerException;
  278. const-string v0, "Null errors are not allowed in 2.x"
  279. invoke-direct {p1, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
  280. .line 94
  281. :cond_0
  282. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->once:Ljava/util/concurrent/atomic/AtomicBoolean;
  283. const/4 v1, 0x1
  284. const/4 v2, 0x0
  285. invoke-virtual {v0, v2, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
  286. move-result v0
  287. if-eqz v0, :cond_1
  288. .line 95
  289. iput-object p1, p0, Lio/reactivex/subjects/MaybeSubject;->error:Ljava/lang/Throwable;
  290. .line 96
  291. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->observers:Ljava/util/concurrent/atomic/AtomicReference;
  292. sget-object v1, Lio/reactivex/subjects/MaybeSubject;->TERMINATED:[Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  293. invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
  294. move-result-object v0
  295. check-cast v0, [Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  296. array-length v1, v0
  297. :goto_0
  298. if-ge v2, v1, :cond_2
  299. aget-object v3, v0, v2
  300. .line 97
  301. iget-object v3, v3, Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;->actual:Lio/reactivex/MaybeObserver;
  302. invoke-interface {v3, p1}, Lio/reactivex/MaybeObserver;->onError(Ljava/lang/Throwable;)V
  303. add-int/lit8 v2, v2, 0x1
  304. goto :goto_0
  305. .line 100
  306. :cond_1
  307. invoke-static {p1}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
  308. :cond_2
  309. return-void
  310. .end method
  311. .method public onSubscribe(Lio/reactivex/disposables/Disposable;)V
  312. .locals 2
  313. .line 68
  314. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->observers:Ljava/util/concurrent/atomic/AtomicReference;
  315. invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
  316. move-result-object v0
  317. sget-object v1, Lio/reactivex/subjects/MaybeSubject;->TERMINATED:[Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  318. if-ne v0, v1, :cond_0
  319. .line 69
  320. invoke-interface {p1}, Lio/reactivex/disposables/Disposable;->dispose()V
  321. :cond_0
  322. return-void
  323. .end method
  324. .method public onSuccess(Ljava/lang/Object;)V
  325. .locals 4
  326. .annotation system Ldalvik/annotation/Signature;
  327. value = {
  328. "(TT;)V"
  329. }
  330. .end annotation
  331. if-nez p1, :cond_0
  332. .line 77
  333. new-instance p1, Ljava/lang/NullPointerException;
  334. const-string v0, "Null values are not allowed in 2.x"
  335. invoke-direct {p1, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
  336. invoke-virtual {p0, p1}, Lio/reactivex/subjects/MaybeSubject;->onError(Ljava/lang/Throwable;)V
  337. return-void
  338. .line 80
  339. :cond_0
  340. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->once:Ljava/util/concurrent/atomic/AtomicBoolean;
  341. const/4 v1, 0x1
  342. const/4 v2, 0x0
  343. invoke-virtual {v0, v2, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z
  344. move-result v0
  345. if-eqz v0, :cond_1
  346. .line 81
  347. iput-object p1, p0, Lio/reactivex/subjects/MaybeSubject;->value:Ljava/lang/Object;
  348. .line 82
  349. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->observers:Ljava/util/concurrent/atomic/AtomicReference;
  350. sget-object v1, Lio/reactivex/subjects/MaybeSubject;->TERMINATED:[Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  351. invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
  352. move-result-object v0
  353. check-cast v0, [Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  354. array-length v1, v0
  355. :goto_0
  356. if-ge v2, v1, :cond_1
  357. aget-object v3, v0, v2
  358. .line 83
  359. iget-object v3, v3, Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;->actual:Lio/reactivex/MaybeObserver;
  360. invoke-interface {v3, p1}, Lio/reactivex/MaybeObserver;->onSuccess(Ljava/lang/Object;)V
  361. add-int/lit8 v2, v2, 0x1
  362. goto :goto_0
  363. :cond_1
  364. return-void
  365. .end method
  366. .method remove(Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;)V
  367. .locals 6
  368. .annotation system Ldalvik/annotation/Signature;
  369. value = {
  370. "(",
  371. "Lio/reactivex/subjects/MaybeSubject$MaybeDisposable<",
  372. "TT;>;)V"
  373. }
  374. .end annotation
  375. .line 158
  376. :cond_0
  377. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->observers:Ljava/util/concurrent/atomic/AtomicReference;
  378. invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
  379. move-result-object v0
  380. check-cast v0, [Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  381. .line 159
  382. array-length v1, v0
  383. if-nez v1, :cond_1
  384. return-void
  385. :cond_1
  386. const/4 v2, -0x1
  387. const/4 v3, 0x0
  388. const/4 v4, 0x0
  389. :goto_0
  390. if-ge v4, v1, :cond_3
  391. .line 167
  392. aget-object v5, v0, v4
  393. if-ne v5, p1, :cond_2
  394. move v2, v4
  395. goto :goto_1
  396. :cond_2
  397. add-int/lit8 v4, v4, 0x1
  398. goto :goto_0
  399. :cond_3
  400. :goto_1
  401. if-gez v2, :cond_4
  402. return-void
  403. :cond_4
  404. const/4 v4, 0x1
  405. if-ne v1, v4, :cond_5
  406. .line 178
  407. sget-object v1, Lio/reactivex/subjects/MaybeSubject;->EMPTY:[Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  408. goto :goto_2
  409. :cond_5
  410. add-int/lit8 v5, v1, -0x1
  411. .line 180
  412. new-array v5, v5, [Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  413. .line 181
  414. invoke-static {v0, v3, v5, v3, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
  415. add-int/lit8 v3, v2, 0x1
  416. sub-int/2addr v1, v2
  417. sub-int/2addr v1, v4
  418. .line 182
  419. invoke-static {v0, v3, v5, v2, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
  420. move-object v1, v5
  421. .line 185
  422. :goto_2
  423. iget-object v2, p0, Lio/reactivex/subjects/MaybeSubject;->observers:Ljava/util/concurrent/atomic/AtomicReference;
  424. invoke-virtual {v2, v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
  425. move-result v0
  426. if-eqz v0, :cond_0
  427. return-void
  428. .end method
  429. .method protected subscribeActual(Lio/reactivex/MaybeObserver;)V
  430. .locals 2
  431. .annotation system Ldalvik/annotation/Signature;
  432. value = {
  433. "(",
  434. "Lio/reactivex/MaybeObserver<",
  435. "-TT;>;)V"
  436. }
  437. .end annotation
  438. .line 116
  439. new-instance v0, Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;
  440. invoke-direct {v0, p1, p0}, Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;-><init>(Lio/reactivex/MaybeObserver;Lio/reactivex/subjects/MaybeSubject;)V
  441. .line 117
  442. invoke-interface {p1, v0}, Lio/reactivex/MaybeObserver;->onSubscribe(Lio/reactivex/disposables/Disposable;)V
  443. .line 118
  444. invoke-virtual {p0, v0}, Lio/reactivex/subjects/MaybeSubject;->add(Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;)Z
  445. move-result v1
  446. if-eqz v1, :cond_0
  447. .line 119
  448. invoke-virtual {v0}, Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;->isDisposed()Z
  449. move-result p1
  450. if-eqz p1, :cond_3
  451. .line 120
  452. invoke-virtual {p0, v0}, Lio/reactivex/subjects/MaybeSubject;->remove(Lio/reactivex/subjects/MaybeSubject$MaybeDisposable;)V
  453. goto :goto_0
  454. .line 123
  455. :cond_0
  456. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->error:Ljava/lang/Throwable;
  457. if-eqz v0, :cond_1
  458. .line 125
  459. invoke-interface {p1, v0}, Lio/reactivex/MaybeObserver;->onError(Ljava/lang/Throwable;)V
  460. goto :goto_0
  461. .line 127
  462. :cond_1
  463. iget-object v0, p0, Lio/reactivex/subjects/MaybeSubject;->value:Ljava/lang/Object;
  464. if-nez v0, :cond_2
  465. .line 129
  466. invoke-interface {p1}, Lio/reactivex/MaybeObserver;->onComplete()V
  467. goto :goto_0
  468. .line 131
  469. :cond_2
  470. invoke-interface {p1, v0}, Lio/reactivex/MaybeObserver;->onSuccess(Ljava/lang/Object;)V
  471. :cond_3
  472. :goto_0
  473. return-void
  474. .end method