aboutsummaryrefslogtreecommitdiffstats
path: root/src/cgeo/geocaching/cgCache.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cgeo/geocaching/cgCache.java')
-rw-r--r--src/cgeo/geocaching/cgCache.java37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/cgeo/geocaching/cgCache.java b/src/cgeo/geocaching/cgCache.java
index 06adbb1..f69f286 100644
--- a/src/cgeo/geocaching/cgCache.java
+++ b/src/cgeo/geocaching/cgCache.java
@@ -1,13 +1,18 @@
package cgeo.geocaching;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import android.app.Activity;
+import android.content.Intent;
+import android.content.res.Resources;
import android.text.Spannable;
import android.util.Log;
+import cgeo.geocaching.activity.IAbstractActivity;
public class cgCache {
@@ -270,5 +275,37 @@ public class cgCache {
return (type.equalsIgnoreCase("event") || type.equalsIgnoreCase("mega") || type.equalsIgnoreCase("cito"));
}
+ public boolean logVisit(IAbstractActivity fromActivity) {
+ if (cacheid == null || cacheid.length() == 0) {
+ fromActivity.showToast(((Activity)fromActivity).getResources().getString(R.string.err_cannot_log_visit));
+ return true;
+ }
+ if (fromActivity.getSettings().getLogOffline()) {
+ logOffline(fromActivity, "", Calendar.getInstance());
+ return true;
+ }
+
+ Intent logVisitIntent = new Intent((Activity)fromActivity, cgeovisit.class);
+ logVisitIntent.putExtra(cgeovisit.EXTRAS_ID, cacheid);
+ logVisitIntent.putExtra(cgeovisit.EXTRAS_GEOCODE, geocode.toUpperCase());
+ logVisitIntent.putExtra(cgeovisit.EXTRAS_FOUND, found);
+
+ ((Activity)fromActivity).startActivity(logVisitIntent);
+
+ return true;
+ }
+
+ void logOffline(final IAbstractActivity fromActivity, final String log, Calendar date) {
+ cgeoapplication app = (cgeoapplication)((Activity)fromActivity).getApplication();
+ final boolean status = app.saveLogOffline(geocode, date.getTime(), cgBase.LOG_FOUND_IT, log);
+
+ Resources res = ((Activity)fromActivity).getResources();
+ if (status) {
+ fromActivity.showToast(res.getString(R.string.info_log_saved));
+ app.saveVisitDate(geocode);
+ } else {
+ fromActivity.showToast(res.getString(R.string.err_log_post_failed));
+ }
+ }
}