From 6e4d46a14d7b8ee42ae9981e59963cfe8491e79f Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Sun, 2 Nov 2025 08:32:04 +0100 Subject: [PATCH] Distance.ZERO as constant. --- .../sensorData/SensorDataCyclingTest.java | 2 +- ...cordingServiceNotificationManagerTest.java | 2 +- .../TrackRecordingServiceRecordingTest.java | 26 +++++++++---------- .../stats/TrackStatisticsUpdaterTest.java | 2 +- .../IntervalStatisticsUpdaterTest.java | 2 +- .../opentracks/data/models/Distance.java | 2 ++ .../io/file/exporter/GPXTrackExporter.java | 4 +-- .../AggregatorCyclingDistanceSpeed.java | 6 ++--- .../sensors/sensorData/AggregatorRunning.java | 4 +-- .../stats/SegmentStatisticUpdater.java | 2 +- .../AggregatedStatistics.java | 2 +- .../SettingsCustomLayoutEditAdapter.java | 2 +- .../intervals/IntervalStatisticsUpdater.java | 2 +- 13 files changed, 30 insertions(+), 28 deletions(-) diff --git a/src/androidTest/java/de/dennisguse/opentracks/sensors/sensorData/SensorDataCyclingTest.java b/src/androidTest/java/de/dennisguse/opentracks/sensors/sensorData/SensorDataCyclingTest.java index 71e01eb68..b317c718a 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/sensors/sensorData/SensorDataCyclingTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/sensors/sensorData/SensorDataCyclingTest.java @@ -125,6 +125,6 @@ public class SensorDataCyclingTest { // TODO See #953 // assertEquals(2, current.getValue().getDistance().toM(), 0.01); // assertEquals(2, current.getValue().getSpeed().toMPS(), 0.01); - assertEquals(new AggregatorCyclingDistanceSpeed.Data(Distance.of(0), Distance.of(0), Speed.ZERO), current.getAggregatedValue(Instant.MIN)); + assertEquals(new AggregatorCyclingDistanceSpeed.Data(Distance.ZERO, Distance.ZERO, Speed.ZERO), current.getAggregatedValue(Instant.MIN)); } } \ No newline at end of file diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceNotificationManagerTest.java b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceNotificationManagerTest.java index cff3b8131..0a2ee8ad9 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceNotificationManagerTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceNotificationManagerTest.java @@ -58,7 +58,7 @@ public class TrackRecordingServiceNotificationManagerTest { null, null, null, - Distance.of(0), + Distance.ZERO, null, null, null, diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceRecordingTest.java b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceRecordingTest.java index 0faddcb48..ee4dde23b 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceRecordingTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceRecordingTest.java @@ -110,7 +110,7 @@ public class TrackRecordingServiceRecordingTest { // then - assertEquals(new Statistics(Instant.parse(startTime), Instant.parse(startTime), Duration.ZERO, Duration.ZERO, Distance.of(0), Speed.ZERO, new AltitudeExtremities(0.0, 0.0), null, null, null) + assertEquals(new Statistics(Instant.parse(startTime), Instant.parse(startTime), Duration.ZERO, Duration.ZERO, Distance.ZERO, Speed.ZERO, new AltitudeExtremities(0.0, 0.0), null, null, null) , contentProviderUtils.getTrack(trackId).getStatistics()); new TrackPointAssert().assertEquals(List.of( @@ -124,7 +124,7 @@ public class TrackRecordingServiceRecordingTest { service.endCurrentTrack(); // then - assertEquals(new Statistics(Instant.parse(startTime), Instant.parse(stopTime), Duration.ofSeconds(1), Duration.ofSeconds(1), Distance.of(0), Speed.ZERO, new AltitudeExtremities(0.0, 0.0), new AltitudeGainLoss(0, 0), null, null) + assertEquals(new Statistics(Instant.parse(startTime), Instant.parse(stopTime), Duration.ofSeconds(1), Duration.ofSeconds(1), Distance.ZERO, Speed.ZERO, new AltitudeExtremities(0.0, 0.0), new AltitudeGainLoss(0, 0), null, null) , contentProviderUtils.getTrack(trackId).getStatistics()); new TrackPointAssert().assertEquals(List.of( @@ -199,7 +199,7 @@ public class TrackRecordingServiceRecordingTest { service.endCurrentTrack(); // then - assertEquals(new Statistics(Instant.parse(startTime), Instant.parse(pauseTime), Duration.ofSeconds(1), Duration.ofSeconds(1), Distance.of(0), Speed.ZERO, new AltitudeExtremities(0.0, 0.0), new AltitudeGainLoss(0, 0), null, null) + assertEquals(new Statistics(Instant.parse(startTime), Instant.parse(pauseTime), Duration.ofSeconds(1), Duration.ofSeconds(1), Distance.ZERO, Speed.ZERO, new AltitudeExtremities(0.0, 0.0), new AltitudeGainLoss(0, 0), null, null) , contentProviderUtils.getTrack(trackId).getStatistics()); new TrackPointAssert().assertEquals(List.of( @@ -214,7 +214,7 @@ public class TrackRecordingServiceRecordingTest { service.resumeTrack(trackId); // then - assertEquals(new Statistics(Instant.parse(startTime), Instant.parse(resumeTime), Duration.ofSeconds(1), Duration.ofSeconds(1), Distance.of(0), Speed.ZERO, new AltitudeExtremities(0.0, 0.0), new AltitudeGainLoss(0, 0), null, null) + assertEquals(new Statistics(Instant.parse(startTime), Instant.parse(resumeTime), Duration.ofSeconds(1), Duration.ofSeconds(1), Distance.ZERO, Speed.ZERO, new AltitudeExtremities(0.0, 0.0), new AltitudeGainLoss(0, 0), null, null) , contentProviderUtils.getTrack(trackId).getStatistics()); new TrackPointAssert().assertEquals(List.of( @@ -342,7 +342,7 @@ public class TrackRecordingServiceRecordingTest { sendGPSLocation(trackPointCreator, gps1, 45.0, 35.0, 1, 15); // then - assertEquals(new Statistics(Instant.parse(startTime), Instant.parse(gps1), Duration.ofSeconds(1), Duration.ofSeconds(1), Distance.of(0), Speed.of(15), new AltitudeExtremities(0.0, 0.0), new AltitudeGainLoss(0, 0), null, null) + assertEquals(new Statistics(Instant.parse(startTime), Instant.parse(gps1), Duration.ofSeconds(1), Duration.ofSeconds(1), Distance.ZERO, Speed.of(15), new AltitudeExtremities(0.0, 0.0), new AltitudeGainLoss(0, 0), null, null) , contentProviderUtils.getTrack(trackId).getStatistics()); // when @@ -416,7 +416,7 @@ public class TrackRecordingServiceRecordingTest { sendGPSLocation(trackPointCreator, gps1, 45.0, 35.0, 1, 15); // then - Statistics gps1Statistics = new Statistics(Instant.parse(startTime), Instant.parse(gps1), Duration.ofSeconds(1), Duration.ofSeconds(1), Distance.of(0), Speed.of(15), new AltitudeExtremities(0.0, 0.0), new AltitudeGainLoss(0, 0), null, null); + Statistics gps1Statistics = new Statistics(Instant.parse(startTime), Instant.parse(gps1), Duration.ofSeconds(1), Duration.ofSeconds(1), Distance.ZERO, Speed.of(15), new AltitudeExtremities(0.0, 0.0), new AltitudeGainLoss(0, 0), null, null); assertEquals(gps1Statistics, contentProviderUtils.getTrack(trackId).getStatistics()); // when @@ -538,7 +538,7 @@ public class TrackRecordingServiceRecordingTest { sendGPSLocation(trackPointCreator, gps1, 45.0, 35.0, 100, 15); // then - Statistics startStatistics = new Statistics(Instant.parse(startTime), Instant.parse(startTime), Duration.ofSeconds(0), Duration.ofSeconds(0), Distance.of(0), Speed.ZERO, new AltitudeExtremities(0.0, 0.0), null, null, null); + Statistics startStatistics = new Statistics(Instant.parse(startTime), Instant.parse(startTime), Duration.ofSeconds(0), Duration.ofSeconds(0), Distance.ZERO, Speed.ZERO, new AltitudeExtremities(0.0, 0.0), null, null, null); assertEquals(startStatistics, contentProviderUtils.getTrack(trackId).getStatistics()); @@ -556,7 +556,7 @@ public class TrackRecordingServiceRecordingTest { service.endCurrentTrack(); // then - assertEquals(new Statistics(Instant.parse(startTime), Instant.parse(stopTime), Duration.ofSeconds(10), Duration.ofSeconds(10), Distance.of(0), Speed.ZERO, new AltitudeExtremities(0.0, 0.0), new AltitudeGainLoss(0, 0), null, null) + assertEquals(new Statistics(Instant.parse(startTime), Instant.parse(stopTime), Duration.ofSeconds(10), Duration.ofSeconds(10), Distance.ZERO, Speed.ZERO, new AltitudeExtremities(0.0, 0.0), new AltitudeGainLoss(0, 0), null, null) , contentProviderUtils.getTrack(trackId).getStatistics()); // then @@ -582,7 +582,7 @@ public class TrackRecordingServiceRecordingTest { sendGPSLocation(trackPointCreator, gps1, 45.0, 35.0, 1, 15); // then - assertEquals(new Statistics(Instant.parse(startTime), Instant.parse(gps1), Duration.ofSeconds(1), Duration.ofSeconds(1), Distance.of(0), Speed.of(15), new AltitudeExtremities(0.0, 0.0), new AltitudeGainLoss(0, 0), null, null) + assertEquals(new Statistics(Instant.parse(startTime), Instant.parse(gps1), Duration.ofSeconds(1), Duration.ofSeconds(1), Distance.ZERO, Speed.of(15), new AltitudeExtremities(0.0, 0.0), new AltitudeGainLoss(0, 0), null, null) , contentProviderUtils.getTrack(trackId).getStatistics()); // when @@ -647,7 +647,7 @@ public class TrackRecordingServiceRecordingTest { // when String sensor1 = "2020-02-02T02:02:03Z"; trackPointCreator.setClock(sensor1); - sensorManager.onChanged(new Raw<>(sensor1, new BluetoothHandlerRunningSpeedAndCadence.Data(Speed.of(5), null, Distance.of(0)))); //Should be ignored + sensorManager.onChanged(new Raw<>(sensor1, new BluetoothHandlerRunningSpeedAndCadence.Data(Speed.of(5), null, Distance.ZERO))); //Should be ignored // when String sensor2 = "2020-02-02T02:02:04Z"; @@ -704,7 +704,7 @@ public class TrackRecordingServiceRecordingTest { null, null, null, Speed.of(5))) - .setSensorDistance(Distance.of(0)), + .setSensorDistance(Distance.ZERO), new TrackPoint(TrackPoint.Type.TRACKPOINT, Instant.parse(sensor3)) .setSpeed(Speed.of(5)) .setSensorDistance(Distance.of(10)), @@ -723,7 +723,7 @@ public class TrackRecordingServiceRecordingTest { null, null, null, Speed.of(5))) - .setSensorDistance(Distance.of(0)), + .setSensorDistance(Distance.ZERO), new TrackPoint(TrackPoint.Type.SEGMENT_END_MANUAL, new Position( Instant.parse(stopTime), @@ -731,7 +731,7 @@ public class TrackRecordingServiceRecordingTest { null, null, null, Speed.ZERO)) //Sensor data is now outdated, but we do not fall back to GPS. - .setSensorDistance(Distance.of(0)) + .setSensorDistance(Distance.ZERO) ), TestDataUtil.getTrackPoints(contentProviderUtils, trackId)); } diff --git a/src/androidTest/java/de/dennisguse/opentracks/stats/TrackStatisticsUpdaterTest.java b/src/androidTest/java/de/dennisguse/opentracks/stats/TrackStatisticsUpdaterTest.java index a02df892d..e897c2819 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/stats/TrackStatisticsUpdaterTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/stats/TrackStatisticsUpdaterTest.java @@ -288,7 +288,7 @@ public class TrackStatisticsUpdaterTest { // when subject.addTrackPoint( new TrackPoint(TrackPoint.Type.TRACKPOINT, Instant.ofEpochSecond(40)) - .setSensorDistance(Distance.of(0))); + .setSensorDistance(Distance.ZERO)); // then assertTrue(subject.getSegmentStatisticUpdater().isIdle()); assertEquals(Duration.ofSeconds(30), subject.getSegmentStatisticUpdater().getMovingTime()); diff --git a/src/androidTest/java/de/dennisguse/opentracks/ui/intervals/IntervalStatisticsUpdaterTest.java b/src/androidTest/java/de/dennisguse/opentracks/ui/intervals/IntervalStatisticsUpdaterTest.java index 71e618ce5..48bcb62ba 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/ui/intervals/IntervalStatisticsUpdaterTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/ui/intervals/IntervalStatisticsUpdaterTest.java @@ -128,7 +128,7 @@ public class IntervalStatisticsUpdaterTest { intervalStatistics.addTrackPoints(trackPoints.iterator()); List intervalList = intervalStatistics.getIntervalList(); - Distance totalDistance = Distance.of(0); + Distance totalDistance = Distance.ZERO; float totalTime = 0L; Float totalGain = null; Float totalLoss = null; diff --git a/src/main/java/de/dennisguse/opentracks/data/models/Distance.java b/src/main/java/de/dennisguse/opentracks/data/models/Distance.java index b009da8b5..3dc6ae3c6 100644 --- a/src/main/java/de/dennisguse/opentracks/data/models/Distance.java +++ b/src/main/java/de/dennisguse/opentracks/data/models/Distance.java @@ -7,6 +7,8 @@ import de.dennisguse.opentracks.settings.UnitSystem; public record Distance(double distance_m) { + public static Distance ZERO = Distance.of(0); + public static Distance of(double distance_m) { return new Distance(distance_m); } diff --git a/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java b/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java index 3359ebff0..033bc2a88 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java @@ -124,7 +124,7 @@ public class GPXTrackExporter implements TrackExporter { private void writeTrackPoints(Track track) throws InterruptedException { boolean wroteTrack = false; boolean wroteSegment = false; - Distance trackDistance = Distance.of(0); + Distance trackDistance = Distance.ZERO; LinkedList sensorPoints = new LinkedList<>(); @@ -383,7 +383,7 @@ public class GPXTrackExporter implements TrackExporter { if (cumulativeDistance != null) { return cumulativeDistance; } - return Distance.of(0); + return Distance.ZERO; } private Double cumulateSensorData(TrackPoint trackPoint, List sensorPoints, Function map) { diff --git a/src/main/java/de/dennisguse/opentracks/sensors/sensorData/AggregatorCyclingDistanceSpeed.java b/src/main/java/de/dennisguse/opentracks/sensors/sensorData/AggregatorCyclingDistanceSpeed.java index 92fe5cf2d..40c1baf47 100644 --- a/src/main/java/de/dennisguse/opentracks/sensors/sensorData/AggregatorCyclingDistanceSpeed.java +++ b/src/main/java/de/dennisguse/opentracks/sensors/sensorData/AggregatorCyclingDistanceSpeed.java @@ -56,20 +56,20 @@ public class AggregatorCyclingDistanceSpeed extends Aggregator t.getStatistics().movingTime()).reduce(Duration.ZERO, Duration::plus); - totalDistance = tracks.stream().map(t -> t.getStatistics().totalDistance()).reduce(Distance.of(0), Distance::plus); + totalDistance = tracks.stream().map(t -> t.getStatistics().totalDistance()).reduce(Distance.ZERO, Distance::plus); maxSpeed = tracks.stream().map(t -> t.getStatistics().maxSpeed()).max((o1, o2) -> (int) (o1.speed_mps() - o2.speed_mps())).orElse(Speed.ZERO); avgMovingSpeed = Speed.of(totalDistance, totalMovingTime); } diff --git a/src/main/java/de/dennisguse/opentracks/ui/customRecordingLayout/SettingsCustomLayoutEditAdapter.java b/src/main/java/de/dennisguse/opentracks/ui/customRecordingLayout/SettingsCustomLayoutEditAdapter.java index 17fbadc1d..a477aa776 100644 --- a/src/main/java/de/dennisguse/opentracks/ui/customRecordingLayout/SettingsCustomLayoutEditAdapter.java +++ b/src/main/java/de/dennisguse/opentracks/ui/customRecordingLayout/SettingsCustomLayoutEditAdapter.java @@ -45,7 +45,7 @@ public class SettingsCustomLayoutEditAdapter extends RecyclerView.Adapter