aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/export
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/export')
-rw-r--r--main/src/cgeo/geocaching/export/AbstractExport.java6
-rw-r--r--main/src/cgeo/geocaching/export/ExportFactory.java1
-rw-r--r--main/src/cgeo/geocaching/export/FieldnoteExport.java28
-rw-r--r--main/src/cgeo/geocaching/export/GpxExport.java6
-rw-r--r--main/src/cgeo/geocaching/export/GpxSerializer.java8
5 files changed, 25 insertions, 24 deletions
diff --git a/main/src/cgeo/geocaching/export/AbstractExport.java b/main/src/cgeo/geocaching/export/AbstractExport.java
index e4ba5f0..5d15ecb 100644
--- a/main/src/cgeo/geocaching/export/AbstractExport.java
+++ b/main/src/cgeo/geocaching/export/AbstractExport.java
@@ -1,7 +1,7 @@
package cgeo.geocaching.export;
+import cgeo.geocaching.CgeoApplication;
import cgeo.geocaching.R;
-import cgeo.geocaching.cgeoapplication;
abstract class AbstractExport implements Export {
private final String name;
@@ -23,7 +23,7 @@ abstract class AbstractExport implements Export {
* @return localized string
*/
protected static String getString(int resourceId) {
- return cgeoapplication.getInstance().getString(resourceId);
+ return CgeoApplication.getInstance().getString(resourceId);
}
/**
@@ -36,7 +36,7 @@ abstract class AbstractExport implements Export {
* @return localized string
*/
protected static String getString(int resourceId, Object... params) {
- return cgeoapplication.getInstance().getString(resourceId, params);
+ return CgeoApplication.getInstance().getString(resourceId, params);
}
@Override
diff --git a/main/src/cgeo/geocaching/export/ExportFactory.java b/main/src/cgeo/geocaching/export/ExportFactory.java
index a3ecb0c..e743eb2 100644
--- a/main/src/cgeo/geocaching/export/ExportFactory.java
+++ b/main/src/cgeo/geocaching/export/ExportFactory.java
@@ -56,6 +56,7 @@ public abstract class ExportFactory {
builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int item) {
+ dialog.dismiss();
final Export selectedExport = adapter.getItem(item);
selectedExport.export(caches, activity);
}
diff --git a/main/src/cgeo/geocaching/export/FieldnoteExport.java b/main/src/cgeo/geocaching/export/FieldnoteExport.java
index d0040a9..1ae97f3 100644
--- a/main/src/cgeo/geocaching/export/FieldnoteExport.java
+++ b/main/src/cgeo/geocaching/export/FieldnoteExport.java
@@ -1,9 +1,9 @@
package cgeo.geocaching.export;
+import cgeo.geocaching.DataStore;
import cgeo.geocaching.Geocache;
import cgeo.geocaching.LogEntry;
import cgeo.geocaching.R;
-import cgeo.geocaching.cgData;
import cgeo.geocaching.activity.ActivityMixin;
import cgeo.geocaching.connector.gc.Login;
import cgeo.geocaching.enumerations.StatusCode;
@@ -13,11 +13,12 @@ import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.ui.Formatter;
import cgeo.geocaching.utils.AsyncTaskWithProgress;
import cgeo.geocaching.utils.FileUtils;
-import cgeo.geocaching.utils.IOUtils;
import cgeo.geocaching.utils.Log;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.CharEncoding;
import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.FastDateFormat;
import android.app.Activity;
import android.app.AlertDialog;
@@ -42,7 +43,7 @@ import java.util.Locale;
import java.util.TimeZone;
/**
- * Exports offline-logs in the Groundspeak Field Note format.<br>
+ * Exports offline logs in the Groundspeak Field Note format.<br>
* <br>
*
* Field Notes are simple plain text files, but poorly documented. Syntax:<br>
@@ -50,10 +51,7 @@ import java.util.TimeZone;
*/
class FieldnoteExport extends AbstractExport {
private static final File exportLocation = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/field-notes");
- private static final SimpleDateFormat fieldNoteDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US);
- static {
- fieldNoteDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
- }
+ private static final FastDateFormat fieldNoteDateFormat = FastDateFormat.getInstance("yyyy-MM-dd'T'HH:mm:ss'Z'", TimeZone.getTimeZone("UTC"), Locale.US);
protected FieldnoteExport() {
super(getString(R.string.export_fieldnotes));
@@ -80,22 +78,24 @@ class FieldnoteExport extends AbstractExport {
builder.setView(layout);
final CheckBox uploadOption = (CheckBox) layout.findViewById(R.id.upload);
+ uploadOption.setChecked(Settings.getFieldNoteExportUpload());
final CheckBox onlyNewOption = (CheckBox) layout.findViewById(R.id.onlynew);
+ onlyNewOption.setChecked(Settings.getFieldNoteExportOnlyNew());
if (Settings.getFieldnoteExportDate() > 0) {
- onlyNewOption.setText(getString(R.string.export_fieldnotes_onlynew) + "\n(" + Formatter.formatShortDateTime(Settings.getFieldnoteExportDate()) + ')');
+ onlyNewOption.setText(getString(R.string.export_fieldnotes_onlynew) + " (" + Formatter.formatDateTime(Settings.getFieldnoteExportDate()) + ')');
}
builder.setPositiveButton(R.string.export, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
+ final boolean upload = uploadOption.isChecked();
+ final boolean onlyNew = onlyNewOption.isChecked();
+ Settings.setFieldNoteExportUpload(upload);
+ Settings.setFieldNoteExportOnlyNew(onlyNew);
dialog.dismiss();
- new ExportTask(
- activity,
- uploadOption.isChecked(),
- onlyNewOption.isChecked())
- .execute(caches);
+ new ExportTask(activity, upload, onlyNew).execute(caches);
}
});
@@ -134,7 +134,7 @@ class FieldnoteExport extends AbstractExport {
int i = 0;
for (final Geocache cache : caches) {
if (cache.isLogOffline()) {
- final LogEntry log = cgData.loadLogOffline(cache.getGeocode());
+ final LogEntry log = DataStore.loadLogOffline(cache.getGeocode());
if (!onlyNew || log.date > Settings.getFieldnoteExportDate()) {
appendFieldNote(fieldNoteBuffer, cache, log);
}
diff --git a/main/src/cgeo/geocaching/export/GpxExport.java b/main/src/cgeo/geocaching/export/GpxExport.java
index 821a3f6..a2e0f93 100644
--- a/main/src/cgeo/geocaching/export/GpxExport.java
+++ b/main/src/cgeo/geocaching/export/GpxExport.java
@@ -2,7 +2,7 @@ package cgeo.geocaching.export;
import cgeo.geocaching.Geocache;
import cgeo.geocaching.R;
-import cgeo.geocaching.cgeoapplication;
+import cgeo.geocaching.CgeoApplication;
import cgeo.geocaching.activity.ActivityMixin;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.utils.AsyncTaskWithProgress;
@@ -125,7 +125,7 @@ class GpxExport extends AbstractExport {
final List<String> allGeocodes = new ArrayList<String>(Arrays.asList(geocodes));
- setMessage(cgeoapplication.getInstance().getResources().getQuantityString(R.plurals.cache_counts, allGeocodes.size(), allGeocodes.size()));
+ setMessage(CgeoApplication.getInstance().getResources().getQuantityString(R.plurals.cache_counts, allGeocodes.size(), allGeocodes.size()));
final File exportFile = getExportFile();
BufferedWriter writer = null;
@@ -141,7 +141,7 @@ class GpxExport extends AbstractExport {
ExportTask.this.publishProgress(countExported);
}
});
- } catch (final Exception e) {
+ } catch (final IOException e) {
Log.e("GpxExport.ExportTask export", e);
if (writer != null) {
diff --git a/main/src/cgeo/geocaching/export/GpxSerializer.java b/main/src/cgeo/geocaching/export/GpxSerializer.java
index 1e39be4..da179da 100644
--- a/main/src/cgeo/geocaching/export/GpxSerializer.java
+++ b/main/src/cgeo/geocaching/export/GpxSerializer.java
@@ -1,9 +1,9 @@
package cgeo.geocaching.export;
+import cgeo.geocaching.DataStore;
import cgeo.geocaching.Geocache;
import cgeo.geocaching.LogEntry;
import cgeo.geocaching.Waypoint;
-import cgeo.geocaching.cgData;
import cgeo.geocaching.enumerations.CacheAttribute;
import cgeo.geocaching.enumerations.LoadFlags;
import cgeo.geocaching.geopoint.Geopoint;
@@ -13,11 +13,11 @@ import cgeo.org.kxml2.io.KXmlSerializer;
import org.apache.commons.lang3.CharEncoding;
import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.FastDateFormat;
import org.xmlpull.v1.XmlSerializer;
import java.io.IOException;
import java.io.Writer;
-import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
@@ -27,7 +27,7 @@ import java.util.Set;
public final class GpxSerializer {
- private static final SimpleDateFormat dateFormatZ = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US);
+ private static final FastDateFormat dateFormatZ = FastDateFormat.getInstance("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US);
public static final String PREFIX_XSI = "http://www.w3.org/2001/XMLSchema-instance";
public static final String PREFIX_GPX = "http://www.topografix.com/GPX/1/0";
public static final String PREFIX_GROUNDSPEAK = "http://www.groundspeak.com/cache/1/0";
@@ -81,7 +81,7 @@ public final class GpxSerializer {
}
private void exportBatch(final XmlSerializer gpx, Collection<String> geocodesOfBatch) throws IOException {
- final Set<Geocache> caches = cgData.loadCaches(geocodesOfBatch, LoadFlags.LOAD_ALL_DB_ONLY);
+ final Set<Geocache> caches = DataStore.loadCaches(geocodesOfBatch, LoadFlags.LOAD_ALL_DB_ONLY);
for (final Geocache cache : caches) {
gpx.startTag(PREFIX_GPX, "wpt");
gpx.attribute("", "lat", Double.toString(cache.getCoords().getLatitude()));