diff options
| author | rsudev <rasch@munin-soft.de> | 2013-05-26 17:44:10 +0200 |
|---|---|---|
| committer | rsudev <rasch@munin-soft.de> | 2013-05-26 17:44:10 +0200 |
| commit | 8e2ec9dd830d9c5c370ae8aa77163c22364e47e0 (patch) | |
| tree | 2ed070f00896c636867b01f0c5dadf78ac2a828f /main/src/cgeo/geocaching/connector/oc/OkapiLoggingManager.java | |
| parent | ea5cfa107123deaf358bf75a7cf8835fc95acc8f (diff) | |
| download | cgeo-8e2ec9dd830d9c5c370ae8aa77163c22364e47e0.zip cgeo-8e2ec9dd830d9c5c370ae8aa77163c22364e47e0.tar.gz cgeo-8e2ec9dd830d9c5c370ae8aa77163c22364e47e0.tar.bz2 | |
Implements OKAPI access for oc.de
Enable OKAPI for opencaching.de
Enhance OKAPI to allow nearby and livemap searches
Enhance OKAPI to allow posting logs and watchlist changes
Diffstat (limited to 'main/src/cgeo/geocaching/connector/oc/OkapiLoggingManager.java')
| -rw-r--r-- | main/src/cgeo/geocaching/connector/oc/OkapiLoggingManager.java | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/connector/oc/OkapiLoggingManager.java b/main/src/cgeo/geocaching/connector/oc/OkapiLoggingManager.java new file mode 100644 index 0000000..24c6b79 --- /dev/null +++ b/main/src/cgeo/geocaching/connector/oc/OkapiLoggingManager.java @@ -0,0 +1,69 @@ +package cgeo.geocaching.connector.oc; + +import cgeo.geocaching.Geocache; +import cgeo.geocaching.TrackableLog; +import cgeo.geocaching.VisitCacheActivity; +import cgeo.geocaching.connector.IConnector; +import cgeo.geocaching.connector.ILoggingManager; +import cgeo.geocaching.connector.ImageResult; +import cgeo.geocaching.connector.LogResult; +import cgeo.geocaching.enumerations.LogType; +import cgeo.geocaching.enumerations.StatusCode; + +import android.app.Activity; +import android.net.Uri; + +import java.util.Arrays; +import java.util.Calendar; +import java.util.Collections; +import java.util.List; + +public class OkapiLoggingManager implements ILoggingManager { + + private final IConnector connector; + private final Geocache cache; + private VisitCacheActivity activity; + + private final static List<LogType> standardLogTypes = Arrays.asList(LogType.FOUND_IT, LogType.DIDNT_FIND_IT, LogType.NOTE, LogType.NEEDS_MAINTENANCE); + private final static List<LogType> eventLogTypes = Arrays.asList(LogType.WILL_ATTEND, LogType.ATTENDED, LogType.NOTE); + + public OkapiLoggingManager(Activity activity, IConnector connector, Geocache cache) { + this.connector = connector; + this.cache = cache; + this.activity = (VisitCacheActivity) activity; + } + + @Override + public void init() { + activity.onLoadFinished(); + } + + @Override + public LogResult postLog(Geocache cache, LogType logType, Calendar date, String log, List<TrackableLog> trackableLogs) { + return OkapiClient.postLog(cache, logType, date, log, connector); + } + + @Override + public ImageResult postLogImage(String logId, String imageCaption, String imageDescription, Uri imageUri) { + return new ImageResult(StatusCode.LOG_POST_ERROR, ""); + } + + @Override + public boolean hasLoaderError() { + return false; + } + + @Override + public List<TrackableLog> getTrackables() { + return Collections.emptyList(); + } + + @Override + public List<LogType> getPossibleLogTypes() { + if (cache.isEventCache()) { + return eventLogTypes; + } + + return standardLogTypes; + } +} |
