diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2014-08-15 13:32:48 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2014-08-15 13:34:48 +0200 |
| commit | 4ad1d9133fce97f11f7ea86b25549bb86b9bd668 (patch) | |
| tree | 18c5abf5c64a8c71d9d29ecef9f895da354aed97 /main | |
| parent | 31274d7e64ff6b16158a6f2ba2c4a3d6159b95b5 (diff) | |
| download | cgeo-4ad1d9133fce97f11f7ea86b25549bb86b9bd668.zip cgeo-4ad1d9133fce97f11f7ea86b25549bb86b9bd668.tar.gz cgeo-4ad1d9133fce97f11f7ea86b25549bb86b9bd668.tar.bz2 | |
#4179: only open a cache whose geocode is available
Diffstat (limited to 'main')
| -rw-r--r-- | main/src/cgeo/geocaching/TrackableActivity.java | 26 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/ui/logs/TrackableLogsViewCreator.java | 19 |
2 files changed, 24 insertions, 21 deletions
diff --git a/main/src/cgeo/geocaching/TrackableActivity.java b/main/src/cgeo/geocaching/TrackableActivity.java index eacbc75..dadc37f 100644 --- a/main/src/cgeo/geocaching/TrackableActivity.java +++ b/main/src/cgeo/geocaching/TrackableActivity.java @@ -442,21 +442,21 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi final TextView spotted = details.add(R.string.trackable_spotted, text.toString()); spotted.setClickable(true); if (Trackable.SPOTTED_CACHE == trackable.getSpottedType()) { - spotted.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(final View arg0) { - if (StringUtils.isNotBlank(trackable.getSpottedGuid())) { - CacheDetailActivity.startActivityGuid(TrackableActivity.this, trackable.getSpottedGuid(), trackable.getSpottedName()); - } - else { - // for geokrety we only know the cache geocode - final String cacheCode = trackable.getSpottedName(); - if (ConnectorFactory.canHandle(cacheCode)) { - CacheDetailActivity.startActivity(TrackableActivity.this, cacheCode); + spotted.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(final View arg0) { + final String cacheGeocode = DataStore.getGeocodeForGuid(trackable.getSpottedGuid()); + if (StringUtils.isNotBlank(cacheGeocode)) { + CacheDetailActivity.startActivity(TrackableActivity.this, cacheGeocode, trackable.getSpottedName()); + } else { + // for geokrety we only know the cache geocode + final String cacheCode = trackable.getSpottedName(); + if (ConnectorFactory.canHandle(cacheCode)) { + CacheDetailActivity.startActivity(TrackableActivity.this, cacheCode); + } } } - } - }); + }); } else if (Trackable.SPOTTED_USER == trackable.getSpottedType()) { spotted.setOnClickListener(new UserNameClickListener(trackable, Html.fromHtml(trackable.getSpottedName()).toString())); } else if (Trackable.SPOTTED_OWNER == trackable.getSpottedType()) { diff --git a/main/src/cgeo/geocaching/ui/logs/TrackableLogsViewCreator.java b/main/src/cgeo/geocaching/ui/logs/TrackableLogsViewCreator.java index 24c8871..ecb6469 100644 --- a/main/src/cgeo/geocaching/ui/logs/TrackableLogsViewCreator.java +++ b/main/src/cgeo/geocaching/ui/logs/TrackableLogsViewCreator.java @@ -1,6 +1,7 @@ package cgeo.geocaching.ui.logs; import cgeo.geocaching.CacheDetailActivity; +import cgeo.geocaching.DataStore; import cgeo.geocaching.LogEntry; import cgeo.geocaching.Trackable; import cgeo.geocaching.TrackableActivity; @@ -49,14 +50,16 @@ public class TrackableLogsViewCreator extends LogsViewCreator { holder.countOrLocation.setVisibility(View.GONE); } else { holder.countOrLocation.setText(Html.fromHtml(log.cacheName)); - final String cacheGuid = log.cacheGuid; - final String cacheName = log.cacheName; - holder.countOrLocation.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(final View arg0) { - CacheDetailActivity.startActivityGuid(activity, cacheGuid, Html.fromHtml(cacheName).toString()); - } - }); + final String cacheCode = DataStore.getGeocodeForGuid(log.cacheGuid); + if (cacheCode != null) { + final String cacheName = log.cacheName; + holder.countOrLocation.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(final View arg0) { + CacheDetailActivity.startActivity(activity, cacheCode, Html.fromHtml(cacheName).toString()); + } + }); + } } } |
