aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/res/values/strings.xml2
-rw-r--r--main/src/cgeo/geocaching/VisitCacheActivity.java8
-rw-r--r--main/src/cgeo/geocaching/cgeocaches.java6
-rw-r--r--main/src/cgeo/geocaching/loaders/AbstractSearchLoader.java22
-rw-r--r--main/src/cgeo/geocaching/loaders/OfflineGeocacheListLoader.java12
-rw-r--r--main/src/cgeo/geocaching/utils/HtmlUtils.java2
6 files changed, 41 insertions, 11 deletions
diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml
index 8761ea4..13926c5 100644
--- a/main/res/values/strings.xml
+++ b/main/res/values/strings.xml
@@ -374,7 +374,7 @@
<string name="init_login_popup_working">Logging in…</string>
<string name="init_login_popup_ok">Login OK</string>
<string name="init_login_popup_failed">Login failed</string>
- <string name="init_login_popup_failed_reason">Login failed because of </string>
+ <string name="init_login_popup_failed_reason">Login failed:</string>
<string name="init_twitter_authorize">Authorize c:geo</string>
<string name="init_twitter_publish">Publish status when a cache has been found</string>
<string name="init_signature">Signature</string>
diff --git a/main/src/cgeo/geocaching/VisitCacheActivity.java b/main/src/cgeo/geocaching/VisitCacheActivity.java
index 25d36df..6f8ea92 100644
--- a/main/src/cgeo/geocaching/VisitCacheActivity.java
+++ b/main/src/cgeo/geocaching/VisitCacheActivity.java
@@ -419,9 +419,15 @@ public class VisitCacheActivity extends AbstractLoggingActivity implements DateD
}
@Override
+ public void finish() {
+ saveLog(false);
+ super.finish();
+ }
+
+ @Override
public void onStop() {
- super.onStop();
saveLog(false);
+ super.onStop();
}
@Override
diff --git a/main/src/cgeo/geocaching/cgeocaches.java b/main/src/cgeo/geocaching/cgeocaches.java
index d260a2d..c25005f 100644
--- a/main/src/cgeo/geocaching/cgeocaches.java
+++ b/main/src/cgeo/geocaching/cgeocaches.java
@@ -1467,10 +1467,13 @@ public class cgeocaches extends AbstractListActivity implements FilteredActivity
showFooterLoadingCaches();
cgData.moveToList(adapter.getCheckedCaches(), listId);
- currentLoader = (AbstractSearchLoader) getSupportLoaderManager().initLoader(CacheListType.OFFLINE.ordinal(), new Bundle(), this);
+ currentLoader = (OfflineGeocacheListLoader) getSupportLoaderManager().initLoader(CacheListType.OFFLINE.ordinal(), new Bundle(), this);
currentLoader.reset();
+ ((OfflineGeocacheListLoader) currentLoader).setListId(listId);
+ ((OfflineGeocacheListLoader) currentLoader).setSearchCenter(coords);
currentLoader.startLoading();
+
invalidateOptionsMenuCompatible();
}
@@ -1808,6 +1811,7 @@ public class cgeocaches extends AbstractListActivity implements FilteredActivity
cacheList.addAll(cachesFromSearchResult);
search = searchIn;
adapter.reFilter();
+ adapter.notifyDataSetChanged();
updateTitle();
showFooterMoreCaches();
}
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;
+ }
}
diff --git a/main/src/cgeo/geocaching/loaders/OfflineGeocacheListLoader.java b/main/src/cgeo/geocaching/loaders/OfflineGeocacheListLoader.java
index ef1029b..0081aa1 100644
--- a/main/src/cgeo/geocaching/loaders/OfflineGeocacheListLoader.java
+++ b/main/src/cgeo/geocaching/loaders/OfflineGeocacheListLoader.java
@@ -9,8 +9,8 @@ import android.content.Context;
public class OfflineGeocacheListLoader extends AbstractSearchLoader {
- private final int listId;
- private final Geopoint searchCenter;
+ private int listId;
+ private Geopoint searchCenter;
public OfflineGeocacheListLoader(Context context, Geopoint searchCenter, int listId) {
super(context);
@@ -23,4 +23,12 @@ public class OfflineGeocacheListLoader extends AbstractSearchLoader {
return cgData.getBatchOfStoredCaches(searchCenter, Settings.getCacheType(), listId);
}
+ public void setListId(int listId) {
+ this.listId = listId;
+ }
+
+ public void setSearchCenter(Geopoint searchCenter) {
+ this.searchCenter = searchCenter;
+ }
+
}
diff --git a/main/src/cgeo/geocaching/utils/HtmlUtils.java b/main/src/cgeo/geocaching/utils/HtmlUtils.java
index 30aa19b..07bf20f 100644
--- a/main/src/cgeo/geocaching/utils/HtmlUtils.java
+++ b/main/src/cgeo/geocaching/utils/HtmlUtils.java
@@ -67,7 +67,7 @@ public class HtmlUtils {
for (int i = 0; i < inputLen; i++) {
char c = input.charAt(i);
- if (c > 300) {
+ if (c > 127) {
output.append("&#");
output.append(Integer.toString(c));
output.append(';');