package cgeo.geocaching.loaders; import cgeo.geocaching.SearchResult; import cgeo.geocaching.connector.ConnectorFactory; import cgeo.geocaching.connector.capability.ISearchByKeyword; import android.app.Activity; import android.support.annotation.NonNull; import io.reactivex.functions.Function; public class KeywordGeocacheListLoader extends AbstractSearchLoader { @NonNull private final String keyword; public KeywordGeocacheListLoader(final Activity activity, @NonNull final String keyword) { super(activity); this.keyword = keyword; } @Override public SearchResult runSearch() { return nonEmptyCombineActive(ConnectorFactory.getSearchByKeywordConnectors(), new Function<ISearchByKeyword, SearchResult>() { @Override public SearchResult apply(final ISearchByKeyword connector) { return connector.searchByKeyword(keyword); } }); } }