diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2015-02-05 18:46:07 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2015-02-05 19:40:00 +0100 |
| commit | cbf66512103dd3d3d47ba3f5b7a71f1e4ead958d (patch) | |
| tree | fe013bcb6b055a1f097481c5c6ebde4cb851ffa0 /main/src/cgeo/geocaching/utils/RxUtils.java | |
| parent | 0ece2fb2aa4b602c8e1a70f46c8610c0bfc08d1c (diff) | |
| download | cgeo-cbf66512103dd3d3d47ba3f5b7a71f1e4ead958d.zip cgeo-cbf66512103dd3d3d47ba3f5b7a71f1e4ead958d.tar.gz cgeo-cbf66512103dd3d3d47ba3f5b7a71f1e4ead958d.tar.bz2 | |
Do not require RxJavaAsyncUtils anymore
Diffstat (limited to 'main/src/cgeo/geocaching/utils/RxUtils.java')
| -rw-r--r-- | main/src/cgeo/geocaching/utils/RxUtils.java | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/main/src/cgeo/geocaching/utils/RxUtils.java b/main/src/cgeo/geocaching/utils/RxUtils.java index a028a56..08cc3e7 100644 --- a/main/src/cgeo/geocaching/utils/RxUtils.java +++ b/main/src/cgeo/geocaching/utils/RxUtils.java @@ -16,7 +16,6 @@ import rx.observers.Subscribers; import rx.schedulers.Schedulers; import rx.subjects.PublishSubject; import rx.subscriptions.Subscriptions; -import rx.util.async.Async; import android.os.Handler; import android.os.HandlerThread; @@ -131,20 +130,26 @@ public class RxUtils { } public static <T> void andThenOnUi(final Scheduler scheduler, final Func0<T> background, final Action1<T> foreground) { - Async.fromCallable(background, scheduler).observeOn(AndroidSchedulers.mainThread()).subscribe(foreground); + scheduler.createWorker().schedule(new Action0() { + @Override + public void call() { + final T value = background.call(); + AndroidSchedulers.mainThread().createWorker().schedule(new Action0() { + @Override + public void call() { + foreground.call(value); + } + }); + } + }); } public static void andThenOnUi(final Scheduler scheduler, final Action0 background, final Action0 foreground) { - andThenOnUi(scheduler, new Func0<Void>() { + scheduler.createWorker().schedule(new Action0() { @Override - public Void call() { + public void call() { background.call(); - return null; - } - }, new Action1<Void>() { - @Override - public void call(final Void ignored) { - foreground.call(); + AndroidSchedulers.mainThread().createWorker().schedule(foreground); } }); } |
