aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2014-08-15 13:32:48 +0200
committerSamuel Tardieu <sam@rfc1149.net>2014-08-15 13:34:48 +0200
commit4ad1d9133fce97f11f7ea86b25549bb86b9bd668 (patch)
tree18c5abf5c64a8c71d9d29ecef9f895da354aed97 /main
parent31274d7e64ff6b16158a6f2ba2c4a3d6159b95b5 (diff)
downloadcgeo-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.java26
-rw-r--r--main/src/cgeo/geocaching/ui/logs/TrackableLogsViewCreator.java19
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());
+ }
+ });
+ }
}
}