aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/loaders/AbstractSearchLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/loaders/AbstractSearchLoader.java')
-rw-r--r--main/src/cgeo/geocaching/loaders/AbstractSearchLoader.java22
1 files changed, 17 insertions, 5 deletions
diff --git a/main/src/cgeo/geocaching/loaders/AbstractSearchLoader.java b/main/src/cgeo/geocaching/loaders/AbstractSearchLoader.java
index 4214db9..eb96fa6 100644
--- a/main/src/cgeo/geocaching/loaders/AbstractSearchLoader.java
+++ b/main/src/cgeo/geocaching/loaders/AbstractSearchLoader.java
@@ -43,13 +43,20 @@ public abstract class AbstractSearchLoader extends AsyncTaskLoader<SearchResult>
@Override
public SearchResult loadInBackground() {
loading = true;
- if (search == null) {
- search = runSearch();
- } else {
- // Unless we make a new Search the Loader framework won't deliver results. It does't do equals only identity
- search = GCParser.searchByNextPage(new SearchResult(search), Settings.isShowCaptcha(), this);
+ try {
+ if (search == null) {
+ search = runSearch();
+ } else {
+ // Unless we make a new Search the Loader framework won't deliver results. It does't do equals only identity
+ search = GCParser.searchByNextPage(new SearchResult(search), Settings.isShowCaptcha(), this);
+ }
+ } catch (Exception e) {
+ Log.e("Error in Loader ", e);
}
loading = false;
+ if (search == null) {
+ search = new SearchResult();
+ }
return search;
}
@@ -106,4 +113,9 @@ public abstract class AbstractSearchLoader extends AsyncTaskLoader<SearchResult>
}
+ @Override
+ public void reset() {
+ super.reset();
+ search = null;
+ }
}