forked from upstream-mirrors/OpenTracks
Cleanup: use explicit preference identifiers for TrackFileFormat.
This commit is contained in:
@@ -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.kml"), shareURIandMIME.first);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -58,7 +58,7 @@ public class PreferencesUtilsTest {
|
|||||||
TrackFileFormat trackFileFormat = PreferencesUtils.getExportTrackFileFormat();
|
TrackFileFormat trackFileFormat = PreferencesUtils.getExportTrackFileFormat();
|
||||||
|
|
||||||
// then
|
// then
|
||||||
assertEquals(TrackFileFormat.KMZ_WITH_TRACKDETAIL_AND_SENSORDATA, trackFileFormat);
|
assertEquals(TrackFileFormat.KMZ_WITH_TRACKDETAIL_AND_SENSORDATA_AND_PICTURES, trackFileFormat);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -73,7 +73,7 @@ public class PreferencesUtilsTest {
|
|||||||
TrackFileFormat trackFileFormat = PreferencesUtils.getExportTrackFileFormat();
|
TrackFileFormat trackFileFormat = PreferencesUtils.getExportTrackFileFormat();
|
||||||
|
|
||||||
// then
|
// then
|
||||||
assertEquals(TrackFileFormat.KMZ_WITH_TRACKDETAIL_AND_SENSORDATA, trackFileFormat);
|
assertEquals(TrackFileFormat.KMZ_WITH_TRACKDETAIL_AND_SENSORDATA_AND_PICTURES, trackFileFormat);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -59,13 +59,13 @@ public class ShareContentProvider extends CustomContentProvider {
|
|||||||
private static final String TRACKID_DELIMITER = "_";
|
private static final String TRACKID_DELIMITER = "_";
|
||||||
|
|
||||||
static {
|
static {
|
||||||
uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, TracksColumns.TABLE_NAME + "/" + TrackFileFormat.GPX.getName() + "/*/*", URI_GPX);
|
uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, TracksColumns.TABLE_NAME + "/" + TrackFileFormat.GPX.getPreferenceId() + "/*/*", URI_GPX);
|
||||||
|
|
||||||
uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, TracksColumns.TABLE_NAME + "/" + TrackFileFormat.KML_WITH_TRACKDETAIL_AND_SENSORDATA.getName() + "/*/*", 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.getName() + "/*/*", URI_KMZ_WITH_TRACKDETAIL_AND_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.getName() + "/*/*", 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.getName() + "/*/*", URI_CSV);
|
uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, TracksColumns.TABLE_NAME + "/" + TrackFileFormat.CSV.getPreferenceId() + "/*/*", URI_CSV);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -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.getName() + "/" + trackIdBuilder + "/" + Uri.encode(trackName) + "." + trackFileFormat.getExtension());
|
Uri uri = Uri.parse(TracksColumns.CONTENT_URI + "/" + trackFileFormat.getPreferenceId() + "/" + trackIdBuilder + "/" + Uri.encode(trackName) + "." + trackFileFormat.getExtension());
|
||||||
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);
|
||||||
|
|||||||
@@ -2,8 +2,6 @@ package de.dennisguse.opentracks.io.file;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
import java.util.Locale;
|
|
||||||
|
|
||||||
import de.dennisguse.opentracks.R;
|
import de.dennisguse.opentracks.R;
|
||||||
import de.dennisguse.opentracks.data.ContentProviderUtils;
|
import de.dennisguse.opentracks.data.ContentProviderUtils;
|
||||||
import de.dennisguse.opentracks.io.file.exporter.CSVTrackExporter;
|
import de.dennisguse.opentracks.io.file.exporter.CSVTrackExporter;
|
||||||
@@ -19,7 +17,7 @@ import de.dennisguse.opentracks.io.file.exporter.TrackExporter;
|
|||||||
*/
|
*/
|
||||||
public enum TrackFileFormat {
|
public enum TrackFileFormat {
|
||||||
|
|
||||||
KML_WITH_TRACKDETAIL_AND_SENSORDATA {
|
KML_WITH_TRACKDETAIL_AND_SENSORDATA("KML_WITH_TRACKDETAIL_AND_SENSORDATA") {
|
||||||
@Override
|
@Override
|
||||||
public TrackExporter createTrackExporter(Context context) {
|
public TrackExporter createTrackExporter(Context context) {
|
||||||
return new KMLTrackExporter(context, false);
|
return new KMLTrackExporter(context, false);
|
||||||
@@ -36,7 +34,7 @@ public enum TrackFileFormat {
|
|||||||
},
|
},
|
||||||
|
|
||||||
@Deprecated //TODO Check if we really need this
|
@Deprecated //TODO Check if we really need this
|
||||||
KMZ_WITH_TRACKDETAIL_AND_SENSORDATA {
|
KMZ_WITH_TRACKDETAIL_AND_SENSORDATA("KMZ_WITH_TRACKDETAIL_AND_SENSORDATA") {
|
||||||
|
|
||||||
private static final boolean exportPhotos = false;
|
private static final boolean exportPhotos = false;
|
||||||
|
|
||||||
@@ -61,7 +59,7 @@ public enum TrackFileFormat {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
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;
|
||||||
|
|
||||||
@@ -87,7 +85,7 @@ public enum TrackFileFormat {
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
GPX {
|
GPX("GPX") {
|
||||||
@Override
|
@Override
|
||||||
public TrackExporter createTrackExporter(Context context) {
|
public TrackExporter createTrackExporter(Context context) {
|
||||||
return new GPXTrackExporter(new ContentProviderUtils(context), context.getString(R.string.app_name));
|
return new GPXTrackExporter(new ContentProviderUtils(context), context.getString(R.string.app_name));
|
||||||
@@ -103,7 +101,7 @@ public enum TrackFileFormat {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
CSV {
|
CSV("CSV") {
|
||||||
@Override
|
@Override
|
||||||
public TrackExporter createTrackExporter(Context context) {
|
public TrackExporter createTrackExporter(Context context) {
|
||||||
return new CSVTrackExporter(new ContentProviderUtils(context));
|
return new CSVTrackExporter(new ContentProviderUtils(context));
|
||||||
@@ -124,6 +122,12 @@ public enum TrackFileFormat {
|
|||||||
|
|
||||||
private static final String MIME_KML = "application/vnd.google-earth.kml+xml";
|
private static final String MIME_KML = "application/vnd.google-earth.kml+xml";
|
||||||
|
|
||||||
|
private final String preferenceId;
|
||||||
|
|
||||||
|
TrackFileFormat(String preferenceId) {
|
||||||
|
this.preferenceId = preferenceId;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the mime type for each format.
|
* Returns the mime type for each format.
|
||||||
*/
|
*/
|
||||||
@@ -149,9 +153,9 @@ public enum TrackFileFormat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the name for each format.
|
* The identifier to be stored in the preferences.
|
||||||
*/
|
*/
|
||||||
public String getName() {
|
public String getPreferenceId() {
|
||||||
return this.name().toLowerCase(Locale.US);
|
return preferenceId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -61,7 +61,7 @@ public class ImportExportSettingsFragment extends PreferenceFragmentCompat {
|
|||||||
String trackFileFormatUpperCase = trackFileFormat.getExtension().toUpperCase(Locale.US); //ASCII upper case
|
String trackFileFormatUpperCase = trackFileFormat.getExtension().toUpperCase(Locale.US); //ASCII upper case
|
||||||
int photoMessageId = trackFileFormat.includesPhotos() ? R.string.export_with_photos : R.string.export_without_photos;
|
int photoMessageId = trackFileFormat.includesPhotos() ? R.string.export_with_photos : R.string.export_without_photos;
|
||||||
entries[i] = String.format("%s (%s)", trackFileFormatUpperCase, getString(photoMessageId));
|
entries[i] = String.format("%s (%s)", trackFileFormatUpperCase, getString(photoMessageId));
|
||||||
entryValues[i] = trackFileFormat.name();
|
entryValues[i] = trackFileFormat.getPreferenceId();
|
||||||
}
|
}
|
||||||
|
|
||||||
ListPreference listPreference = findPreference(getString(R.string.export_trackfileformat_key));
|
ListPreference listPreference = findPreference(getString(R.string.export_trackfileformat_key));
|
||||||
|
|||||||
@@ -587,11 +587,9 @@ public class PreferencesUtils {
|
|||||||
public static TrackFileFormat getExportTrackFileFormat() {
|
public static TrackFileFormat getExportTrackFileFormat() {
|
||||||
final String TRACKFILEFORMAT_NAME_DEFAULT = getString(R.string.export_trackfileformat_default, null);
|
final String TRACKFILEFORMAT_NAME_DEFAULT = getString(R.string.export_trackfileformat_default, null);
|
||||||
String trackFileFormatName = getString(R.string.export_trackfileformat_key, TRACKFILEFORMAT_NAME_DEFAULT);
|
String trackFileFormatName = getString(R.string.export_trackfileformat_key, TRACKFILEFORMAT_NAME_DEFAULT);
|
||||||
try {
|
return Arrays.stream(TrackFileFormat.values())
|
||||||
return TrackFileFormat.valueOf(trackFileFormatName);
|
.filter(format -> format.getPreferenceId().equals(trackFileFormatName))
|
||||||
} catch (Exception e) {
|
.findFirst().orElse(TrackFileFormat.KMZ_WITH_TRACKDETAIL_AND_SENSORDATA_AND_PICTURES);
|
||||||
return TrackFileFormat.KMZ_WITH_TRACKDETAIL_AND_SENSORDATA;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean getPreventReimportTracks() {
|
public static boolean getPreventReimportTracks() {
|
||||||
|
|||||||
@@ -298,7 +298,7 @@
|
|||||||
<string name="import_prevent_reimport_key" translatable="false">preventReimportTrackKey</string>
|
<string name="import_prevent_reimport_key" translatable="false">preventReimportTrackKey</string>
|
||||||
<bool name="import_prevent_reimport_default">true</bool>
|
<bool name="import_prevent_reimport_default">true</bool>
|
||||||
|
|
||||||
<string name="settings_api_key">settingsAPI</string>
|
<string name="settings_api_key" translatable="false">settingsAPI</string>
|
||||||
<string name="publicapi_enabled_key" translatable="false">apiEnabledKey</string>
|
<string name="publicapi_enabled_key" translatable="false">apiEnabledKey</string>
|
||||||
<bool name="publicapi_enabled_default">false</bool>
|
<bool name="publicapi_enabled_default">false</bool>
|
||||||
<string name="publicapi_dashboard_enabled_key" translatable="false">apiDashboardEnabledKey</string>
|
<string name="publicapi_dashboard_enabled_key" translatable="false">apiDashboardEnabledKey</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user