.class public abstract Lio/reactivex/Scheduler; .super Ljava/lang/Object; .source "Scheduler.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lio/reactivex/Scheduler$PeriodicDirectTask;, Lio/reactivex/Scheduler$Worker; } .end annotation # static fields .field static final CLOCK_DRIFT_TOLERANCE_NANOSECONDS:J # direct methods .method static constructor ()V .locals 4 .line 40 sget-object v0, Ljava/util/concurrent/TimeUnit;->MINUTES:Ljava/util/concurrent/TimeUnit; const-string v1, "rx2.scheduler.drift-tolerance" const-wide/16 v2, 0xf invoke-static {v1, v2, v3}, Ljava/lang/Long;->getLong(Ljava/lang/String;J)Ljava/lang/Long; move-result-object v1 invoke-virtual {v1}, Ljava/lang/Long;->longValue()J move-result-wide v1 invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/TimeUnit;->toNanos(J)J move-result-wide v0 sput-wide v0, Lio/reactivex/Scheduler;->CLOCK_DRIFT_TOLERANCE_NANOSECONDS:J return-void .end method .method public constructor ()V .locals 0 .line 32 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static clockDriftTolerance()J .locals 2 .line 51 sget-wide v0, Lio/reactivex/Scheduler;->CLOCK_DRIFT_TOLERANCE_NANOSECONDS:J return-wide v0 .end method # virtual methods .method public abstract createWorker()Lio/reactivex/Scheduler$Worker; .end method .method public now(Ljava/util/concurrent/TimeUnit;)J .locals 3 .line 73 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v0 sget-object v2, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit; invoke-virtual {p1, v0, v1, v2}, Ljava/util/concurrent/TimeUnit;->convert(JLjava/util/concurrent/TimeUnit;)J move-result-wide v0 return-wide v0 .end method .method public scheduleDirect(Ljava/lang/Runnable;)Lio/reactivex/disposables/Disposable; .locals 3 .line 109 sget-object v0, Ljava/util/concurrent/TimeUnit;->NANOSECONDS:Ljava/util/concurrent/TimeUnit; const-wide/16 v1, 0x0 invoke-virtual {p0, p1, v1, v2, v0}, Lio/reactivex/Scheduler;->scheduleDirect(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable; move-result-object p1 return-object p1 .end method .method public scheduleDirect(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable; .locals 2 .line 126 invoke-virtual {p0}, Lio/reactivex/Scheduler;->createWorker()Lio/reactivex/Scheduler$Worker; move-result-object v0 .line 128 invoke-static {p1}, Lio/reactivex/plugins/RxJavaPlugins;->onSchedule(Ljava/lang/Runnable;)Ljava/lang/Runnable; move-result-object p1 .line 130 new-instance v1, Lio/reactivex/Scheduler$1; invoke-direct {v1, p0, p1, v0}, Lio/reactivex/Scheduler$1;->(Lio/reactivex/Scheduler;Ljava/lang/Runnable;Lio/reactivex/Scheduler$Worker;)V invoke-virtual {v0, v1, p2, p3, p4}, Lio/reactivex/Scheduler$Worker;->schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable; return-object v0 .end method .method public schedulePeriodicallyDirect(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable; .locals 8 .line 163 invoke-virtual {p0}, Lio/reactivex/Scheduler;->createWorker()Lio/reactivex/Scheduler$Worker; move-result-object v0 .line 165 invoke-static {p1}, Lio/reactivex/plugins/RxJavaPlugins;->onSchedule(Ljava/lang/Runnable;)Ljava/lang/Runnable; move-result-object p1 .line 167 new-instance v7, Lio/reactivex/Scheduler$PeriodicDirectTask; invoke-direct {v7, p1, v0}, Lio/reactivex/Scheduler$PeriodicDirectTask;->(Ljava/lang/Runnable;Lio/reactivex/Scheduler$Worker;)V move-object v1, v7 move-wide v2, p2 move-wide v4, p4 move-object v6, p6 .line 169 invoke-virtual/range {v0 .. v6}, Lio/reactivex/Scheduler$Worker;->schedulePeriodically(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable; move-result-object p1 .line 170 sget-object p2, Lio/reactivex/internal/disposables/EmptyDisposable;->INSTANCE:Lio/reactivex/internal/disposables/EmptyDisposable; if-ne p1, p2, :cond_0 return-object p1 :cond_0 return-object v7 .end method .method public shutdown()V .locals 0 return-void .end method .method public start()V .locals 0 return-void .end method .method public when(Lio/reactivex/functions/Function;)Lio/reactivex/Scheduler; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lio/reactivex/functions/Function<", "Lio/reactivex/Flowable<", "Lio/reactivex/Flowable<", "Lio/reactivex/Completable;", ">;>;", "Lio/reactivex/Completable;", ">;)TS;" } .end annotation .annotation build Lio/reactivex/annotations/Experimental; .end annotation .line 253 new-instance v0, Lio/reactivex/internal/schedulers/SchedulerWhen; invoke-direct {v0, p1, p0}, Lio/reactivex/internal/schedulers/SchedulerWhen;->(Lio/reactivex/functions/Function;Lio/reactivex/Scheduler;)V return-object v0 .end method