BasicFuseableObserver.smali 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. .class public abstract Lio/reactivex/internal/observers/BasicFuseableObserver;
  2. .super Ljava/lang/Object;
  3. .source "BasicFuseableObserver.java"
  4. # interfaces
  5. .implements Lio/reactivex/Observer;
  6. .implements Lio/reactivex/internal/fuseable/QueueDisposable;
  7. # annotations
  8. .annotation system Ldalvik/annotation/Signature;
  9. value = {
  10. "<T:",
  11. "Ljava/lang/Object;",
  12. "R:",
  13. "Ljava/lang/Object;",
  14. ">",
  15. "Ljava/lang/Object;",
  16. "Lio/reactivex/Observer<",
  17. "TT;>;",
  18. "Lio/reactivex/internal/fuseable/QueueDisposable<",
  19. "TR;>;"
  20. }
  21. .end annotation
  22. # instance fields
  23. .field protected final actual:Lio/reactivex/Observer;
  24. .annotation system Ldalvik/annotation/Signature;
  25. value = {
  26. "Lio/reactivex/Observer<",
  27. "-TR;>;"
  28. }
  29. .end annotation
  30. .end field
  31. .field protected done:Z
  32. .field protected qs:Lio/reactivex/internal/fuseable/QueueDisposable;
  33. .annotation system Ldalvik/annotation/Signature;
  34. value = {
  35. "Lio/reactivex/internal/fuseable/QueueDisposable<",
  36. "TT;>;"
  37. }
  38. .end annotation
  39. .end field
  40. .field protected s:Lio/reactivex/disposables/Disposable;
  41. .field protected sourceMode:I
  42. # direct methods
  43. .method public constructor <init>(Lio/reactivex/Observer;)V
  44. .locals 0
  45. .annotation system Ldalvik/annotation/Signature;
  46. value = {
  47. "(",
  48. "Lio/reactivex/Observer<",
  49. "-TR;>;)V"
  50. }
  51. .end annotation
  52. .line 49
  53. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  54. .line 50
  55. iput-object p1, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->actual:Lio/reactivex/Observer;
  56. return-void
  57. .end method
  58. # virtual methods
  59. .method protected afterDownstream()V
  60. .locals 0
  61. return-void
  62. .end method
  63. .method protected beforeDownstream()Z
  64. .locals 1
  65. const/4 v0, 0x1
  66. return v0
  67. .end method
  68. .method public clear()V
  69. .locals 1
  70. .line 167
  71. iget-object v0, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->qs:Lio/reactivex/internal/fuseable/QueueDisposable;
  72. invoke-interface {v0}, Lio/reactivex/internal/fuseable/QueueDisposable;->clear()V
  73. return-void
  74. .end method
  75. .method public dispose()V
  76. .locals 1
  77. .line 152
  78. iget-object v0, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->s:Lio/reactivex/disposables/Disposable;
  79. invoke-interface {v0}, Lio/reactivex/disposables/Disposable;->dispose()V
  80. return-void
  81. .end method
  82. .method protected final fail(Ljava/lang/Throwable;)V
  83. .locals 1
  84. .line 108
  85. invoke-static {p1}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
  86. .line 109
  87. iget-object v0, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->s:Lio/reactivex/disposables/Disposable;
  88. invoke-interface {v0}, Lio/reactivex/disposables/Disposable;->dispose()V
  89. .line 110
  90. invoke-virtual {p0, p1}, Lio/reactivex/internal/observers/BasicFuseableObserver;->onError(Ljava/lang/Throwable;)V
  91. return-void
  92. .end method
  93. .method public isDisposed()Z
  94. .locals 1
  95. .line 157
  96. iget-object v0, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->s:Lio/reactivex/disposables/Disposable;
  97. invoke-interface {v0}, Lio/reactivex/disposables/Disposable;->isDisposed()Z
  98. move-result v0
  99. return v0
  100. .end method
  101. .method public isEmpty()Z
  102. .locals 1
  103. .line 162
  104. iget-object v0, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->qs:Lio/reactivex/internal/fuseable/QueueDisposable;
  105. invoke-interface {v0}, Lio/reactivex/internal/fuseable/QueueDisposable;->isEmpty()Z
  106. move-result v0
  107. return v0
  108. .end method
  109. .method public final offer(Ljava/lang/Object;)Z
  110. .locals 1
  111. .annotation system Ldalvik/annotation/Signature;
  112. value = {
  113. "(TR;)Z"
  114. }
  115. .end annotation
  116. .line 176
  117. new-instance p1, Ljava/lang/UnsupportedOperationException;
  118. const-string v0, "Should not be called!"
  119. invoke-direct {p1, v0}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
  120. throw p1
  121. .end method
  122. .method public final offer(Ljava/lang/Object;Ljava/lang/Object;)Z
  123. .locals 0
  124. .annotation system Ldalvik/annotation/Signature;
  125. value = {
  126. "(TR;TR;)Z"
  127. }
  128. .end annotation
  129. .line 181
  130. new-instance p1, Ljava/lang/UnsupportedOperationException;
  131. const-string p2, "Should not be called!"
  132. invoke-direct {p1, p2}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
  133. throw p1
  134. .end method
  135. .method public onComplete()V
  136. .locals 1
  137. .line 115
  138. iget-boolean v0, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->done:Z
  139. if-eqz v0, :cond_0
  140. return-void
  141. :cond_0
  142. const/4 v0, 0x1
  143. .line 118
  144. iput-boolean v0, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->done:Z
  145. .line 119
  146. iget-object v0, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->actual:Lio/reactivex/Observer;
  147. invoke-interface {v0}, Lio/reactivex/Observer;->onComplete()V
  148. return-void
  149. .end method
  150. .method public onError(Ljava/lang/Throwable;)V
  151. .locals 1
  152. .line 95
  153. iget-boolean v0, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->done:Z
  154. if-eqz v0, :cond_0
  155. .line 96
  156. invoke-static {p1}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
  157. return-void
  158. :cond_0
  159. const/4 v0, 0x1
  160. .line 99
  161. iput-boolean v0, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->done:Z
  162. .line 100
  163. iget-object v0, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->actual:Lio/reactivex/Observer;
  164. invoke-interface {v0, p1}, Lio/reactivex/Observer;->onError(Ljava/lang/Throwable;)V
  165. return-void
  166. .end method
  167. .method public final onSubscribe(Lio/reactivex/disposables/Disposable;)V
  168. .locals 1
  169. .line 57
  170. iget-object v0, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->s:Lio/reactivex/disposables/Disposable;
  171. invoke-static {v0, p1}, Lio/reactivex/internal/disposables/DisposableHelper;->validate(Lio/reactivex/disposables/Disposable;Lio/reactivex/disposables/Disposable;)Z
  172. move-result v0
  173. if-eqz v0, :cond_1
  174. .line 59
  175. iput-object p1, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->s:Lio/reactivex/disposables/Disposable;
  176. .line 60
  177. instance-of v0, p1, Lio/reactivex/internal/fuseable/QueueDisposable;
  178. if-eqz v0, :cond_0
  179. .line 61
  180. check-cast p1, Lio/reactivex/internal/fuseable/QueueDisposable;
  181. iput-object p1, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->qs:Lio/reactivex/internal/fuseable/QueueDisposable;
  182. .line 64
  183. :cond_0
  184. invoke-virtual {p0}, Lio/reactivex/internal/observers/BasicFuseableObserver;->beforeDownstream()Z
  185. move-result p1
  186. if-eqz p1, :cond_1
  187. .line 66
  188. iget-object p1, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->actual:Lio/reactivex/Observer;
  189. invoke-interface {p1, p0}, Lio/reactivex/Observer;->onSubscribe(Lio/reactivex/disposables/Disposable;)V
  190. .line 68
  191. invoke-virtual {p0}, Lio/reactivex/internal/observers/BasicFuseableObserver;->afterDownstream()V
  192. :cond_1
  193. return-void
  194. .end method
  195. .method protected final transitiveBoundaryFusion(I)I
  196. .locals 2
  197. .line 133
  198. iget-object v0, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->qs:Lio/reactivex/internal/fuseable/QueueDisposable;
  199. if-eqz v0, :cond_1
  200. and-int/lit8 v1, p1, 0x4
  201. if-nez v1, :cond_1
  202. .line 136
  203. invoke-interface {v0, p1}, Lio/reactivex/internal/fuseable/QueueDisposable;->requestFusion(I)I
  204. move-result p1
  205. if-eqz p1, :cond_0
  206. .line 138
  207. iput p1, p0, Lio/reactivex/internal/observers/BasicFuseableObserver;->sourceMode:I
  208. :cond_0
  209. return p1
  210. :cond_1
  211. const/4 p1, 0x0
  212. return p1
  213. .end method