BlockingObserver.smali 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. .class public final Lio/reactivex/internal/observers/BlockingObserver;
  2. .super Ljava/util/concurrent/atomic/AtomicReference;
  3. .source "BlockingObserver.java"
  4. # interfaces
  5. .implements Lio/reactivex/Observer;
  6. .implements Lio/reactivex/disposables/Disposable;
  7. # annotations
  8. .annotation system Ldalvik/annotation/Signature;
  9. value = {
  10. "<T:",
  11. "Ljava/lang/Object;",
  12. ">",
  13. "Ljava/util/concurrent/atomic/AtomicReference<",
  14. "Lio/reactivex/disposables/Disposable;",
  15. ">;",
  16. "Lio/reactivex/Observer<",
  17. "TT;>;",
  18. "Lio/reactivex/disposables/Disposable;"
  19. }
  20. .end annotation
  21. # static fields
  22. .field public static final TERMINATED:Ljava/lang/Object;
  23. .field private static final serialVersionUID:J = -0x43aae8bc09f84c1cL
  24. # instance fields
  25. .field final queue:Ljava/util/Queue;
  26. .annotation system Ldalvik/annotation/Signature;
  27. value = {
  28. "Ljava/util/Queue<",
  29. "Ljava/lang/Object;",
  30. ">;"
  31. }
  32. .end annotation
  33. .end field
  34. # direct methods
  35. .method static constructor <clinit>()V
  36. .locals 1
  37. .line 28
  38. new-instance v0, Ljava/lang/Object;
  39. invoke-direct {v0}, Ljava/lang/Object;-><init>()V
  40. sput-object v0, Lio/reactivex/internal/observers/BlockingObserver;->TERMINATED:Ljava/lang/Object;
  41. return-void
  42. .end method
  43. .method public constructor <init>(Ljava/util/Queue;)V
  44. .locals 0
  45. .annotation system Ldalvik/annotation/Signature;
  46. value = {
  47. "(",
  48. "Ljava/util/Queue<",
  49. "Ljava/lang/Object;",
  50. ">;)V"
  51. }
  52. .end annotation
  53. .line 32
  54. invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
  55. .line 33
  56. iput-object p1, p0, Lio/reactivex/internal/observers/BlockingObserver;->queue:Ljava/util/Queue;
  57. return-void
  58. .end method
  59. # virtual methods
  60. .method public dispose()V
  61. .locals 2
  62. .line 58
  63. invoke-static {p0}, Lio/reactivex/internal/disposables/DisposableHelper;->dispose(Ljava/util/concurrent/atomic/AtomicReference;)Z
  64. move-result v0
  65. if-eqz v0, :cond_0
  66. .line 59
  67. iget-object v0, p0, Lio/reactivex/internal/observers/BlockingObserver;->queue:Ljava/util/Queue;
  68. sget-object v1, Lio/reactivex/internal/observers/BlockingObserver;->TERMINATED:Ljava/lang/Object;
  69. invoke-interface {v0, v1}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z
  70. :cond_0
  71. return-void
  72. .end method
  73. .method public isDisposed()Z
  74. .locals 2
  75. .line 65
  76. invoke-virtual {p0}, Lio/reactivex/internal/observers/BlockingObserver;->get()Ljava/lang/Object;
  77. move-result-object v0
  78. sget-object v1, Lio/reactivex/internal/disposables/DisposableHelper;->DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
  79. if-ne v0, v1, :cond_0
  80. const/4 v0, 0x1
  81. goto :goto_0
  82. :cond_0
  83. const/4 v0, 0x0
  84. :goto_0
  85. return v0
  86. .end method
  87. .method public onComplete()V
  88. .locals 2
  89. .line 53
  90. iget-object v0, p0, Lio/reactivex/internal/observers/BlockingObserver;->queue:Ljava/util/Queue;
  91. invoke-static {}, Lio/reactivex/internal/util/NotificationLite;->complete()Ljava/lang/Object;
  92. move-result-object v1
  93. invoke-interface {v0, v1}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z
  94. return-void
  95. .end method
  96. .method public onError(Ljava/lang/Throwable;)V
  97. .locals 1
  98. .line 48
  99. iget-object v0, p0, Lio/reactivex/internal/observers/BlockingObserver;->queue:Ljava/util/Queue;
  100. invoke-static {p1}, Lio/reactivex/internal/util/NotificationLite;->error(Ljava/lang/Throwable;)Ljava/lang/Object;
  101. move-result-object p1
  102. invoke-interface {v0, p1}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z
  103. return-void
  104. .end method
  105. .method public onNext(Ljava/lang/Object;)V
  106. .locals 1
  107. .annotation system Ldalvik/annotation/Signature;
  108. value = {
  109. "(TT;)V"
  110. }
  111. .end annotation
  112. .line 43
  113. iget-object v0, p0, Lio/reactivex/internal/observers/BlockingObserver;->queue:Ljava/util/Queue;
  114. invoke-static {p1}, Lio/reactivex/internal/util/NotificationLite;->next(Ljava/lang/Object;)Ljava/lang/Object;
  115. move-result-object p1
  116. invoke-interface {v0, p1}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z
  117. return-void
  118. .end method
  119. .method public onSubscribe(Lio/reactivex/disposables/Disposable;)V
  120. .locals 0
  121. .line 38
  122. invoke-static {p0, p1}, Lio/reactivex/internal/disposables/DisposableHelper;->setOnce(Ljava/util/concurrent/atomic/AtomicReference;Lio/reactivex/disposables/Disposable;)Z
  123. return-void
  124. .end method