From 912fd1aa2ff9901bbd3ec893e3ad2941fac1c46d Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Sat, 9 Jan 2021 17:45:20 +0100 Subject: [PATCH] TrackStatistics startTime/stopTime is null on creation. --- .../opentracks/io/file/importer/ExportImportTest.java | 3 +-- .../content/provider/ContentProviderUtils.java | 9 ++++++--- .../content/provider/CustomContentProvider.java | 4 ---- .../de/dennisguse/opentracks/stats/TrackStatistics.java | 3 ++- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/androidTest/java/de/dennisguse/opentracks/io/file/importer/ExportImportTest.java b/src/androidTest/java/de/dennisguse/opentracks/io/file/importer/ExportImportTest.java index 7399b696b..ef4e95031 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/io/file/importer/ExportImportTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/io/file/importer/ExportImportTest.java @@ -47,7 +47,6 @@ import static org.junit.Assert.assertNull; /** * Export a track to {@link TrackFileFormat} and verify that the import is identical. *

- * TODO: test ignores {@link TrackStatistics} for now. */ @RunWith(JUnit4.class) public class ExportImportTest { @@ -431,7 +430,7 @@ public class ExportImportTest { } private static TrackPoint createTrackPoint(long time, double latitude, double longitude, float accuracy, long speed, long altitude, float elevationGain, float heartRate, float cyclingCadence, float power) { - Location location = new Location("gps"); + Location location = new Location(""); location.setTime(time); location.setLongitude(longitude); location.setLatitude(latitude); diff --git a/src/main/java/de/dennisguse/opentracks/content/provider/ContentProviderUtils.java b/src/main/java/de/dennisguse/opentracks/content/provider/ContentProviderUtils.java index 65f50df96..5703ec194 100644 --- a/src/main/java/de/dennisguse/opentracks/content/provider/ContentProviderUtils.java +++ b/src/main/java/de/dennisguse/opentracks/content/provider/ContentProviderUtils.java @@ -264,7 +264,6 @@ public class ContentProviderUtils { ContentValues values = new ContentValues(); TrackStatistics trackStatistics = track.getTrackStatistics(); - // Value < 0 indicates no id is available if (track.getId() != null) { values.put(TracksColumns._ID, track.getId().getId()); } @@ -272,8 +271,12 @@ public class ContentProviderUtils { values.put(TracksColumns.NAME, track.getName()); values.put(TracksColumns.DESCRIPTION, track.getDescription()); values.put(TracksColumns.CATEGORY, track.getCategory()); - values.put(TracksColumns.STARTTIME, trackStatistics.getStartTime().toEpochMilli()); - values.put(TracksColumns.STOPTIME, trackStatistics.getStopTime().toEpochMilli()); + if (trackStatistics.getStartTime() != null) { + values.put(TracksColumns.STARTTIME, trackStatistics.getStartTime().toEpochMilli()); + } + if (trackStatistics.getStopTime() != null) { + values.put(TracksColumns.STOPTIME, trackStatistics.getStopTime().toEpochMilli()); + } values.put(TracksColumns.TOTALDISTANCE, trackStatistics.getTotalDistance()); values.put(TracksColumns.TOTALTIME, trackStatistics.getTotalTime().toMillis()); values.put(TracksColumns.MOVINGTIME, trackStatistics.getMovingTime().toMillis()); diff --git a/src/main/java/de/dennisguse/opentracks/content/provider/CustomContentProvider.java b/src/main/java/de/dennisguse/opentracks/content/provider/CustomContentProvider.java index 0c26eb9bf..60881d61c 100644 --- a/src/main/java/de/dennisguse/opentracks/content/provider/CustomContentProvider.java +++ b/src/main/java/de/dennisguse/opentracks/content/provider/CustomContentProvider.java @@ -341,10 +341,6 @@ public class CustomContentProvider extends ContentProvider { } private Uri insertTrack(Uri url, ContentValues contentValues) { - boolean hasStartTime = contentValues.containsKey(TracksColumns.STARTTIME); - if (!hasStartTime) { - throw new IllegalArgumentException("Both start time and start id values are required."); - } long rowId = db.insert(TracksColumns.TABLE_NAME, TracksColumns._ID, contentValues); if (rowId >= 0) { return ContentUris.appendId(TracksColumns.CONTENT_URI.buildUpon(), rowId).build(); diff --git a/src/main/java/de/dennisguse/opentracks/stats/TrackStatistics.java b/src/main/java/de/dennisguse/opentracks/stats/TrackStatistics.java index 8e947ab77..d8387b419 100644 --- a/src/main/java/de/dennisguse/opentracks/stats/TrackStatistics.java +++ b/src/main/java/de/dennisguse/opentracks/stats/TrackStatistics.java @@ -112,7 +112,8 @@ public class TrackStatistics { } public void reset() { - setStartTime(Instant.ofEpochMilli(0)); //TODO should probably initialized with null + startTime = null; + stopTime = null; setTotalDistance(0); setTotalTime(Duration.ofSeconds(0));