.class public final Lr0/p/a; .super Ljava/lang/Object; .source "Schedulers.java" # static fields .field public static final d:Ljava/util/concurrent/atomic/AtomicReference; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/concurrent/atomic/AtomicReference<", "Lr0/p/a;", ">;" } .end annotation .end field # instance fields .field public final a:Lrx/Scheduler; .field public final b:Lrx/Scheduler; .field public final c:Lrx/Scheduler; # direct methods .method public static constructor ()V .locals 1 new-instance v0, Ljava/util/concurrent/atomic/AtomicReference; invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;->()V sput-object v0, Lr0/p/a;->d:Ljava/util/concurrent/atomic/AtomicReference; return-void .end method .method public constructor ()V .locals 2 invoke-direct {p0}, Ljava/lang/Object;->()V sget-object v0, Lr0/o/o;->f:Lr0/o/o; invoke-virtual {v0}, Lr0/o/o;->e()Lr0/o/p; move-result-object v0 if-eqz v0, :cond_0 new-instance v0, Lr0/l/e/i; const-string v1, "RxComputationScheduler-" invoke-direct {v0, v1}, Lr0/l/e/i;->(Ljava/lang/String;)V new-instance v1, Lr0/l/c/b; invoke-direct {v1, v0}, Lr0/l/c/b;->(Ljava/util/concurrent/ThreadFactory;)V iput-object v1, p0, Lr0/p/a;->a:Lrx/Scheduler; new-instance v0, Lr0/l/e/i; const-string v1, "RxIoScheduler-" invoke-direct {v0, v1}, Lr0/l/e/i;->(Ljava/lang/String;)V new-instance v1, Lr0/l/c/a; invoke-direct {v1, v0}, Lr0/l/c/a;->(Ljava/util/concurrent/ThreadFactory;)V iput-object v1, p0, Lr0/p/a;->b:Lrx/Scheduler; new-instance v0, Lr0/l/e/i; const-string v1, "RxNewThreadScheduler-" invoke-direct {v0, v1}, Lr0/l/e/i;->(Ljava/lang/String;)V new-instance v1, Lr0/l/c/f; invoke-direct {v1, v0}, Lr0/l/c/f;->(Ljava/util/concurrent/ThreadFactory;)V iput-object v1, p0, Lr0/p/a;->c:Lrx/Scheduler; return-void :cond_0 const/4 v0, 0x0 throw v0 .end method .method public static a()Lrx/Scheduler; .locals 1 invoke-static {}, Lr0/p/a;->c()Lr0/p/a; move-result-object v0 iget-object v0, v0, Lr0/p/a;->a:Lrx/Scheduler; return-object v0 .end method .method public static b(Ljava/util/concurrent/Executor;)Lrx/Scheduler; .locals 1 new-instance v0, Lr0/l/c/c; invoke-direct {v0, p0}, Lr0/l/c/c;->(Ljava/util/concurrent/Executor;)V return-object v0 .end method .method public static c()Lr0/p/a; .locals 3 :goto_0 sget-object v0, Lr0/p/a;->d:Ljava/util/concurrent/atomic/AtomicReference; invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Lr0/p/a; if-eqz v0, :cond_0 return-object v0 :cond_0 new-instance v0, Lr0/p/a; invoke-direct {v0}, Lr0/p/a;->()V sget-object v1, Lr0/p/a;->d:Ljava/util/concurrent/atomic/AtomicReference; const/4 v2, 0x0 invoke-virtual {v1, v2, v0}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v1 if-eqz v1, :cond_1 return-object v0 :cond_1 monitor-enter v0 :try_start_0 iget-object v1, v0, Lr0/p/a;->a:Lrx/Scheduler; instance-of v1, v1, Lr0/l/c/j; if-eqz v1, :cond_2 iget-object v1, v0, Lr0/p/a;->a:Lrx/Scheduler; check-cast v1, Lr0/l/c/j; invoke-interface {v1}, Lr0/l/c/j;->shutdown()V :cond_2 iget-object v1, v0, Lr0/p/a;->b:Lrx/Scheduler; instance-of v1, v1, Lr0/l/c/j; if-eqz v1, :cond_3 iget-object v1, v0, Lr0/p/a;->b:Lrx/Scheduler; check-cast v1, Lr0/l/c/j; invoke-interface {v1}, Lr0/l/c/j;->shutdown()V :cond_3 iget-object v1, v0, Lr0/p/a;->c:Lrx/Scheduler; instance-of v1, v1, Lr0/l/c/j; if-eqz v1, :cond_4 iget-object v1, v0, Lr0/p/a;->c:Lrx/Scheduler; check-cast v1, Lr0/l/c/j; invoke-interface {v1}, Lr0/l/c/j;->shutdown()V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 :cond_4 monitor-exit v0 goto :goto_0 :catchall_0 move-exception v1 monitor-exit v0 throw v1 .end method .method public static d()Lrx/Scheduler; .locals 1 invoke-static {}, Lr0/p/a;->c()Lr0/p/a; move-result-object v0 iget-object v0, v0, Lr0/p/a;->b:Lrx/Scheduler; return-object v0 .end method .method public static e()Lrx/Scheduler; .locals 1 sget-object v0, Lr0/l/c/l;->a:Lr0/l/c/l; return-object v0 .end method