Removed KMZ export without photos.

This commit is contained in:
Dennis Guse
2025-12-06 09:03:03 +01:00
parent 2f90784442
commit f4073ead63
5 changed files with 9 additions and 39 deletions
@@ -52,7 +52,6 @@ public class ShareContentProvider extends CustomContentProvider {
private static final int URI_GPX = 0; private static final int URI_GPX = 0;
private static final int URI_KML_WITH_TRACKDETAIL_SENSORDATA = 3; private static final int URI_KML_WITH_TRACKDETAIL_SENSORDATA = 3;
private static final int URI_KMZ_WITH_TRACKDETAIL_AND_SENSORDATA = 6;
private static final int URI_KMZ_WITH_TRACKDETAIL_SENSORDATA_AND_PICTURES = 7; private static final int URI_KMZ_WITH_TRACKDETAIL_SENSORDATA_AND_PICTURES = 7;
private static final int URI_CSV = 8; private static final int URI_CSV = 8;
@@ -64,7 +63,6 @@ public class ShareContentProvider extends CustomContentProvider {
uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, TracksColumns.TABLE_NAME + "/" + TrackFileFormat.KML_WITH_TRACKDETAIL_AND_SENSORDATA.getPreferenceId() + "/*/*", URI_KML_WITH_TRACKDETAIL_SENSORDATA); uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, TracksColumns.TABLE_NAME + "/" + TrackFileFormat.KML_WITH_TRACKDETAIL_AND_SENSORDATA.getPreferenceId() + "/*/*", URI_KML_WITH_TRACKDETAIL_SENSORDATA);
uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, TracksColumns.TABLE_NAME + "/" + TrackFileFormat.KMZ_WITH_TRACKDETAIL_AND_SENSORDATA.getPreferenceId() + "/*/*", URI_KMZ_WITH_TRACKDETAIL_AND_SENSORDATA);
uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, TracksColumns.TABLE_NAME + "/" + TrackFileFormat.KMZ_WITH_TRACKDETAIL_AND_SENSORDATA_AND_PICTURES.getPreferenceId() + "/*/*", URI_KMZ_WITH_TRACKDETAIL_SENSORDATA_AND_PICTURES); uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, TracksColumns.TABLE_NAME + "/" + TrackFileFormat.KMZ_WITH_TRACKDETAIL_AND_SENSORDATA_AND_PICTURES.getPreferenceId() + "/*/*", URI_KMZ_WITH_TRACKDETAIL_SENSORDATA_AND_PICTURES);
uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, TracksColumns.TABLE_NAME + "/" + TrackFileFormat.CSV.getPreferenceId() + "/*/*", URI_CSV); uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, TracksColumns.TABLE_NAME + "/" + TrackFileFormat.CSV.getPreferenceId() + "/*/*", URI_CSV);
} }
@@ -133,8 +131,6 @@ public class ShareContentProvider extends CustomContentProvider {
case URI_GPX -> TrackFileFormat.GPX; case URI_GPX -> TrackFileFormat.GPX;
case URI_KML_WITH_TRACKDETAIL_SENSORDATA -> case URI_KML_WITH_TRACKDETAIL_SENSORDATA ->
TrackFileFormat.KML_WITH_TRACKDETAIL_AND_SENSORDATA; TrackFileFormat.KML_WITH_TRACKDETAIL_AND_SENSORDATA;
case URI_KMZ_WITH_TRACKDETAIL_AND_SENSORDATA ->
TrackFileFormat.KMZ_WITH_TRACKDETAIL_AND_SENSORDATA;
case URI_KMZ_WITH_TRACKDETAIL_SENSORDATA_AND_PICTURES -> case URI_KMZ_WITH_TRACKDETAIL_SENSORDATA_AND_PICTURES ->
TrackFileFormat.KMZ_WITH_TRACKDETAIL_AND_SENSORDATA_AND_PICTURES; TrackFileFormat.KMZ_WITH_TRACKDETAIL_AND_SENSORDATA_AND_PICTURES;
case URI_CSV -> TrackFileFormat.CSV; case URI_CSV -> TrackFileFormat.CSV;
@@ -41,45 +41,18 @@ public enum TrackFileFormat {
} }
}, },
@Deprecated //TODO Check if we really need this
KMZ_WITH_TRACKDETAIL_AND_SENSORDATA("KMZ_WITH_TRACKDETAIL_AND_SENSORDATA") {
private static final boolean exportPhotos = false;
@Override
public TrackExporter createTrackExporter(@NonNull Context context, @NonNull ContentProviderUtils contentProviderUtils) {
KMLTrackExporter exporter = new KMLTrackExporter(context, contentProviderUtils, exportPhotos);
return new KMZTrackExporter(context, contentProviderUtils, exporter, exportPhotos);
}
@Override
public String getMimeType() {
return "application/vnd.google-earth.kmz";
}
public String getExtension() {
return "kmz";
}
@Override
public boolean includesPhotos() {
return exportPhotos;
}
},
KMZ_WITH_TRACKDETAIL_AND_SENSORDATA_AND_PICTURES("KMZ_WITH_TRACKDETAIL_AND_SENSORDATA_AND_PICTURES") { KMZ_WITH_TRACKDETAIL_AND_SENSORDATA_AND_PICTURES("KMZ_WITH_TRACKDETAIL_AND_SENSORDATA_AND_PICTURES") {
private static final boolean exportPhotos = true; private static final boolean exportPhotos = true;
@Override @Override
public TrackExporter createTrackExporter(@NonNull Context context, @NonNull ContentProviderUtils contentProviderUtils) { public TrackExporter createTrackExporter(@NonNull Context context, @NonNull ContentProviderUtils contentProviderUtils) {
KMLTrackExporter exporter = new KMLTrackExporter(context, contentProviderUtils, exportPhotos); return new KMZTrackExporter(context, contentProviderUtils, exportPhotos);
return new KMZTrackExporter(context, contentProviderUtils, exporter, exportPhotos);
} }
@Override @Override
public String getMimeType() { public String getMimeType() {
return KMZ_WITH_TRACKDETAIL_AND_SENSORDATA.getMimeType(); return "application/vnd.google-earth.kmz";
} }
public String getExtension() { public String getExtension() {
@@ -220,6 +220,10 @@ public class KMLTrackExporter implements TrackExporter {
printWriter = null; printWriter = null;
} }
boolean isExportPhotos() {
return exportPhotos;
}
private void writeHeader(List<Track> tracks) { private void writeHeader(List<Track> tracks) {
printWriter.println( printWriter.println(
""" """
@@ -54,14 +54,12 @@ public class KMZTrackExporter implements TrackExporter {
private final ContentProviderUtils contentProviderUtils; private final ContentProviderUtils contentProviderUtils;
private final KMLTrackExporter fileTrackExporter; private final KMLTrackExporter fileTrackExporter;
private final boolean exportPhotos;
private final Context context; private final Context context;
public KMZTrackExporter(Context context, ContentProviderUtils contentProviderUtils, KMLTrackExporter trackExporter, boolean exportPhotos) { public KMZTrackExporter(Context context, ContentProviderUtils contentProviderUtils, boolean exportPhotos) {
this.context = context; this.context = context;
this.contentProviderUtils = contentProviderUtils; this.contentProviderUtils = contentProviderUtils;
this.fileTrackExporter = trackExporter; this.fileTrackExporter = new KMLTrackExporter(context, contentProviderUtils, exportPhotos);
this.exportPhotos = exportPhotos;
} }
@Override @Override
@@ -79,7 +77,7 @@ public class KMZTrackExporter implements TrackExporter {
} }
// Add photos // Add photos
if (exportPhotos) addImages(context, tracks ,zipOutputStream); if (fileTrackExporter.isExportPhotos()) addImages(context, tracks ,zipOutputStream);
return true; return true;
} catch (InterruptedException | IOException e) { } catch (InterruptedException | IOException e) {
Log.e(TAG, "Unable to write track", e); Log.e(TAG, "Unable to write track", e);
@@ -48,7 +48,6 @@ public class ImportExportSettingsFragment extends PreferenceFragmentCompat {
private void setExportTrackFileFormatOptions() { private void setExportTrackFileFormatOptions() {
Map<String, String> options = TrackFileFormat.toPreferenceIdLabelMap(getResources(), Map<String, String> options = TrackFileFormat.toPreferenceIdLabelMap(getResources(),
TrackFileFormat.KMZ_WITH_TRACKDETAIL_AND_SENSORDATA_AND_PICTURES, TrackFileFormat.KMZ_WITH_TRACKDETAIL_AND_SENSORDATA_AND_PICTURES,
TrackFileFormat.KMZ_WITH_TRACKDETAIL_AND_SENSORDATA,
TrackFileFormat.KML_WITH_TRACKDETAIL_AND_SENSORDATA, TrackFileFormat.KML_WITH_TRACKDETAIL_AND_SENSORDATA,
TrackFileFormat.GPX, TrackFileFormat.GPX,
TrackFileFormat.CSV); TrackFileFormat.CSV);