PublishSubject$PublishDisposable.smali 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. .class final Lio/reactivex/subjects/PublishSubject$PublishDisposable;
  2. .super Ljava/util/concurrent/atomic/AtomicBoolean;
  3. .source "PublishSubject.java"
  4. # interfaces
  5. .implements Lio/reactivex/disposables/Disposable;
  6. # annotations
  7. .annotation system Ldalvik/annotation/EnclosingClass;
  8. value = Lio/reactivex/subjects/PublishSubject;
  9. .end annotation
  10. .annotation system Ldalvik/annotation/InnerClass;
  11. accessFlags = 0x18
  12. name = "PublishDisposable"
  13. .end annotation
  14. .annotation system Ldalvik/annotation/Signature;
  15. value = {
  16. "<T:",
  17. "Ljava/lang/Object;",
  18. ">",
  19. "Ljava/util/concurrent/atomic/AtomicBoolean;",
  20. "Lio/reactivex/disposables/Disposable;"
  21. }
  22. .end annotation
  23. # static fields
  24. .field private static final serialVersionUID:J = 0x3171d4005ebf93feL
  25. # instance fields
  26. .field final actual:Lio/reactivex/Observer;
  27. .annotation system Ldalvik/annotation/Signature;
  28. value = {
  29. "Lio/reactivex/Observer<",
  30. "-TT;>;"
  31. }
  32. .end annotation
  33. .end field
  34. .field final parent:Lio/reactivex/subjects/PublishSubject;
  35. .annotation system Ldalvik/annotation/Signature;
  36. value = {
  37. "Lio/reactivex/subjects/PublishSubject<",
  38. "TT;>;"
  39. }
  40. .end annotation
  41. .end field
  42. # direct methods
  43. .method constructor <init>(Lio/reactivex/Observer;Lio/reactivex/subjects/PublishSubject;)V
  44. .locals 0
  45. .annotation system Ldalvik/annotation/Signature;
  46. value = {
  47. "(",
  48. "Lio/reactivex/Observer<",
  49. "-TT;>;",
  50. "Lio/reactivex/subjects/PublishSubject<",
  51. "TT;>;)V"
  52. }
  53. .end annotation
  54. .line 258
  55. invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>()V
  56. .line 259
  57. iput-object p1, p0, Lio/reactivex/subjects/PublishSubject$PublishDisposable;->actual:Lio/reactivex/Observer;
  58. .line 260
  59. iput-object p2, p0, Lio/reactivex/subjects/PublishSubject$PublishDisposable;->parent:Lio/reactivex/subjects/PublishSubject;
  60. return-void
  61. .end method
  62. # virtual methods
  63. .method public dispose()V
  64. .locals 2
  65. const/4 v0, 0x0
  66. const/4 v1, 0x1
  67. .line 285
  68. invoke-virtual {p0, v0, v1}, Lio/reactivex/subjects/PublishSubject$PublishDisposable;->compareAndSet(ZZ)Z
  69. move-result v0
  70. if-eqz v0, :cond_0
  71. .line 286
  72. iget-object v0, p0, Lio/reactivex/subjects/PublishSubject$PublishDisposable;->parent:Lio/reactivex/subjects/PublishSubject;
  73. invoke-virtual {v0, p0}, Lio/reactivex/subjects/PublishSubject;->remove(Lio/reactivex/subjects/PublishSubject$PublishDisposable;)V
  74. :cond_0
  75. return-void
  76. .end method
  77. .method public isDisposed()Z
  78. .locals 1
  79. .line 292
  80. invoke-virtual {p0}, Lio/reactivex/subjects/PublishSubject$PublishDisposable;->get()Z
  81. move-result v0
  82. return v0
  83. .end method
  84. .method public onComplete()V
  85. .locals 1
  86. .line 278
  87. invoke-virtual {p0}, Lio/reactivex/subjects/PublishSubject$PublishDisposable;->get()Z
  88. move-result v0
  89. if-nez v0, :cond_0
  90. .line 279
  91. iget-object v0, p0, Lio/reactivex/subjects/PublishSubject$PublishDisposable;->actual:Lio/reactivex/Observer;
  92. invoke-interface {v0}, Lio/reactivex/Observer;->onComplete()V
  93. :cond_0
  94. return-void
  95. .end method
  96. .method public onError(Ljava/lang/Throwable;)V
  97. .locals 1
  98. .line 270
  99. invoke-virtual {p0}, Lio/reactivex/subjects/PublishSubject$PublishDisposable;->get()Z
  100. move-result v0
  101. if-eqz v0, :cond_0
  102. .line 271
  103. invoke-static {p1}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
  104. goto :goto_0
  105. .line 273
  106. :cond_0
  107. iget-object v0, p0, Lio/reactivex/subjects/PublishSubject$PublishDisposable;->actual:Lio/reactivex/Observer;
  108. invoke-interface {v0, p1}, Lio/reactivex/Observer;->onError(Ljava/lang/Throwable;)V
  109. :goto_0
  110. return-void
  111. .end method
  112. .method public onNext(Ljava/lang/Object;)V
  113. .locals 1
  114. .annotation system Ldalvik/annotation/Signature;
  115. value = {
  116. "(TT;)V"
  117. }
  118. .end annotation
  119. .line 264
  120. invoke-virtual {p0}, Lio/reactivex/subjects/PublishSubject$PublishDisposable;->get()Z
  121. move-result v0
  122. if-nez v0, :cond_0
  123. .line 265
  124. iget-object v0, p0, Lio/reactivex/subjects/PublishSubject$PublishDisposable;->actual:Lio/reactivex/Observer;
  125. invoke-interface {v0, p1}, Lio/reactivex/Observer;->onNext(Ljava/lang/Object;)V
  126. :cond_0
  127. return-void
  128. .end method