diff options
| author | Bananeweizen <Bananeweizen@gmx.de> | 2012-10-01 22:49:52 -0700 |
|---|---|---|
| committer | Bananeweizen <Bananeweizen@gmx.de> | 2012-10-01 22:49:52 -0700 |
| commit | ecfa8a40228087df7bf1f69bc479447a191f6083 (patch) | |
| tree | c5c60dcfba0001a05c091b7ea1b5de065d7c42fe | |
| parent | 1b66bcd3cd640dae12cb1a523517f086c22ffbc2 (diff) | |
| parent | 760a91b383d7e40f1990c8ba82b65d5d42cea179 (diff) | |
| download | cgeo-ecfa8a40228087df7bf1f69bc479447a191f6083.zip cgeo-ecfa8a40228087df7bf1f69bc479447a191f6083.tar.gz cgeo-ecfa8a40228087df7bf1f69bc479447a191f6083.tar.bz2 | |
Merge pull request #2031 from pilhuhn/origin/refs/heads/static_map_crash
Prevent a NPE if cache and waypoint are null.
| -rw-r--r-- | main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java b/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java index 7530422..f27b53c 100644 --- a/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java +++ b/main/src/cgeo/geocaching/apps/cache/navi/AbstractStaticMapsApp.java @@ -30,6 +30,8 @@ abstract class AbstractStaticMapsApp extends AbstractApp implements CacheNavigat } protected static boolean hasStaticMap(cgWaypoint waypoint) { + if (waypoint==null) + return false; String geocode = waypoint.getGeocode(); int id = waypoint.getId(); if (StringUtils.isNotEmpty(geocode) && cgeoapplication.getInstance().isOffline(geocode, null)) { @@ -40,11 +42,12 @@ abstract class AbstractStaticMapsApp extends AbstractApp implements CacheNavigat protected static boolean invokeStaticMaps(final Activity activity, final cgCache cache, final cgWaypoint waypoint, final boolean download) { final ILogable logable = cache != null && cache.getListId() != 0 ? cache : waypoint; - final String geocode = StringUtils.upperCase(logable.getGeocode()); - if (geocode == null) { + // If the cache is not stored for offline, cache seems to be null and waypoint may be null too + if (logable==null || logable.getGeocode()==null ) { ActivityMixin.showToast(activity, getString(R.string.err_detail_no_map_static)); return true; } + final String geocode = StringUtils.upperCase(logable.getGeocode()); StaticMapsActivity.startActivity(activity, geocode, download, waypoint); return true; |
