diff options
Diffstat (limited to 'main/src/cgeo/geocaching/TrackableActivity.java')
| -rw-r--r-- | main/src/cgeo/geocaching/TrackableActivity.java | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/main/src/cgeo/geocaching/TrackableActivity.java b/main/src/cgeo/geocaching/TrackableActivity.java index a257b8e..6752344 100644 --- a/main/src/cgeo/geocaching/TrackableActivity.java +++ b/main/src/cgeo/geocaching/TrackableActivity.java @@ -1,7 +1,7 @@ package cgeo.geocaching; +import butterknife.ButterKnife; import butterknife.InjectView; -import butterknife.Views; import cgeo.geocaching.activity.AbstractActivity; import cgeo.geocaching.activity.AbstractViewPagerActivity; @@ -234,7 +234,7 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi @Override public void run() { if (StringUtils.isNotEmpty(geocode)) { - trackable = cgData.loadTrackable(geocode); + trackable = DataStore.loadTrackable(geocode); if (trackable == null || trackable.isLoggable()) { // iterate over the connectors as some codes may be handled by multiple connectors @@ -349,7 +349,7 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi @Override public ScrollView getDispatchedView() { view = (ScrollView) getLayoutInflater().inflate(R.layout.trackable_details_view, null); - Views.inject(this, view); + ButterKnife.inject(this, view); final CacheDetailsCreator details = new CacheDetailsCreator(TrackableActivity.this, detailsList); @@ -419,7 +419,16 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi spotted.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { - CacheDetailActivity.startActivityGuid(TrackableActivity.this, trackable.getSpottedGuid(), trackable.getSpottedName()); + 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); + } + } } }); } else if (Trackable.SPOTTED_USER == trackable.getSpottedType()) { |
