aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/search/SuggestionProvider.java
diff options
context:
space:
mode:
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