aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/connector/AbstractConnector.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/connector/AbstractConnector.java')
-rw-r--r--main/src/cgeo/geocaching/connector/AbstractConnector.java57
1 files changed, 55 insertions, 2 deletions
diff --git a/main/src/cgeo/geocaching/connector/AbstractConnector.java b/main/src/cgeo/geocaching/connector/AbstractConnector.java
index 28ad12b..b10366e 100644
--- a/main/src/cgeo/geocaching/connector/AbstractConnector.java
+++ b/main/src/cgeo/geocaching/connector/AbstractConnector.java
@@ -1,12 +1,16 @@
package cgeo.geocaching.connector;
import cgeo.geocaching.Geocache;
+import cgeo.geocaching.LogCacheActivity;
import cgeo.geocaching.R;
+import cgeo.geocaching.enumerations.CacheType;
+import cgeo.geocaching.enumerations.LogType;
import cgeo.geocaching.geopoint.Geopoint;
import org.apache.commons.lang3.StringUtils;
-import android.app.Activity;
+import java.util.ArrayList;
+import java.util.List;
public abstract class AbstractConnector implements IConnector {
@@ -79,7 +83,7 @@ public abstract class AbstractConnector implements IConnector {
}
@Override
- public ILoggingManager getLoggingManager(Activity activity, Geocache cache) {
+ public ILoggingManager getLoggingManager(final LogCacheActivity activity, final Geocache cache) {
return new NoLoggingManager();
}
@@ -147,4 +151,53 @@ public abstract class AbstractConnector implements IConnector {
}
return R.drawable.marker_other;
}
+
+ @Override
+ public List<LogType> getPossibleLogTypes(Geocache geocache) {
+ final List<LogType> logTypes = new ArrayList<LogType>();
+ if (geocache.isEventCache()) {
+ logTypes.add(LogType.WILL_ATTEND);
+ logTypes.add(LogType.ATTENDED);
+ if (geocache.isOwner()) {
+ logTypes.add(LogType.ANNOUNCEMENT);
+ }
+ } else if (CacheType.WEBCAM == geocache.getType()) {
+ logTypes.add(LogType.WEBCAM_PHOTO_TAKEN);
+ } else {
+ logTypes.add(LogType.FOUND_IT);
+ }
+ if (!geocache.isEventCache()) {
+ logTypes.add(LogType.DIDNT_FIND_IT);
+ }
+ logTypes.add(LogType.NOTE);
+ if (!geocache.isEventCache()) {
+ logTypes.add(LogType.NEEDS_MAINTENANCE);
+ }
+ if (geocache.isOwner()) {
+ logTypes.add(LogType.OWNER_MAINTENANCE);
+ if (geocache.isDisabled()) {
+ logTypes.add(LogType.ENABLE_LISTING);
+ }
+ else {
+ logTypes.add(LogType.TEMP_DISABLE_LISTING);
+ }
+ logTypes.add(LogType.ARCHIVE);
+ }
+ if (!geocache.isArchived() && !geocache.isOwner()) {
+ logTypes.add(LogType.NEEDS_ARCHIVE);
+ }
+ return logTypes;
+ }
+
+ @Override
+ public String getWaypointGpxId(String prefix, String geocode) {
+ // Default: just return the prefix
+ return prefix;
+ }
+
+ @Override
+ public String getWaypointPrefix(String name) {
+ // Default: just return the name
+ return name;
+ }
}