Schedulers.smali 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. .class public final Lio/reactivex/schedulers/Schedulers;
  2. .super Ljava/lang/Object;
  3. .source "Schedulers.java"
  4. # annotations
  5. .annotation system Ldalvik/annotation/MemberClasses;
  6. value = {
  7. Lio/reactivex/schedulers/Schedulers$NewThreadHolder;,
  8. Lio/reactivex/schedulers/Schedulers$IoHolder;,
  9. Lio/reactivex/schedulers/Schedulers$ComputationHolder;,
  10. Lio/reactivex/schedulers/Schedulers$SingleHolder;
  11. }
  12. .end annotation
  13. # static fields
  14. .field static final COMPUTATION:Lio/reactivex/Scheduler;
  15. .field static final IO:Lio/reactivex/Scheduler;
  16. .field static final NEW_THREAD:Lio/reactivex/Scheduler;
  17. .field static final SINGLE:Lio/reactivex/Scheduler;
  18. .field static final TRAMPOLINE:Lio/reactivex/Scheduler;
  19. # direct methods
  20. .method static constructor <clinit>()V
  21. .locals 1
  22. .line 64
  23. new-instance v0, Lio/reactivex/schedulers/Schedulers$1;
  24. invoke-direct {v0}, Lio/reactivex/schedulers/Schedulers$1;-><init>()V
  25. invoke-static {v0}, Lio/reactivex/plugins/RxJavaPlugins;->initSingleScheduler(Ljava/util/concurrent/Callable;)Lio/reactivex/Scheduler;
  26. move-result-object v0
  27. sput-object v0, Lio/reactivex/schedulers/Schedulers;->SINGLE:Lio/reactivex/Scheduler;
  28. .line 71
  29. new-instance v0, Lio/reactivex/schedulers/Schedulers$2;
  30. invoke-direct {v0}, Lio/reactivex/schedulers/Schedulers$2;-><init>()V
  31. invoke-static {v0}, Lio/reactivex/plugins/RxJavaPlugins;->initComputationScheduler(Ljava/util/concurrent/Callable;)Lio/reactivex/Scheduler;
  32. move-result-object v0
  33. sput-object v0, Lio/reactivex/schedulers/Schedulers;->COMPUTATION:Lio/reactivex/Scheduler;
  34. .line 78
  35. new-instance v0, Lio/reactivex/schedulers/Schedulers$3;
  36. invoke-direct {v0}, Lio/reactivex/schedulers/Schedulers$3;-><init>()V
  37. invoke-static {v0}, Lio/reactivex/plugins/RxJavaPlugins;->initIoScheduler(Ljava/util/concurrent/Callable;)Lio/reactivex/Scheduler;
  38. move-result-object v0
  39. sput-object v0, Lio/reactivex/schedulers/Schedulers;->IO:Lio/reactivex/Scheduler;
  40. .line 85
  41. invoke-static {}, Lio/reactivex/internal/schedulers/TrampolineScheduler;->instance()Lio/reactivex/internal/schedulers/TrampolineScheduler;
  42. move-result-object v0
  43. sput-object v0, Lio/reactivex/schedulers/Schedulers;->TRAMPOLINE:Lio/reactivex/Scheduler;
  44. .line 87
  45. new-instance v0, Lio/reactivex/schedulers/Schedulers$4;
  46. invoke-direct {v0}, Lio/reactivex/schedulers/Schedulers$4;-><init>()V
  47. invoke-static {v0}, Lio/reactivex/plugins/RxJavaPlugins;->initNewThreadScheduler(Ljava/util/concurrent/Callable;)Lio/reactivex/Scheduler;
  48. move-result-object v0
  49. sput-object v0, Lio/reactivex/schedulers/Schedulers;->NEW_THREAD:Lio/reactivex/Scheduler;
  50. return-void
  51. .end method
  52. .method private constructor <init>()V
  53. .locals 2
  54. .line 96
  55. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  56. .line 97
  57. new-instance v0, Ljava/lang/IllegalStateException;
  58. const-string v1, "No instances!"
  59. invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  60. throw v0
  61. .end method
  62. .method public static computation()Lio/reactivex/Scheduler;
  63. .locals 1
  64. .line 112
  65. sget-object v0, Lio/reactivex/schedulers/Schedulers;->COMPUTATION:Lio/reactivex/Scheduler;
  66. invoke-static {v0}, Lio/reactivex/plugins/RxJavaPlugins;->onComputationScheduler(Lio/reactivex/Scheduler;)Lio/reactivex/Scheduler;
  67. move-result-object v0
  68. return-object v0
  69. .end method
  70. .method public static from(Ljava/util/concurrent/Executor;)Lio/reactivex/Scheduler;
  71. .locals 1
  72. .line 178
  73. new-instance v0, Lio/reactivex/internal/schedulers/ExecutorScheduler;
  74. invoke-direct {v0, p0}, Lio/reactivex/internal/schedulers/ExecutorScheduler;-><init>(Ljava/util/concurrent/Executor;)V
  75. return-object v0
  76. .end method
  77. .method public static io()Lio/reactivex/Scheduler;
  78. .locals 1
  79. .line 129
  80. sget-object v0, Lio/reactivex/schedulers/Schedulers;->IO:Lio/reactivex/Scheduler;
  81. invoke-static {v0}, Lio/reactivex/plugins/RxJavaPlugins;->onIoScheduler(Lio/reactivex/Scheduler;)Lio/reactivex/Scheduler;
  82. move-result-object v0
  83. return-object v0
  84. .end method
  85. .method public static newThread()Lio/reactivex/Scheduler;
  86. .locals 1
  87. .line 150
  88. sget-object v0, Lio/reactivex/schedulers/Schedulers;->NEW_THREAD:Lio/reactivex/Scheduler;
  89. invoke-static {v0}, Lio/reactivex/plugins/RxJavaPlugins;->onNewThreadScheduler(Lio/reactivex/Scheduler;)Lio/reactivex/Scheduler;
  90. move-result-object v0
  91. return-object v0
  92. .end method
  93. .method public static shutdown()V
  94. .locals 1
  95. .line 186
  96. invoke-static {}, Lio/reactivex/schedulers/Schedulers;->computation()Lio/reactivex/Scheduler;
  97. move-result-object v0
  98. invoke-virtual {v0}, Lio/reactivex/Scheduler;->shutdown()V
  99. .line 187
  100. invoke-static {}, Lio/reactivex/schedulers/Schedulers;->io()Lio/reactivex/Scheduler;
  101. move-result-object v0
  102. invoke-virtual {v0}, Lio/reactivex/Scheduler;->shutdown()V
  103. .line 188
  104. invoke-static {}, Lio/reactivex/schedulers/Schedulers;->newThread()Lio/reactivex/Scheduler;
  105. move-result-object v0
  106. invoke-virtual {v0}, Lio/reactivex/Scheduler;->shutdown()V
  107. .line 189
  108. invoke-static {}, Lio/reactivex/schedulers/Schedulers;->single()Lio/reactivex/Scheduler;
  109. move-result-object v0
  110. invoke-virtual {v0}, Lio/reactivex/Scheduler;->shutdown()V
  111. .line 190
  112. invoke-static {}, Lio/reactivex/schedulers/Schedulers;->trampoline()Lio/reactivex/Scheduler;
  113. move-result-object v0
  114. invoke-virtual {v0}, Lio/reactivex/Scheduler;->shutdown()V
  115. .line 191
  116. invoke-static {}, Lio/reactivex/internal/schedulers/SchedulerPoolFactory;->shutdown()V
  117. return-void
  118. .end method
  119. .method public static single()Lio/reactivex/Scheduler;
  120. .locals 1
  121. .line 167
  122. sget-object v0, Lio/reactivex/schedulers/Schedulers;->SINGLE:Lio/reactivex/Scheduler;
  123. invoke-static {v0}, Lio/reactivex/plugins/RxJavaPlugins;->onSingleScheduler(Lio/reactivex/Scheduler;)Lio/reactivex/Scheduler;
  124. move-result-object v0
  125. return-object v0
  126. .end method
  127. .method public static start()V
  128. .locals 1
  129. .line 199
  130. invoke-static {}, Lio/reactivex/schedulers/Schedulers;->computation()Lio/reactivex/Scheduler;
  131. move-result-object v0
  132. invoke-virtual {v0}, Lio/reactivex/Scheduler;->start()V
  133. .line 200
  134. invoke-static {}, Lio/reactivex/schedulers/Schedulers;->io()Lio/reactivex/Scheduler;
  135. move-result-object v0
  136. invoke-virtual {v0}, Lio/reactivex/Scheduler;->start()V
  137. .line 201
  138. invoke-static {}, Lio/reactivex/schedulers/Schedulers;->newThread()Lio/reactivex/Scheduler;
  139. move-result-object v0
  140. invoke-virtual {v0}, Lio/reactivex/Scheduler;->start()V
  141. .line 202
  142. invoke-static {}, Lio/reactivex/schedulers/Schedulers;->single()Lio/reactivex/Scheduler;
  143. move-result-object v0
  144. invoke-virtual {v0}, Lio/reactivex/Scheduler;->start()V
  145. .line 203
  146. invoke-static {}, Lio/reactivex/schedulers/Schedulers;->trampoline()Lio/reactivex/Scheduler;
  147. move-result-object v0
  148. invoke-virtual {v0}, Lio/reactivex/Scheduler;->start()V
  149. .line 204
  150. invoke-static {}, Lio/reactivex/internal/schedulers/SchedulerPoolFactory;->start()V
  151. return-void
  152. .end method
  153. .method public static trampoline()Lio/reactivex/Scheduler;
  154. .locals 1
  155. .line 139
  156. sget-object v0, Lio/reactivex/schedulers/Schedulers;->TRAMPOLINE:Lio/reactivex/Scheduler;
  157. return-object v0
  158. .end method