aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/loaders/CoordsGeocacheListLoader.java
diff options
context:
space:
mode:
authorPortree-Kid <keith.paterson@gmx.de>2013-03-08 15:06:41 +0100
committerPortree-Kid <keith.paterson@gmx.de>2013-03-08 15:06:41 +0100
commita0932683fdf840fd97464e93a4597fac5c93a731 (patch)
treea0e27bbad9012436d378da27f3e2b052a0edb2f3 /main/src/cgeo/geocaching/loaders/CoordsGeocacheListLoader.java
parentcfb16fb725c069f59d545a50ba40045320a55c2c (diff)
downloadcgeo-a0932683fdf840fd97464e93a4597fac5c93a731.zip
cgeo-a0932683fdf840fd97464e93a4597fac5c93a731.tar.gz
cgeo-a0932683fdf840fd97464e93a4597fac5c93a731.tar.bz2
Refactoring to use Loaders fixes #2365
Diffstat (limited to 'main/src/cgeo/geocaching/loaders/CoordsGeocacheListLoader.java')
-rw-r--r--main/src/cgeo/geocaching/loaders/CoordsGeocacheListLoader.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/loaders/CoordsGeocacheListLoader.java b/main/src/cgeo/geocaching/loaders/CoordsGeocacheListLoader.java
new file mode 100644
index 0000000..2f76d49
--- /dev/null
+++ b/main/src/cgeo/geocaching/loaders/CoordsGeocacheListLoader.java
@@ -0,0 +1,36 @@
+package cgeo.geocaching.loaders;
+
+import cgeo.geocaching.SearchResult;
+import cgeo.geocaching.Settings;
+import cgeo.geocaching.connector.ConnectorFactory;
+import cgeo.geocaching.connector.capability.ISearchByCenter;
+import cgeo.geocaching.connector.gc.GCParser;
+import cgeo.geocaching.geopoint.Geopoint;
+
+import android.content.Context;
+
+public class CoordsGeocacheListLoader extends AbstractSearchLoader {
+ private Geopoint coords;
+
+ public CoordsGeocacheListLoader(Context context, Geopoint coords) {
+ super(context);
+ this.coords = coords;
+ }
+
+ @Override
+ public SearchResult runSearch() {
+ SearchResult search = GCParser.searchByCoords(coords, Settings.getCacheType(), Settings.isShowCaptcha(), this);
+
+ for (ISearchByCenter centerConn : ConnectorFactory.getSearchByCenterConnectors()) {
+ if (centerConn.isActivated()) {
+ SearchResult temp = centerConn.searchByCenter(coords);
+ if (temp != null) {
+ search.addGeocodes(temp.getGeocodes());
+ }
+ }
+ }
+
+ return search;
+ }
+
+}