ReferenceDisposable.smali 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. .class abstract Lio/reactivex/disposables/ReferenceDisposable;
  2. .super Ljava/util/concurrent/atomic/AtomicReference;
  3. .source "ReferenceDisposable.java"
  4. # interfaces
  5. .implements Lio/reactivex/disposables/Disposable;
  6. # annotations
  7. .annotation system Ldalvik/annotation/Signature;
  8. value = {
  9. "<T:",
  10. "Ljava/lang/Object;",
  11. ">",
  12. "Ljava/util/concurrent/atomic/AtomicReference<",
  13. "TT;>;",
  14. "Lio/reactivex/disposables/Disposable;"
  15. }
  16. .end annotation
  17. # static fields
  18. .field private static final serialVersionUID:J = 0x5abac7da20d0ae41L
  19. # direct methods
  20. .method constructor <init>(Ljava/lang/Object;)V
  21. .locals 1
  22. .annotation system Ldalvik/annotation/Signature;
  23. value = {
  24. "(TT;)V"
  25. }
  26. .end annotation
  27. const-string v0, "value is null"
  28. .line 31
  29. invoke-static {p1, v0}, Lio/reactivex/internal/functions/ObjectHelper;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
  30. move-result-object p1
  31. invoke-direct {p0, p1}, Ljava/util/concurrent/atomic/AtomicReference;-><init>(Ljava/lang/Object;)V
  32. return-void
  33. .end method
  34. # virtual methods
  35. .method public final dispose()V
  36. .locals 1
  37. .line 38
  38. invoke-virtual {p0}, Lio/reactivex/disposables/ReferenceDisposable;->get()Ljava/lang/Object;
  39. move-result-object v0
  40. if-eqz v0, :cond_0
  41. const/4 v0, 0x0
  42. .line 40
  43. invoke-virtual {p0, v0}, Lio/reactivex/disposables/ReferenceDisposable;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
  44. move-result-object v0
  45. if-eqz v0, :cond_0
  46. .line 42
  47. invoke-virtual {p0, v0}, Lio/reactivex/disposables/ReferenceDisposable;->onDisposed(Ljava/lang/Object;)V
  48. :cond_0
  49. return-void
  50. .end method
  51. .method public final isDisposed()Z
  52. .locals 1
  53. .line 49
  54. invoke-virtual {p0}, Lio/reactivex/disposables/ReferenceDisposable;->get()Ljava/lang/Object;
  55. move-result-object v0
  56. if-nez v0, :cond_0
  57. const/4 v0, 0x1
  58. goto :goto_0
  59. :cond_0
  60. const/4 v0, 0x0
  61. :goto_0
  62. return v0
  63. .end method
  64. .method protected abstract onDisposed(Ljava/lang/Object;)V
  65. .annotation system Ldalvik/annotation/Signature;
  66. value = {
  67. "(TT;)V"
  68. }
  69. .end annotation
  70. .end method