diff options
Diffstat (limited to 'main/src/cgeo/geocaching/export')
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())); |
