Bugfix: sharing track added file suffix twice.

Introduced in 0d3cf4ce0d.
This commit is contained in:
Dennis Guse
2022-05-11 21:38:29 +02:00
parent d1a37366be
commit d2139d70ad
2 changed files with 4 additions and 4 deletions
@@ -29,7 +29,7 @@ public class ShareContentProviderTest {
trackIds.add(new Track.Id(3)); trackIds.add(new Track.Id(3));
trackIds.add(new Track.Id(5)); trackIds.add(new Track.Id(5));
Pair<Uri, String> shareURIandMIME = ShareContentProvider.createURI(trackIds, "TrackName", TrackFileFormat.KML_WITH_TRACKDETAIL_AND_SENSORDATA); Pair<Uri, String> shareURIandMIME = ShareContentProvider.createURI(trackIds, "filename.suffix", TrackFileFormat.KML_WITH_TRACKDETAIL_AND_SENSORDATA);
assertEquals(trackIds, ShareContentProvider.parseURI(shareURIandMIME.first)); assertEquals(trackIds, ShareContentProvider.parseURI(shareURIandMIME.first));
} }
@@ -40,6 +40,6 @@ public class ShareContentProviderTest {
trackIds.add(new Track.Id(1)); trackIds.add(new Track.Id(1));
Pair<Uri, String> shareURIandMIME = ShareContentProvider.createURI(trackIds, "../../&1=1", TrackFileFormat.KML_WITH_TRACKDETAIL_AND_SENSORDATA); Pair<Uri, String> shareURIandMIME = ShareContentProvider.createURI(trackIds, "../../&1=1", TrackFileFormat.KML_WITH_TRACKDETAIL_AND_SENSORDATA);
assertEquals(Uri.parse("content://de.dennisguse.opentracks.debug.content/tracks/KML_WITH_TRACKDETAIL_AND_SENSORDATA/1/..%2F..%2F%261%3D1.kml"), shareURIandMIME.first); assertEquals(Uri.parse("content://de.dennisguse.opentracks.debug.content/tracks/KML_WITH_TRACKDETAIL_AND_SENSORDATA/1/..%2F..%2F%261%3D1"), shareURIandMIME.first);
} }
} }
@@ -80,7 +80,7 @@ public class ShareContentProvider extends CustomContentProvider {
/** /**
* @return An URI for one file containing all tracks. * @return An URI for one file containing all tracks.
*/ */
public static Pair<Uri, String> createURI(Set<Track.Id> trackIds, String trackName, @NonNull TrackFileFormat trackFileFormat) { public static Pair<Uri, String> createURI(Set<Track.Id> trackIds, String filename, @NonNull TrackFileFormat trackFileFormat) {
if (trackIds.isEmpty()) { if (trackIds.isEmpty()) {
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }
@@ -91,7 +91,7 @@ public class ShareContentProvider extends CustomContentProvider {
} }
trackIdBuilder.deleteCharAt(trackIdBuilder.lastIndexOf(TRACKID_DELIMITER)); trackIdBuilder.deleteCharAt(trackIdBuilder.lastIndexOf(TRACKID_DELIMITER));
Uri uri = Uri.parse(TracksColumns.CONTENT_URI + "/" + trackFileFormat.getPreferenceId() + "/" + trackIdBuilder + "/" + Uri.encode(trackName) + "." + trackFileFormat.getExtension()); Uri uri = Uri.parse(TracksColumns.CONTENT_URI + "/" + trackFileFormat.getPreferenceId() + "/" + trackIdBuilder + "/" + Uri.encode(filename));
String mime = getTypeMime(uri); String mime = getTypeMime(uri);
Log.d(TAG, "Created uri " + uri + " with MIME " + mime); Log.d(TAG, "Created uri " + uri + " with MIME " + mime);