diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2014-10-10 12:14:54 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2014-10-10 12:14:54 +0200 |
| commit | d490eb19291b25f0dfa08a403d66d4ba973c923d (patch) | |
| tree | 74d4ec458c97fdf41f115af4d8fac8f4e638f674 | |
| parent | 7b50e596c0fa7c2e501f8021bf6b0b9d8f9c9eaa (diff) | |
| download | cgeo-d490eb19291b25f0dfa08a403d66d4ba973c923d.zip cgeo-d490eb19291b25f0dfa08a403d66d4ba973c923d.tar.gz cgeo-d490eb19291b25f0dfa08a403d66d4ba973c923d.tar.bz2 | |
Do not use deprecated parallel() operator
| -rw-r--r-- | main/src/cgeo/geocaching/SearchResult.java | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/main/src/cgeo/geocaching/SearchResult.java b/main/src/cgeo/geocaching/SearchResult.java index 6015872..64ed46e 100644 --- a/main/src/cgeo/geocaching/SearchResult.java +++ b/main/src/cgeo/geocaching/SearchResult.java @@ -16,8 +16,10 @@ import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; import rx.Observable; +import rx.functions.Func0; import rx.functions.Func1; import rx.functions.Func2; +import rx.util.async.Async; import android.os.Parcel; import android.os.Parcelable; @@ -314,17 +316,17 @@ public class SearchResult implements Parcelable { public static <C extends IConnector> SearchResult parallelCombineActive(final Collection<C> connectors, final Func1<C, SearchResult> func) { - return Observable.from(connectors).parallel(new Func1<Observable<C>, Observable<SearchResult>>() { + return Observable.from(connectors).flatMap(new Func1<C, Observable<SearchResult>>() { @Override - public Observable<SearchResult> call(final Observable<C> cObservable) { - return cObservable.flatMap(new Func1<C, Observable<? extends SearchResult>>() { + public Observable<SearchResult> call(final C connector) { + return connector.isActive() ? Async.start(new Func0<SearchResult>() { @Override - public Observable<? extends SearchResult> call(final C c) { - return c.isActive() ? Observable.just(func.call(c)) : Observable.<SearchResult>empty(); + public SearchResult call() { + return func.call(connector); } - }); + }, RxUtils.networkScheduler) : Observable.<SearchResult>empty(); } - }, RxUtils.networkScheduler).reduce(new SearchResult(), new Func2<SearchResult, SearchResult, SearchResult>() { + }).reduce(new SearchResult(), new Func2<SearchResult, SearchResult, SearchResult>() { @Override public SearchResult call(final SearchResult searchResult, final SearchResult searchResult2) { searchResult.addSearchResult(searchResult2); |
