aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/loaders
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2013-01-08 16:49:27 +0100
committerSamuel Tardieu <sam@rfc1149.net>2013-01-08 22:29:47 +0100
commit6ff084480d0f8f1a333549068ffe8a7aad08f32c (patch)
treeadb6e35c7dd761100e6a1429b19b89f1e367a153 /main/src/cgeo/geocaching/loaders
parent3f2106d525de0ab38fa5c50c7c44cddc84478b37 (diff)
downloadcgeo-6ff084480d0f8f1a333549068ffe8a7aad08f32c.zip
cgeo-6ff084480d0f8f1a333549068ffe8a7aad08f32c.tar.gz
cgeo-6ff084480d0f8f1a333549068ffe8a7aad08f32c.tar.bz2
Use FragmentActivity instead of Activity as base
Also, this requires the use of a Loader to visit a cache, since data cannot be retained accross a configuration change.
Diffstat (limited to 'main/src/cgeo/geocaching/loaders')
-rw-r--r--main/src/cgeo/geocaching/loaders/UrlLoader.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/loaders/UrlLoader.java b/main/src/cgeo/geocaching/loaders/UrlLoader.java
new file mode 100644
index 0000000..abafd5f
--- /dev/null
+++ b/main/src/cgeo/geocaching/loaders/UrlLoader.java
@@ -0,0 +1,35 @@
+package cgeo.geocaching.loaders;
+
+import cgeo.geocaching.network.Network;
+import cgeo.geocaching.network.Parameters;
+import cgeo.geocaching.utils.Log;
+
+import android.content.Context;
+import android.support.v4.content.AsyncTaskLoader;
+
+public class UrlLoader extends AsyncTaskLoader<String> {
+
+ final private String url;
+ final private Parameters params;
+
+ public UrlLoader(final Context context, final String url, final Parameters params) {
+ super(context);
+ this.url = url;
+ this.params = params;
+ }
+
+ @Override
+ protected void onStartLoading() {
+ forceLoad();
+ }
+
+ @Override
+ public String loadInBackground() {
+ try {
+ return Network.getResponseData(Network.getRequest(url, params));
+ } catch (final Exception e) {
+ Log.w("cgeovisit.UrlLoader.loadInBackground", e);
+ return null;
+ }
+ }
+}