diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2014-06-01 14:58:43 +0200 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2014-06-01 15:00:14 +0200 |
| commit | fc73a0edc9d7488660fdb34fefc9cc9f1c5a5d69 (patch) | |
| tree | 4c2b8e6d21f43fad496b4d5a45f455dcb492997e /main/src/cgeo/geocaching/search/SuggestionProvider.java | |
| parent | ced55f4138eb2c583142bf821e328a452ee0a717 (diff) | |
| download | cgeo-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.java | 16 |
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 |
