aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/connector
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2014-03-31 15:06:25 +0200
committerSamuel Tardieu <sam@rfc1149.net>2014-03-31 15:06:25 +0200
commit46675dfdcb4c7b511b4c35e4a2242e47d4678fd4 (patch)
tree4dbec27998729b792d90ac6b0ee49648f77ccf3a /main/src/cgeo/geocaching/connector
parent4f8a1c6aeef324547ddd9e48ed726b57bfe8cf51 (diff)
downloadcgeo-46675dfdcb4c7b511b4c35e4a2242e47d4678fd4.zip
cgeo-46675dfdcb4c7b511b4c35e4a2242e47d4678fd4.tar.gz
cgeo-46675dfdcb4c7b511b4c35e4a2242e47d4678fd4.tar.bz2
fix #3707: missing method in Android < 2.3
Diffstat (limited to 'main/src/cgeo/geocaching/connector')
-rw-r--r--main/src/cgeo/geocaching/connector/ConnectorFactory.java28
1 files changed, 4 insertions, 24 deletions
diff --git a/main/src/cgeo/geocaching/connector/ConnectorFactory.java b/main/src/cgeo/geocaching/connector/ConnectorFactory.java
index 18344f5..35eae81 100644
--- a/main/src/cgeo/geocaching/connector/ConnectorFactory.java
+++ b/main/src/cgeo/geocaching/connector/ConnectorFactory.java
@@ -28,10 +28,7 @@ import org.apache.commons.lang3.StringUtils;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
-import rx.Observable;
-import rx.schedulers.Schedulers;
import rx.functions.Func1;
-import rx.functions.Func2;
import java.util.ArrayList;
import java.util.Arrays;
@@ -181,28 +178,11 @@ public final class ConnectorFactory {
}
/** @see ISearchByViewPort#searchByViewport */
- public static Observable<SearchResult> searchByViewport(final @NonNull Viewport viewport, final MapTokens tokens) {
- return Observable.from(searchByViewPortConns).filter(new Func1<ISearchByViewPort, Boolean>() {
+ public static SearchResult searchByViewport(final @NonNull Viewport viewport, final MapTokens tokens) {
+ return SearchResult.parallelCombineActive(searchByViewPortConns, new Func1<ISearchByViewPort, SearchResult>() {
@Override
- public Boolean call(final ISearchByViewPort connector) {
- return connector.isActive();
- }
- }).parallel(new Func1<Observable<ISearchByViewPort>, Observable<SearchResult>>() {
- @Override
- public Observable<SearchResult> call(final Observable<ISearchByViewPort> connector) {
- return connector.map(new Func1<ISearchByViewPort, SearchResult>() {
- @Override
- public SearchResult call(final ISearchByViewPort connector) {
- return connector.searchByViewport(viewport, tokens);
- }
- });
- }
- }, Schedulers.io()).reduce(new SearchResult(), new Func2<SearchResult, SearchResult, SearchResult>() {
-
- @Override
- public SearchResult call(final SearchResult result, final SearchResult searchResult) {
- result.addSearchResult(searchResult);
- return result;
+ public SearchResult call(ISearchByViewPort connector) {
+ return connector.searchByViewport(viewport, tokens);
}
});
}