Introduced Statistics as a value object.

This commit is contained in:
Dennis Guse
2025-10-26 20:23:39 +01:00
parent fba08fe8dd
commit 920ad5129a
8 changed files with 105 additions and 29 deletions
@@ -24,6 +24,7 @@ import java.time.Duration;
import java.time.Instant;
import de.dennisguse.opentracks.data.models.Altitude;
import de.dennisguse.opentracks.data.models.AltitudeGainLoss;
import de.dennisguse.opentracks.data.models.Distance;
import de.dennisguse.opentracks.data.models.HeartRate;
import de.dennisguse.opentracks.data.models.Power;
@@ -198,6 +199,24 @@ public class SegmentStatisticUpdater {
setStartTime(startTime);
}
public Statistics getStatistics() {
return new Statistics(
startTime,
stopTime,
totalTime,
movingTime,
totalDistance,
isIdle,
getMaxSpeed(),
altitudeExtremities.hasData() ? altitudeExtremities.getMin() : null,
altitudeExtremities.hasData() ? altitudeExtremities.getMax() : null,
totalAltitudeGain_m != null && totalAltitudeLoss_m != null ? new AltitudeGainLoss(totalAltitudeGain_m, totalAltitudeLoss_m) : null,
avgHeartRate,
avgPower
);
}
public Instant getStartTime() {
return startTime;
}