NewThreadScheduler.smali 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. .class public final Lio/reactivex/internal/schedulers/NewThreadScheduler;
  2. .super Lio/reactivex/Scheduler;
  3. .source "NewThreadScheduler.java"
  4. # static fields
  5. .field private static final KEY_NEWTHREAD_PRIORITY:Ljava/lang/String; = "rx2.newthread-priority"
  6. .field private static final THREAD_FACTORY:Lio/reactivex/internal/schedulers/RxThreadFactory;
  7. .field private static final THREAD_NAME_PREFIX:Ljava/lang/String; = "RxNewThreadScheduler"
  8. # instance fields
  9. .field final threadFactory:Ljava/util/concurrent/ThreadFactory;
  10. # direct methods
  11. .method static constructor <clinit>()V
  12. .locals 3
  13. const-string v0, "rx2.newthread-priority"
  14. const/4 v1, 0x5
  15. .line 37
  16. invoke-static {v0, v1}, Ljava/lang/Integer;->getInteger(Ljava/lang/String;I)Ljava/lang/Integer;
  17. move-result-object v0
  18. invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
  19. move-result v0
  20. const/16 v1, 0xa
  21. invoke-static {v1, v0}, Ljava/lang/Math;->min(II)I
  22. move-result v0
  23. const/4 v1, 0x1
  24. invoke-static {v1, v0}, Ljava/lang/Math;->max(II)I
  25. move-result v0
  26. .line 40
  27. new-instance v1, Lio/reactivex/internal/schedulers/RxThreadFactory;
  28. const-string v2, "RxNewThreadScheduler"
  29. invoke-direct {v1, v2, v0}, Lio/reactivex/internal/schedulers/RxThreadFactory;-><init>(Ljava/lang/String;I)V
  30. sput-object v1, Lio/reactivex/internal/schedulers/NewThreadScheduler;->THREAD_FACTORY:Lio/reactivex/internal/schedulers/RxThreadFactory;
  31. return-void
  32. .end method
  33. .method public constructor <init>()V
  34. .locals 1
  35. .line 44
  36. sget-object v0, Lio/reactivex/internal/schedulers/NewThreadScheduler;->THREAD_FACTORY:Lio/reactivex/internal/schedulers/RxThreadFactory;
  37. invoke-direct {p0, v0}, Lio/reactivex/internal/schedulers/NewThreadScheduler;-><init>(Ljava/util/concurrent/ThreadFactory;)V
  38. return-void
  39. .end method
  40. .method public constructor <init>(Ljava/util/concurrent/ThreadFactory;)V
  41. .locals 0
  42. .line 47
  43. invoke-direct {p0}, Lio/reactivex/Scheduler;-><init>()V
  44. .line 48
  45. iput-object p1, p0, Lio/reactivex/internal/schedulers/NewThreadScheduler;->threadFactory:Ljava/util/concurrent/ThreadFactory;
  46. return-void
  47. .end method
  48. # virtual methods
  49. .method public createWorker()Lio/reactivex/Scheduler$Worker;
  50. .locals 2
  51. .line 53
  52. new-instance v0, Lio/reactivex/internal/schedulers/NewThreadWorker;
  53. iget-object v1, p0, Lio/reactivex/internal/schedulers/NewThreadScheduler;->threadFactory:Ljava/util/concurrent/ThreadFactory;
  54. invoke-direct {v0, v1}, Lio/reactivex/internal/schedulers/NewThreadWorker;-><init>(Ljava/util/concurrent/ThreadFactory;)V
  55. return-object v0
  56. .end method