aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo
diff options
context:
space:
mode:
authorrsudev <rasch@munin-soft.de>2013-05-28 22:52:40 +0200
committerrsudev <rasch@munin-soft.de>2013-05-28 22:52:40 +0200
commita7de49db675048db5ae0c05ccd730a8579e6876e (patch)
treeff1a3eb5f58557e78ba884bbe9774ee5c4559e26 /main/src/cgeo
parentd93a286f8c1ac95439936f83ddddc3e60d7e4726 (diff)
downloadcgeo-a7de49db675048db5ae0c05ccd730a8579e6876e.zip
cgeo-a7de49db675048db5ae0c05ccd730a8579e6876e.tar.gz
cgeo-a7de49db675048db5ae0c05ccd730a8579e6876e.tar.bz2
Fixed issue with not loggable OC-caches
Diffstat (limited to 'main/src/cgeo')
-rw-r--r--main/src/cgeo/geocaching/Geocache.java2
-rw-r--r--main/src/cgeo/geocaching/connector/AbstractConnector.java5
-rw-r--r--main/src/cgeo/geocaching/connector/IConnector.java9
-rw-r--r--main/src/cgeo/geocaching/connector/gc/GCConnector.java5
-rw-r--r--main/src/cgeo/geocaching/connector/oc/OCApiLiveConnector.java4
5 files changed, 24 insertions, 1 deletions
diff --git a/main/src/cgeo/geocaching/Geocache.java b/main/src/cgeo/geocaching/Geocache.java
index e19d5e0..c96acc6 100644
--- a/main/src/cgeo/geocaching/Geocache.java
+++ b/main/src/cgeo/geocaching/Geocache.java
@@ -452,7 +452,7 @@ public class Geocache implements ICache, IWaypoint {
}
public void logVisit(final IAbstractActivity fromActivity) {
- if (StringUtils.isBlank(cacheId)) {
+ if (!getConnector().canLog(this)) {
fromActivity.showToast(((Activity) fromActivity).getResources().getString(R.string.err_cannot_log_visit));
return;
}
diff --git a/main/src/cgeo/geocaching/connector/AbstractConnector.java b/main/src/cgeo/geocaching/connector/AbstractConnector.java
index 7b85e49..905382f 100644
--- a/main/src/cgeo/geocaching/connector/AbstractConnector.java
+++ b/main/src/cgeo/geocaching/connector/AbstractConnector.java
@@ -71,6 +71,11 @@ public abstract class AbstractConnector implements IConnector {
}
@Override
+ public boolean canLog(Geocache cache) {
+ return false;
+ }
+
+ @Override
public ILoggingManager getLoggingManager(Activity activity, Geocache cache) {
return new NoLoggingManager();
}
diff --git a/main/src/cgeo/geocaching/connector/IConnector.java b/main/src/cgeo/geocaching/connector/IConnector.java
index 5d8edd9..011c507 100644
--- a/main/src/cgeo/geocaching/connector/IConnector.java
+++ b/main/src/cgeo/geocaching/connector/IConnector.java
@@ -191,4 +191,13 @@ public interface IConnector {
* @return <code>true</code> if the current user is the cache owner, <code>false</code> otherwise
*/
public boolean isOwner(final ICache cache);
+
+ /**
+ * Check if the cache information is complete enough to be
+ * able to log online.
+ *
+ * @param geocache
+ * @return
+ */
+ public boolean canLog(Geocache geocache);
}
diff --git a/main/src/cgeo/geocaching/connector/gc/GCConnector.java b/main/src/cgeo/geocaching/connector/gc/GCConnector.java
index b773f66..cfbf761 100644
--- a/main/src/cgeo/geocaching/connector/gc/GCConnector.java
+++ b/main/src/cgeo/geocaching/connector/gc/GCConnector.java
@@ -91,6 +91,11 @@ public class GCConnector extends AbstractConnector implements ISearchByGeocode,
}
@Override
+ public boolean canLog(Geocache cache) {
+ return StringUtils.isNotBlank(cache.getCacheId());
+ }
+
+ @Override
public String getName() {
return "GeoCaching.com";
}
diff --git a/main/src/cgeo/geocaching/connector/oc/OCApiLiveConnector.java b/main/src/cgeo/geocaching/connector/oc/OCApiLiveConnector.java
index a578aac..4e57831 100644
--- a/main/src/cgeo/geocaching/connector/oc/OCApiLiveConnector.java
+++ b/main/src/cgeo/geocaching/connector/oc/OCApiLiveConnector.java
@@ -75,4 +75,8 @@ public class OCApiLiveConnector extends OCApiConnector implements ISearchByCente
return new OkapiLoggingManager(activity, this, cache);
}
+ @Override
+ public boolean canLog(Geocache cache) {
+ return true;
+ }
}