diff options
Diffstat (limited to 'main/src/cgeo/geocaching/connector/oc/OkapiClient.java')
| -rw-r--r-- | main/src/cgeo/geocaching/connector/oc/OkapiClient.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/main/src/cgeo/geocaching/connector/oc/OkapiClient.java b/main/src/cgeo/geocaching/connector/oc/OkapiClient.java index 350b167..8d05e4b 100644 --- a/main/src/cgeo/geocaching/connector/oc/OkapiClient.java +++ b/main/src/cgeo/geocaching/connector/oc/OkapiClient.java @@ -171,6 +171,11 @@ final class OkapiClient { } private static List<Geocache> requestCaches(final OCApiConnector connector, final Parameters params, final Map<String, String> valueMap) { + // if a global type filter is set, and OKAPI does not know that type, then return an empty list instead of all caches + if (Settings.getCacheType() != CacheType.ALL && StringUtils.isBlank(getFilterFromType())) { + return Collections.emptyList(); + } + addFilterParams(valueMap, connector); params.add("search_params", new JSONObject(valueMap).toString()); addRetrieveParams(params, connector); @@ -658,7 +663,7 @@ final class OkapiClient { valueMap.put("found_status", "notfound_only"); } if (Settings.getCacheType() != CacheType.ALL) { - valueMap.put("type", getFilterFromType(Settings.getCacheType())); + valueMap.put("type", getFilterFromType()); } } @@ -668,8 +673,8 @@ final class OkapiClient { params.add("wrap", "true"); } - private static String getFilterFromType(final CacheType cacheType) { - switch (cacheType) { + private static String getFilterFromType() { + switch (Settings.getCacheType()) { case EVENT: return "Event"; case MULTI: |
