diff options
| -rw-r--r-- | main/res/values/strings.xml | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/VisitCacheActivity.java | 8 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeocaches.java | 6 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/loaders/AbstractSearchLoader.java | 22 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/loaders/OfflineGeocacheListLoader.java | 12 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/utils/HtmlUtils.java | 2 |
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(';'); |
