aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/search/SuggestionProvider.java
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2014-06-01 14:58:43 +0200
committerBananeweizen <bananeweizen@gmx.de>2014-06-01 15:00:14 +0200
commitfc73a0edc9d7488660fdb34fefc9cc9f1c5a5d69 (patch)
tree4c2b8e6d21f43fad496b4d5a45f455dcb492997e /main/src/cgeo/geocaching/search/SuggestionProvider.java
parentced55f4138eb2c583142bf821e328a452ee0a717 (diff)
downloadcgeo-fc73a0edc9d7488660fdb34fefc9cc9f1c5a5d69.zip
cgeo-fc73a0edc9d7488660fdb34fefc9cc9f1c5a5d69.tar.gz
cgeo-fc73a0edc9d7488660fdb34fefc9cc9f1c5a5d69.tar.bz2
new: show recently opened caches in global search
Without any search term given, the search suggestions now contain the most recent caches. We should probably add a more explicit UI on the main screen for that, too, as discussed before.
Diffstat (limited to 'main/src/cgeo/geocaching/search/SuggestionProvider.java')
-rw-r--r--main/src/cgeo/geocaching/search/SuggestionProvider.java16
1 files changed, 11 insertions, 5 deletions
diff --git a/main/src/cgeo/geocaching/search/SuggestionProvider.java b/main/src/cgeo/geocaching/search/SuggestionProvider.java
index c0a7728..d8f95b6 100644
--- a/main/src/cgeo/geocaching/search/SuggestionProvider.java
+++ b/main/src/cgeo/geocaching/search/SuggestionProvider.java
@@ -1,6 +1,7 @@
package cgeo.geocaching.search;
import cgeo.geocaching.DataStore;
+import cgeo.geocaching.Geocache;
import org.apache.commons.lang3.StringUtils;
@@ -12,8 +13,6 @@ import android.net.Uri;
public class SuggestionProvider extends ContentProvider {
- private static Cursor lastCursor;
-
@Override
public boolean onCreate() {
return true;
@@ -29,14 +28,21 @@ public class SuggestionProvider extends ContentProvider {
final String searchTerm = uri.getLastPathSegment();
// can be empty when deleting the query
if (StringUtils.equals(searchTerm, SearchManager.SUGGEST_URI_PATH_QUERY)) {
- return lastCursor;
+ return getLastOpenedCaches();
}
return getSuggestions(searchTerm);
}
+ private static Cursor getLastOpenedCaches() {
+ final SearchSuggestionCursor resultCursor = new SearchSuggestionCursor();
+ for (final Geocache geocache : DataStore.getLastOpenedCaches()) {
+ resultCursor.addCache(geocache.getGeocode(), geocache.getName());
+ }
+ return resultCursor;
+ }
+
private static Cursor getSuggestions(final String searchTerm) {
- lastCursor = DataStore.findSuggestions(searchTerm);
- return lastCursor;
+ return DataStore.findSuggestions(searchTerm);
}
@Override