@Override public Scheduler getScheduler() { return AndroidSchedulers.mainThread(); } }
/** A {@link Scheduler} which executes actions on {@code looper}. */ public static Scheduler from(Looper looper) { return from(looper, false); }
@Override public ObservableSource<T> apply(Observable<T> observable) { return observable.observeOn(AndroidSchedulers.mainThread()); } };
@Test public void fromReturnsUsableScheduler() { assertNotNull(AndroidSchedulers.from(Looper.getMainLooper())); }
@Override public ObservableSource<T> apply(Observable<T> observable) { return observable.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } };
@Test public void fromNullThrows() { try { AndroidSchedulers.from(null); fail(); } catch (NullPointerException e) { assertEquals("looper == null", e.getMessage()); } }
@Override public final void dispose() { if (unsubscribed.compareAndSet(false, true)) { if (Looper.myLooper() == Looper.getMainLooper()) { onDispose(); } else { AndroidSchedulers.mainThread().scheduleDirect(new Runnable() { @Override public void run() { onDispose(); } }); } } }
@Test public void fromNullThrowsTwoArg() { try { AndroidSchedulers.from(null, false); fail(); } catch (NullPointerException e) { assertEquals("looper == null", e.getMessage()); } }
@Override public Publisher<T> apply(Flowable<T> flowable) { return flowable.observeOn(AndroidSchedulers.mainThread()); } };
@Test public void asyncIgnoredPre16() { ReflectionHelpers.setStaticField(Build.VERSION.class, "SDK_INT", 14); ShadowLooper mainLooper = ShadowLooper.getShadowMainLooper(); mainLooper.pause(); ShadowMessageQueue mainMessageQueue = shadowOf(Looper.getMainLooper().getQueue()); Scheduler main = AndroidSchedulers.from(Looper.getMainLooper(), true); main.scheduleDirect(new Runnable() { @Override public void run() { } }); Message message = mainMessageQueue.getHead(); assertFalse(message.isAsynchronous()); } }
@Override public Publisher<T> apply(Flowable<T> flowable) { return flowable.observeOn(AndroidSchedulers.mainThread()); } };
@Override public ObservableSource<T> apply(Observable<T> observable) { return observable.subscribeOn(Schedulers.computation()) .observeOn(AndroidSchedulers.mainThread()); } };
@Override public Publisher<T> apply(Flowable<T> flowable) { return flowable.observeOn(AndroidSchedulers.mainThread()); } };
private void showDeleteDialog(final String name, final Single<Integer> deleteReactor) { if (activity == null || disposables == null) return; new AlertDialog.Builder(activity) .setTitle(name) .setMessage(R.string.delete_playlist_prompt) .setCancelable(true) .setPositiveButton(R.string.delete, (dialog, i) -> disposables.add(deleteReactor .observeOn(AndroidSchedulers.mainThread()) .subscribe(ignored -> {/*Do nothing on success*/}, this::onError)) ) .setNegativeButton(R.string.cancel, null) .show(); }
private Disposable getProgressReactor() { return Observable.interval(PROGRESS_LOOP_INTERVAL_MILLIS, TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()) .subscribe(ignored -> triggerProgressUpdate(), error -> Log.e(TAG, "Progress update failure: ", error)); }
private void doSomeWork() { getObservable() // Run on a background thread .subscribeOn(Schedulers.io()) // Be notified on the main thread .observeOn(AndroidSchedulers.mainThread()) .subscribe(getObserver()); }
private void doSomeWork() { getObservable() // Run on a background thread .subscribeOn(Schedulers.io()) // Be notified on the main thread .observeOn(AndroidSchedulers.mainThread()) .subscribe(getObserver()); }
@OnClick(R.id.btn_start_operation) public void startLongOperation() { _progress.setVisibility(View.VISIBLE); _log("Button Clicked"); DisposableObserver<Boolean> d = _getDisposableObserver(); _getObservable() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(d); _disposables.add(d); }
void onRunSchedulerExampleButtonClicked() { disposables.add(sampleObservable() // Run on a background thread .subscribeOn(Schedulers.io()) // Be notified on the main thread .observeOn(AndroidSchedulers.mainThread()) .subscribeWith(new DisposableObserver<String>() { @Override public void onComplete() { Log.d(TAG, "onComplete()"); } @Override public void onError(Throwable e) { Log.e(TAG, "onError()", e); } @Override public void onNext(String string) { Log.d(TAG, "onNext(" + string + ")"); } })); }
private void doSomeWork() { getObservable() .debounce(500, TimeUnit.MILLISECONDS) // Run on a background thread .subscribeOn(Schedulers.io()) // Be notified on the main thread .observeOn(AndroidSchedulers.mainThread()) .subscribe(getObserver()); }