diff options
Diffstat (limited to 'main/src/cgeo/geocaching/export')
| -rw-r--r-- | main/src/cgeo/geocaching/export/ExportFactory.java | 67 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/export/FieldnoteExport.java | 8 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/export/GpxExport.java | 10 |
3 files changed, 9 insertions, 76 deletions
diff --git a/main/src/cgeo/geocaching/export/ExportFactory.java b/main/src/cgeo/geocaching/export/ExportFactory.java deleted file mode 100644 index e743eb2..0000000 --- a/main/src/cgeo/geocaching/export/ExportFactory.java +++ /dev/null @@ -1,67 +0,0 @@ -package cgeo.geocaching.export; - -import cgeo.geocaching.Geocache; -import cgeo.geocaching.R; -import cgeo.geocaching.utils.Log; - -import android.app.Activity; -import android.app.AlertDialog; -import android.content.DialogInterface; -import android.widget.ArrayAdapter; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -/** - * Factory to create a dialog with all available exporters. - */ -public abstract class ExportFactory { - - /** - * Contains instances of all available exporter classes. - */ - private static final List<Class<? extends Export>> exporterClasses; - - static { - final ArrayList<Class<? extends Export>> temp = new ArrayList<Class<? extends Export>>(); - temp.add(FieldnoteExport.class); - temp.add(GpxExport.class); - exporterClasses = Collections.unmodifiableList(temp); - } - - /** - * Creates a dialog so that the user can select an exporter. - * - * @param caches - * The {@link List} of {@link cgeo.geocaching.Geocache} to be exported - * @param activity - * The {@link Activity} in whose context the dialog should be shown - */ - public static void showExportMenu(final List<Geocache> caches, final Activity activity) { - final AlertDialog.Builder builder = new AlertDialog.Builder(activity); - builder.setTitle(R.string.export).setIcon(R.drawable.ic_menu_share); - - final ArrayList<Export> export = new ArrayList<Export>(); - for (Class<? extends Export> exporterClass : exporterClasses) { - try { - export.add(exporterClass.newInstance()); - } catch (Exception ex) { - Log.e("showExportMenu", ex); - } - } - - final ArrayAdapter<Export> adapter = new ArrayAdapter<Export>(activity, android.R.layout.select_dialog_item, export); - - 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); - } - }); - - builder.create().show(); - } -}
\ No newline at end of file diff --git a/main/src/cgeo/geocaching/export/FieldnoteExport.java b/main/src/cgeo/geocaching/export/FieldnoteExport.java index 7d3e07e..dd3c8a1 100644 --- a/main/src/cgeo/geocaching/export/FieldnoteExport.java +++ b/main/src/cgeo/geocaching/export/FieldnoteExport.java @@ -29,11 +29,11 @@ import java.util.List; * Exports offline logs in the Groundspeak Field Note format. * */ -class FieldnoteExport extends AbstractExport { +public class FieldnoteExport extends AbstractExport { private static final File exportLocation = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/field-notes"); private static int fieldNotesCount = 0; - protected FieldnoteExport() { + public FieldnoteExport() { super(getString(R.string.export_fieldnotes)); } @@ -110,7 +110,7 @@ class FieldnoteExport extends AbstractExport { @Override protected Boolean doInBackgroundInternal(final Geocache[] caches) { // export field notes separately for each connector, so the file can be uploaded to the respective site afterwards - for (IConnector connector : ConnectorFactory.getConnectors()) { + for (final IConnector connector : ConnectorFactory.getConnectors()) { if (connector instanceof FieldNotesCapability) { exportFieldNotes((FieldNotesCapability) connector, caches); } @@ -118,7 +118,7 @@ class FieldnoteExport extends AbstractExport { return true; } - private boolean exportFieldNotes(final FieldNotesCapability connector, Geocache[] caches) { + private boolean exportFieldNotes(final FieldNotesCapability connector, final Geocache[] caches) { final FieldNotes fieldNotes = new FieldNotes(); try { int i = 0; diff --git a/main/src/cgeo/geocaching/export/GpxExport.java b/main/src/cgeo/geocaching/export/GpxExport.java index 39f4bcf..5ca5179 100644 --- a/main/src/cgeo/geocaching/export/GpxExport.java +++ b/main/src/cgeo/geocaching/export/GpxExport.java @@ -34,9 +34,9 @@ import java.util.Date; import java.util.List; import java.util.Locale; -class GpxExport extends AbstractExport { +public class GpxExport extends AbstractExport { - protected GpxExport() { + public GpxExport() { super(getString(R.string.export_gpx)); } @@ -70,7 +70,7 @@ class GpxExport extends AbstractExport { shareOption.setOnClickListener(new View.OnClickListener() { @Override - public void onClick(View v) { + public void onClick(final View v) { Settings.setShareAfterExport(shareOption.isChecked()); } }); @@ -78,7 +78,7 @@ class GpxExport extends AbstractExport { builder.setPositiveButton(R.string.export, new DialogInterface.OnClickListener() { @Override - public void onClick(DialogInterface dialog, int which) { + public void onClick(final DialogInterface dialog, final int which) { dialog.dismiss(); new ExportTask(activity).execute(geocodes); } @@ -116,7 +116,7 @@ class GpxExport extends AbstractExport { } @Override - protected File doInBackgroundInternal(String[] geocodes) { + protected File doInBackgroundInternal(final String[] geocodes) { // quick check for being able to write the GPX file if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { return null; |
