ExecutorScheduler$DelayedRunnable.smali 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. .class final Lio/reactivex/internal/schedulers/ExecutorScheduler$DelayedRunnable;
  2. .super Ljava/util/concurrent/atomic/AtomicReference;
  3. .source "ExecutorScheduler.java"
  4. # interfaces
  5. .implements Ljava/lang/Runnable;
  6. .implements Lio/reactivex/disposables/Disposable;
  7. # annotations
  8. .annotation system Ldalvik/annotation/EnclosingClass;
  9. value = Lio/reactivex/internal/schedulers/ExecutorScheduler;
  10. .end annotation
  11. .annotation system Ldalvik/annotation/InnerClass;
  12. accessFlags = 0x18
  13. name = "DelayedRunnable"
  14. .end annotation
  15. .annotation system Ldalvik/annotation/Signature;
  16. value = {
  17. "Ljava/util/concurrent/atomic/AtomicReference<",
  18. "Ljava/lang/Runnable;",
  19. ">;",
  20. "Ljava/lang/Runnable;",
  21. "Lio/reactivex/disposables/Disposable;"
  22. }
  23. .end annotation
  24. # static fields
  25. .field private static final serialVersionUID:J = -0x38eadf8da9d2b4ecL
  26. # instance fields
  27. .field final direct:Lio/reactivex/internal/disposables/SequentialDisposable;
  28. .field final timed:Lio/reactivex/internal/disposables/SequentialDisposable;
  29. # direct methods
  30. .method constructor <init>(Ljava/lang/Runnable;)V
  31. .locals 0
  32. .line 284
  33. invoke-direct {p0, p1}, Ljava/util/concurrent/atomic/AtomicReference;-><init>(Ljava/lang/Object;)V
  34. .line 285
  35. new-instance p1, Lio/reactivex/internal/disposables/SequentialDisposable;
  36. invoke-direct {p1}, Lio/reactivex/internal/disposables/SequentialDisposable;-><init>()V
  37. iput-object p1, p0, Lio/reactivex/internal/schedulers/ExecutorScheduler$DelayedRunnable;->timed:Lio/reactivex/internal/disposables/SequentialDisposable;
  38. .line 286
  39. new-instance p1, Lio/reactivex/internal/disposables/SequentialDisposable;
  40. invoke-direct {p1}, Lio/reactivex/internal/disposables/SequentialDisposable;-><init>()V
  41. iput-object p1, p0, Lio/reactivex/internal/schedulers/ExecutorScheduler$DelayedRunnable;->direct:Lio/reactivex/internal/disposables/SequentialDisposable;
  42. return-void
  43. .end method
  44. # virtual methods
  45. .method public dispose()V
  46. .locals 1
  47. const/4 v0, 0x0
  48. .line 310
  49. invoke-virtual {p0, v0}, Lio/reactivex/internal/schedulers/ExecutorScheduler$DelayedRunnable;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
  50. move-result-object v0
  51. if-eqz v0, :cond_0
  52. .line 311
  53. iget-object v0, p0, Lio/reactivex/internal/schedulers/ExecutorScheduler$DelayedRunnable;->timed:Lio/reactivex/internal/disposables/SequentialDisposable;
  54. invoke-virtual {v0}, Lio/reactivex/internal/disposables/SequentialDisposable;->dispose()V
  55. .line 312
  56. iget-object v0, p0, Lio/reactivex/internal/schedulers/ExecutorScheduler$DelayedRunnable;->direct:Lio/reactivex/internal/disposables/SequentialDisposable;
  57. invoke-virtual {v0}, Lio/reactivex/internal/disposables/SequentialDisposable;->dispose()V
  58. :cond_0
  59. return-void
  60. .end method
  61. .method public isDisposed()Z
  62. .locals 1
  63. .line 305
  64. invoke-virtual {p0}, Lio/reactivex/internal/schedulers/ExecutorScheduler$DelayedRunnable;->get()Ljava/lang/Object;
  65. move-result-object v0
  66. if-nez v0, :cond_0
  67. const/4 v0, 0x1
  68. goto :goto_0
  69. :cond_0
  70. const/4 v0, 0x0
  71. :goto_0
  72. return v0
  73. .end method
  74. .method public run()V
  75. .locals 3
  76. .line 291
  77. invoke-virtual {p0}, Lio/reactivex/internal/schedulers/ExecutorScheduler$DelayedRunnable;->get()Ljava/lang/Object;
  78. move-result-object v0
  79. check-cast v0, Ljava/lang/Runnable;
  80. if-eqz v0, :cond_0
  81. const/4 v1, 0x0
  82. .line 294
  83. :try_start_0
  84. invoke-interface {v0}, Ljava/lang/Runnable;->run()V
  85. :try_end_0
  86. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  87. .line 296
  88. invoke-virtual {p0, v1}, Lio/reactivex/internal/schedulers/ExecutorScheduler$DelayedRunnable;->lazySet(Ljava/lang/Object;)V
  89. .line 297
  90. iget-object v0, p0, Lio/reactivex/internal/schedulers/ExecutorScheduler$DelayedRunnable;->timed:Lio/reactivex/internal/disposables/SequentialDisposable;
  91. sget-object v1, Lio/reactivex/internal/disposables/DisposableHelper;->DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
  92. invoke-virtual {v0, v1}, Lio/reactivex/internal/disposables/SequentialDisposable;->lazySet(Ljava/lang/Object;)V
  93. .line 298
  94. iget-object v0, p0, Lio/reactivex/internal/schedulers/ExecutorScheduler$DelayedRunnable;->direct:Lio/reactivex/internal/disposables/SequentialDisposable;
  95. sget-object v1, Lio/reactivex/internal/disposables/DisposableHelper;->DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
  96. invoke-virtual {v0, v1}, Lio/reactivex/internal/disposables/SequentialDisposable;->lazySet(Ljava/lang/Object;)V
  97. goto :goto_0
  98. :catchall_0
  99. move-exception v0
  100. .line 296
  101. invoke-virtual {p0, v1}, Lio/reactivex/internal/schedulers/ExecutorScheduler$DelayedRunnable;->lazySet(Ljava/lang/Object;)V
  102. .line 297
  103. iget-object v1, p0, Lio/reactivex/internal/schedulers/ExecutorScheduler$DelayedRunnable;->timed:Lio/reactivex/internal/disposables/SequentialDisposable;
  104. sget-object v2, Lio/reactivex/internal/disposables/DisposableHelper;->DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
  105. invoke-virtual {v1, v2}, Lio/reactivex/internal/disposables/SequentialDisposable;->lazySet(Ljava/lang/Object;)V
  106. .line 298
  107. iget-object v1, p0, Lio/reactivex/internal/schedulers/ExecutorScheduler$DelayedRunnable;->direct:Lio/reactivex/internal/disposables/SequentialDisposable;
  108. sget-object v2, Lio/reactivex/internal/disposables/DisposableHelper;->DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
  109. invoke-virtual {v1, v2}, Lio/reactivex/internal/disposables/SequentialDisposable;->lazySet(Ljava/lang/Object;)V
  110. throw v0
  111. :cond_0
  112. :goto_0
  113. return-void
  114. .end method