package io.reactivex.internal.schedulers; import io.reactivex.Scheduler; import io.reactivex.disposables.CompositeDisposable; import io.reactivex.disposables.Disposable; import io.reactivex.internal.disposables.EmptyDisposable; import io.reactivex.plugins.RxJavaPlugins; import java.util.concurrent.Callable; import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ThreadFactory; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; /* loaded from: classes2.dex */ public final class SingleScheduler extends Scheduler { static final RxThreadFactory c; static final ScheduledExecutorService d = Executors.newScheduledThreadPool(0); final AtomicReference b; static final class ScheduledWorker extends Scheduler.Worker { final ScheduledExecutorService a; final CompositeDisposable b = new CompositeDisposable(); volatile boolean c; ScheduledWorker(ScheduledExecutorService scheduledExecutorService) { this.a = scheduledExecutorService; } @Override // io.reactivex.Scheduler.Worker public Disposable a(Runnable runnable, long j, TimeUnit timeUnit) { if (this.c) { return EmptyDisposable.INSTANCE; } ScheduledRunnable scheduledRunnable = new ScheduledRunnable(RxJavaPlugins.a(runnable), this.b); this.b.b(scheduledRunnable); try { scheduledRunnable.setFuture(j <= 0 ? this.a.submit((Callable) scheduledRunnable) : this.a.schedule((Callable) scheduledRunnable, j, timeUnit)); return scheduledRunnable; } catch (RejectedExecutionException e) { dispose(); RxJavaPlugins.b(e); return EmptyDisposable.INSTANCE; } } @Override // io.reactivex.disposables.Disposable public void dispose() { if (this.c) { return; } this.c = true; this.b.dispose(); } } static { d.shutdown(); c = new RxThreadFactory("RxSingleScheduler", Math.max(1, Math.min(10, Integer.getInteger("rx2.single-priority", 5).intValue())), true); } public SingleScheduler() { this(c); } static ScheduledExecutorService a(ThreadFactory threadFactory) { return SchedulerPoolFactory.a(threadFactory); } public SingleScheduler(ThreadFactory threadFactory) { this.b = new AtomicReference<>(); this.b.lazySet(a(threadFactory)); } @Override // io.reactivex.Scheduler public Scheduler.Worker a() { return new ScheduledWorker(this.b.get()); } @Override // io.reactivex.Scheduler public Disposable a(Runnable runnable, long j, TimeUnit timeUnit) { Future schedule; ScheduledDirectTask scheduledDirectTask = new ScheduledDirectTask(RxJavaPlugins.a(runnable)); try { if (j <= 0) { schedule = this.b.get().submit(scheduledDirectTask); } else { schedule = this.b.get().schedule(scheduledDirectTask, j, timeUnit); } scheduledDirectTask.setFuture(schedule); return scheduledDirectTask; } catch (RejectedExecutionException e) { RxJavaPlugins.b(e); return EmptyDisposable.INSTANCE; } } @Override // io.reactivex.Scheduler public Disposable a(Runnable runnable, long j, long j2, TimeUnit timeUnit) { Future schedule; Runnable a = RxJavaPlugins.a(runnable); if (j2 <= 0) { ScheduledExecutorService scheduledExecutorService = this.b.get(); InstantPeriodicTask instantPeriodicTask = new InstantPeriodicTask(a, scheduledExecutorService); try { if (j <= 0) { schedule = scheduledExecutorService.submit(instantPeriodicTask); } else { schedule = scheduledExecutorService.schedule(instantPeriodicTask, j, timeUnit); } instantPeriodicTask.a(schedule); return instantPeriodicTask; } catch (RejectedExecutionException e) { RxJavaPlugins.b(e); return EmptyDisposable.INSTANCE; } } ScheduledDirectPeriodicTask scheduledDirectPeriodicTask = new ScheduledDirectPeriodicTask(a); try { scheduledDirectPeriodicTask.setFuture(this.b.get().scheduleAtFixedRate(scheduledDirectPeriodicTask, j, j2, timeUnit)); return scheduledDirectPeriodicTask; } catch (RejectedExecutionException e2) { RxJavaPlugins.b(e2); return EmptyDisposable.INSTANCE; } } }