aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/SearchActivity.java17
-rw-r--r--main/src/cgeo/geocaching/cgData.java29
-rw-r--r--main/src/cgeo/geocaching/cgeoapplication.java4
3 files changed, 44 insertions, 6 deletions
diff --git a/main/src/cgeo/geocaching/SearchActivity.java b/main/src/cgeo/geocaching/SearchActivity.java
index 562d5c3..5f2bddc 100644
--- a/main/src/cgeo/geocaching/SearchActivity.java
+++ b/main/src/cgeo/geocaching/SearchActivity.java
@@ -154,11 +154,7 @@ public class SearchActivity extends AbstractActivity {
findByGeocodeFn();
}
});
- final String[] geocodesInCache = app.geocodesInCache();
- if (geocodesInCache != null) {
- final ArrayAdapter<String> geocodesAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, geocodesInCache);
- geocodeEdit.setAdapter(geocodesAdapter);
- }
+ addHistoryEntries(geocodeEdit, app.geocodesInCache());
final Button displayByGeocode = (Button) findViewById(R.id.display_geocode);
displayByGeocode.setOnClickListener(new findByGeocodeListener());
@@ -202,7 +198,7 @@ public class SearchActivity extends AbstractActivity {
}
});
- EditText trackable = (EditText) findViewById(R.id.trackable);
+ AutoCompleteTextView trackable = (AutoCompleteTextView) findViewById(R.id.trackable);
EditUtils.setActionListener(trackable, new Runnable() {
@Override
@@ -210,12 +206,21 @@ public class SearchActivity extends AbstractActivity {
findTrackableFn();
}
});
+ addHistoryEntries(trackable, app.getTrackableCodes());
+
disableSuggestions(trackable);
final Button displayTrackable = (Button) findViewById(R.id.display_trackable);
displayTrackable.setOnClickListener(new findTrackableListener());
}
+ private void addHistoryEntries(final AutoCompleteTextView textView, final String[] entries) {
+ if (entries != null) {
+ final ArrayAdapter<String> historyAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, entries);
+ textView.setAdapter(historyAdapter);
+ }
+ }
+
private final GeoDirHandler geoDirHandler = new GeoDirHandler() {
@Override
public void updateGeoData(final IGeoData geo) {
diff --git a/main/src/cgeo/geocaching/cgData.java b/main/src/cgeo/geocaching/cgData.java
index 5220f20..e2352b8 100644
--- a/main/src/cgeo/geocaching/cgData.java
+++ b/main/src/cgeo/geocaching/cgData.java
@@ -2968,4 +2968,33 @@ public class cgData {
}
}
+ public String[] getTrackableCodes() {
+ init();
+
+ final Cursor cursor = database.query(
+ dbTableTrackables,
+ new String[] { "tbcode" },
+ null,
+ null,
+ null,
+ null,
+ "updated DESC",
+ "100");
+
+ final ArrayList<String> list = new ArrayList<String>();
+ if (cursor != null) {
+ if (cursor.getCount() > 0) {
+ cursor.moveToFirst();
+
+ final int index = cursor.getColumnIndex("tbcode");
+ do {
+ list.add(cursor.getString(index));
+ } while (cursor.moveToNext());
+ }
+ cursor.close();
+ }
+
+ return list.toArray(new String[list.size()]);
+ }
+
}
diff --git a/main/src/cgeo/geocaching/cgeoapplication.java b/main/src/cgeo/geocaching/cgeoapplication.java
index 9c63555..8a2e984 100644
--- a/main/src/cgeo/geocaching/cgeoapplication.java
+++ b/main/src/cgeo/geocaching/cgeoapplication.java
@@ -482,4 +482,8 @@ public class cgeoapplication extends Application {
liveMapHintShown = true;
}
+ public String[] getTrackableCodes() {
+ return storage.getTrackableCodes();
+ }
+
}