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 04cc70663..0a3504692 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 @@ -30,10 +30,8 @@ import org.mockito.Mockito; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.time.Clock; import java.time.Duration; import java.time.Instant; -import java.time.ZoneId; import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; @@ -126,39 +124,39 @@ public class ExportImportTest { TrackPointCreator trackPointCreator = service.getTrackPointCreator(); - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:02Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:02Z"); trackId = service.startNewTrack(); Distance sensorDistance = Distance.of(10); // recording distance interval - sendLocation(trackPointCreator, Instant.parse("2020-02-02T02:02:03Z"), 3, 14, 10, 15, 10, 1); + sendLocation(trackPointCreator, "2020-02-02T02:02:03Z", 3, 14, 10, 15, 10, 1); service.insertMarker("Marker 1", "Marker 1 category", "Marker 1 desc", null); // A sensor-only TrackPoint - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:04Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:04Z"); mockAltitudeChange(trackPointCreator, 1); mockBLESensorData(trackPointCreator, 15f, sensorDistance, 66f, 3f, 50f); - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:05Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:05Z"); mockBLESensorData(trackPointCreator, 5f, Distance.of(2), 66f, 3f, 50f); // Distance will be added to next TrackPoint - sendLocation(trackPointCreator, Instant.parse("2020-02-02T02:02:05Z"), 3, 14.001, 10, 15, 10, 0); + sendLocation(trackPointCreator, "2020-02-02T02:02:05Z", 3, 14.001, 10, 15, 10, 0); service.insertMarker("Marker 2", "Marker 2 category", "Marker 2 desc", null); - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:06Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:06Z"); trackPointCreator.setRemoteSensorManager(new BluetoothRemoteSensorManager(context, trackPointCreator)); service.pauseCurrentTrack(); - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:20Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:20Z"); service.resumeCurrentTrack(); - sendLocation(trackPointCreator, Instant.parse("2020-02-02T02:02:21Z"), 3, 14.002, 10, 15, 10, 0); + sendLocation(trackPointCreator, "2020-02-02T02:02:21Z", 3, 14.002, 10, 15, 10, 0); - sendLocation(trackPointCreator, Instant.parse("2020-02-02T02:02:22Z"), 3, 16, 10, 15, 10, 0); + sendLocation(trackPointCreator, "2020-02-02T02:02:22Z", 3, 16, 10, 15, 10, 0); - sendLocation(trackPointCreator, Instant.parse("2020-02-02T02:02:23Z"), 3, 16.001, 10, 15, 10, 0); + sendLocation(trackPointCreator, "2020-02-02T02:02:23Z", 3, 16.001, 10, 15, 10, 0); - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:24Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:24Z"); trackPointCreator.setRemoteSensorManager(new BluetoothRemoteSensorManager(context, trackPointCreator)); service.endCurrentTrack(); @@ -477,7 +475,7 @@ public class ExportImportTest { altitudeSumManager.setAltitudeLoss_m(altitudeGain); } - private void sendLocation(TrackPointCreator trackPointCreator, Instant time, double latitude, double longitude, float accuracy, float speed, float altitude, float altitudeGain) { + private void sendLocation(TrackPointCreator trackPointCreator, String time, double latitude, double longitude, float accuracy, float speed, float altitude, float altitudeGain) { Location location = new Location("mock"); location.setLatitude(latitude); location.setLongitude(longitude); @@ -487,7 +485,7 @@ public class ExportImportTest { mockAltitudeChange(trackPointCreator, altitudeGain); - trackPointCreator.setClock(Clock.fixed(time, ZoneId.of("CET"))); + trackPointCreator.setClock(time); trackPointCreator.getGpsHandler().onLocationChanged(location); } } \ No newline at end of file diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestMarker.java b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestMarker.java index 4180dc90d..c235f1b45 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestMarker.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestMarker.java @@ -40,9 +40,7 @@ import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; -import java.time.Clock; import java.time.Instant; -import java.time.ZoneId; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; @@ -132,7 +130,7 @@ public class TrackRecordingServiceTestMarker { TrackPointCreator trackPointCreator = service.getTrackPointCreator(); trackPointCreator.stopGPS(); - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:02Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:02Z"); Track.Id trackId = service.startNewTrack(); service.stopUpdateRecordingData(); diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestRecording.java b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestRecording.java index f35155613..c46731d95 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestRecording.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestRecording.java @@ -23,9 +23,7 @@ import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; -import java.time.Clock; import java.time.Instant; -import java.time.ZoneId; import java.util.List; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; @@ -108,14 +106,13 @@ public class TrackRecordingServiceTestRecording { // given TrackPointCreator trackPointCreator = service.getTrackPointCreator(); - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:02Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:02Z"); Track.Id trackId = service.startNewTrack(); - service.stopUpdateRecordingData(); trackPointCreator.stopGPS(); trackPointCreator.setAltitudeSumManager(altitudeSumManager); // when - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:03Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:03Z"); service.endCurrentTrack(); // then @@ -136,14 +133,14 @@ public class TrackRecordingServiceTestRecording { // given TrackPointCreator trackPointCreator = service.getTrackPointCreator(); - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:02Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:02Z"); Track.Id trackId = service.startNewTrack(); service.stopUpdateRecordingData(); trackPointCreator.stopGPS(); trackPointCreator.setAltitudeSumManager(altitudeSumManager); // when - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:03Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:03Z"); service.pauseCurrentTrack(); service.stopUpdateRecordingData(); @@ -151,7 +148,7 @@ public class TrackRecordingServiceTestRecording { assertEquals(2, contentProviderUtils.getTrackPointCursor(trackId, null).getCount()); //when - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:04Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:04Z"); service.resumeTrack(trackId); service.stopUpdateRecordingData(); @@ -175,17 +172,17 @@ public class TrackRecordingServiceTestRecording { // given TrackPointCreator trackPointCreator = service.getTrackPointCreator(); - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:02Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:02Z"); Track.Id trackId = service.startNewTrack(); service.stopUpdateRecordingData(); trackPointCreator.stopGPS(); trackPointCreator.setAltitudeSumManager(altitudeSumManager); - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:03Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:03Z"); service.endCurrentTrack(); // when - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:04Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:04Z"); service.resumeTrack(trackId); trackPointCreator.stopGPS(); trackPointCreator.setAltitudeSumManager(altitudeSumManager); @@ -215,17 +212,17 @@ public class TrackRecordingServiceTestRecording { // given TrackPointCreator trackPointCreator = service.getTrackPointCreator(); - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:02Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:02Z"); Track.Id trackId = service.startNewTrack(); service.stopUpdateRecordingData(); trackPointCreator.stopGPS(); trackPointCreator.setAltitudeSumManager(altitudeSumManager); - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:03Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:03Z"); service.pauseCurrentTrack(); // when - trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:04Z"), ZoneId.of("CET"))); + trackPointCreator.setClock("2020-02-02T02:02:04Z"); service.endCurrentTrack(); // then diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestStatistics.java b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestStatistics.java index b410b995f..9fb6e7f41 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestStatistics.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestStatistics.java @@ -22,10 +22,8 @@ import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; -import java.time.Clock; import java.time.Duration; import java.time.Instant; -import java.time.ZoneId; import java.util.List; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; @@ -103,7 +101,7 @@ public class TrackRecordingServiceTestStatistics { // given service.getTrackPointCreator().stopGPS(); - service.getTrackPointCreator().setClock(Clock.fixed(Instant.ofEpochMilli(0), ZoneId.systemDefault())); + service.getTrackPointCreator().setClock(Instant.ofEpochMilli(0).toString()); Track.Id trackId = service.startNewTrack(); service.stopUpdateRecordingData(); service.getTrackPointCreator().setAltitudeSumManager(altitudeSumManager); @@ -157,18 +155,18 @@ public class TrackRecordingServiceTestStatistics { assertMovingTime.apply(movingtime_s); assertTotalTime.apply(19 * 60); - service.getTrackPointCreator().setClock(Clock.fixed(Instant.ofEpochSecond(40 * 60), ZoneId.systemDefault())); + service.getTrackPointCreator().setClock(Instant.ofEpochSecond(40 * 60).toString()); assertMovingTime.apply(movingtime_s); service.pauseCurrentTrack(); assertTotalTime.apply(40 * 60); - service.getTrackPointCreator().setClock(Clock.fixed(Instant.ofEpochSecond(41 * 60), ZoneId.systemDefault())); + service.getTrackPointCreator().setClock(Instant.ofEpochSecond(41 * 60).toString()); service.resumeCurrentTrack(); TrackRecordingServiceTestUtils.newTrackPoint(service, 45.0016, 35.0, 2, 15, 42 * 60000); assertMovingTime.apply(movingtime_s); assertTotalTime.apply(41 * 60); - service.getTrackPointCreator().setClock(Clock.fixed(Instant.ofEpochSecond(50 * 60), ZoneId.systemDefault())); + service.getTrackPointCreator().setClock(Instant.ofEpochSecond(50 * 60).toString()); service.endCurrentTrack(); assertMovingTime.apply(movingtime_s); assertTotalTime.apply(49 * 60); diff --git a/src/main/java/de/dennisguse/opentracks/services/handlers/TrackPointCreator.java b/src/main/java/de/dennisguse/opentracks/services/handlers/TrackPointCreator.java index 06985f3b8..7c064119d 100644 --- a/src/main/java/de/dennisguse/opentracks/services/handlers/TrackPointCreator.java +++ b/src/main/java/de/dennisguse/opentracks/services/handlers/TrackPointCreator.java @@ -10,6 +10,7 @@ import androidx.annotation.VisibleForTesting; import java.time.Clock; import java.time.Instant; +import java.time.ZoneId; import de.dennisguse.opentracks.content.data.Distance; import de.dennisguse.opentracks.content.data.TrackPoint; @@ -183,6 +184,11 @@ public class TrackPointCreator implements BluetoothRemoteSensorManager.SensorDat this.remoteSensorManager = remoteSensorManager; } + @VisibleForTesting + public void setClock(@NonNull String time) { + this.clock = Clock.fixed(Instant.parse(time), ZoneId.of("CET")); + } + @VisibleForTesting public void setClock(@NonNull Clock clock) { this.clock = clock;