aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2014-10-10 12:14:54 +0200
committerSamuel Tardieu <sam@rfc1149.net>2014-10-10 12:14:54 +0200
commitd490eb19291b25f0dfa08a403d66d4ba973c923d (patch)
tree74d4ec458c97fdf41f115af4d8fac8f4e638f674
parent7b50e596c0fa7c2e501f8021bf6b0b9d8f9c9eaa (diff)
downloadcgeo-d490eb19291b25f0dfa08a403d66d4ba973c923d.zip
cgeo-d490eb19291b25f0dfa08a403d66d4ba973c923d.tar.gz
cgeo-d490eb19291b25f0dfa08a403d66d4ba973c923d.tar.bz2
Do not use deprecated parallel() operator
-rw-r--r--main/src/cgeo/geocaching/SearchResult.java16
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);