DeferredScalarSubscriber.smali 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. .class public abstract Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;
  2. .super Lio/reactivex/internal/subscriptions/DeferredScalarSubscription;
  3. .source "DeferredScalarSubscriber.java"
  4. # interfaces
  5. .implements Lorg/reactivestreams/Subscriber;
  6. # annotations
  7. .annotation system Ldalvik/annotation/Signature;
  8. value = {
  9. "<T:",
  10. "Ljava/lang/Object;",
  11. "R:",
  12. "Ljava/lang/Object;",
  13. ">",
  14. "Lio/reactivex/internal/subscriptions/DeferredScalarSubscription<",
  15. "TR;>;",
  16. "Lorg/reactivestreams/Subscriber<",
  17. "TT;>;"
  18. }
  19. .end annotation
  20. # static fields
  21. .field private static final serialVersionUID:J = 0x296b17edcf9c299fL
  22. # instance fields
  23. .field protected hasValue:Z
  24. .field protected s:Lorg/reactivestreams/Subscription;
  25. # direct methods
  26. .method public constructor <init>(Lorg/reactivestreams/Subscriber;)V
  27. .locals 0
  28. .annotation system Ldalvik/annotation/Signature;
  29. value = {
  30. "(",
  31. "Lorg/reactivestreams/Subscriber<",
  32. "-TR;>;)V"
  33. }
  34. .end annotation
  35. .line 42
  36. invoke-direct {p0, p1}, Lio/reactivex/internal/subscriptions/DeferredScalarSubscription;-><init>(Lorg/reactivestreams/Subscriber;)V
  37. return-void
  38. .end method
  39. # virtual methods
  40. .method public cancel()V
  41. .locals 1
  42. .line 73
  43. invoke-super {p0}, Lio/reactivex/internal/subscriptions/DeferredScalarSubscription;->cancel()V
  44. .line 74
  45. iget-object v0, p0, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->s:Lorg/reactivestreams/Subscription;
  46. invoke-interface {v0}, Lorg/reactivestreams/Subscription;->cancel()V
  47. return-void
  48. .end method
  49. .method public onComplete()V
  50. .locals 1
  51. .line 64
  52. iget-boolean v0, p0, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->hasValue:Z
  53. if-eqz v0, :cond_0
  54. .line 65
  55. iget-object v0, p0, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->value:Ljava/lang/Object;
  56. invoke-virtual {p0, v0}, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->complete(Ljava/lang/Object;)V
  57. goto :goto_0
  58. .line 67
  59. :cond_0
  60. iget-object v0, p0, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->actual:Lorg/reactivestreams/Subscriber;
  61. invoke-interface {v0}, Lorg/reactivestreams/Subscriber;->onComplete()V
  62. :goto_0
  63. return-void
  64. .end method
  65. .method public onError(Ljava/lang/Throwable;)V
  66. .locals 1
  67. const/4 v0, 0x0
  68. .line 58
  69. iput-object v0, p0, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->value:Ljava/lang/Object;
  70. .line 59
  71. iget-object v0, p0, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->actual:Lorg/reactivestreams/Subscriber;
  72. invoke-interface {v0, p1}, Lorg/reactivestreams/Subscriber;->onError(Ljava/lang/Throwable;)V
  73. return-void
  74. .end method
  75. .method public onSubscribe(Lorg/reactivestreams/Subscription;)V
  76. .locals 2
  77. .line 47
  78. iget-object v0, p0, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->s:Lorg/reactivestreams/Subscription;
  79. invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->validate(Lorg/reactivestreams/Subscription;Lorg/reactivestreams/Subscription;)Z
  80. move-result v0
  81. if-eqz v0, :cond_0
  82. .line 48
  83. iput-object p1, p0, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->s:Lorg/reactivestreams/Subscription;
  84. .line 50
  85. iget-object v0, p0, Lio/reactivex/internal/subscribers/DeferredScalarSubscriber;->actual:Lorg/reactivestreams/Subscriber;
  86. invoke-interface {v0, p0}, Lorg/reactivestreams/Subscriber;->onSubscribe(Lorg/reactivestreams/Subscription;)V
  87. const-wide v0, 0x7fffffffffffffffL
  88. .line 52
  89. invoke-interface {p1, v0, v1}, Lorg/reactivestreams/Subscription;->request(J)V
  90. :cond_0
  91. return-void
  92. .end method