package cgeo.geocaching.utils; import rx.Observable; import rx.Scheduler; import rx.observables.BlockingObservable; import rx.schedulers.Schedulers; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; public class RxUtils { // Utility class, not to be instanciated private RxUtils() {} public final static Scheduler computationScheduler = Schedulers.computation(); public static final Scheduler networkScheduler = Schedulers.from(new ThreadPoolExecutor(10, 10, 5, TimeUnit.SECONDS, new LinkedBlockingQueue())); public static void waitForCompletion(final BlockingObservable observable) { observable.lastOrDefault(null); } public static void waitForCompletion(final Observable... observables) { waitForCompletion(Observable.merge(observables).toBlocking()); } }