Bugfix: HealthConnect requires unique timestamps for locations.

Part of #2376.
This commit is contained in:
Dennis Guse
2026-08-05 19:13:16 +02:00
parent 01ea65742b
commit 1eeb706330
@@ -196,6 +196,8 @@ public class HealthConnectWorker extends Worker {
Position position = trackPoint.position(); Position position = trackPoint.position();
if (position.hasLocation()) { if (position.hasLocation()) {
//ExcerciseRoute does not allow duplicated timestamps.
if (locations.stream().noneMatch(location -> location.getTime().equals(position.time()))) {
locations.add(new ExerciseRoute.Location( locations.add(new ExerciseRoute.Location(
trackPoint.getTime(), trackPoint.getTime(),
position.latitude(), position.latitude(),
@@ -205,6 +207,7 @@ public class HealthConnectWorker extends Worker {
position.altitude() != null ? Length.meters(position.altitude().toM()) : null) position.altitude() != null ? Length.meters(position.altitude().toM()) : null)
); );
} }
}
if (position.hasSpeed()) { if (position.hasSpeed()) {
speeds.add(new SpeedRecord.Sample( speeds.add(new SpeedRecord.Sample(