Import: re-order TrackPoints by time, so statistics can be computed.

Fixes #796.
This commit is contained in:
Dennis Guse
2021-06-01 17:45:23 +02:00
parent f1ee0ea035
commit 5b2d9a5773
4 changed files with 68 additions and 1 deletions
@@ -12,6 +12,7 @@ import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
import java.util.UUID;
@@ -139,6 +140,19 @@ public class TrackImporter {
track.setUuid(UUID.randomUUID());
}
Collections.sort(trackPoints, new Comparator<TrackPoint>() {
@Override
public int compare(TrackPoint o1, TrackPoint o2) {
if (o1.getTime().isBefore(o2.getTime())) {
return -1;
}
if (o1.getTime().isAfter(o2.getTime())) {
return 1;
}
return 0;
}
});
TrackStatisticsUpdater updater = new TrackStatisticsUpdater();
updater.addTrackPoints(trackPoints, recordingDistanceInterval);
track.setTrackStatistics(updater.getTrackStatistics());