Cleanup: SegmentStatisticUpdater is always initialized.

This commit is contained in:
Dennis Guse
2025-11-21 16:19:32 +01:00
parent 1ef7a6ecc4
commit 73d6ca6ca6
6 changed files with 48 additions and 57 deletions
@@ -7,15 +7,20 @@ import java.time.Duration;
import java.time.Instant;
import java.util.Objects;
//TODO Add @NonNull to attributes
public record Statistics(
@NonNull
Instant startTime,
@NonNull
Instant stopTime,
@NonNull
Duration totalDuration,
@NonNull
Duration movingDuration, // Based on when we believe the user is traveling
@NonNull
Distance totalDistance,
@NonNull
Speed maxSpeed,
@Nullable
@@ -31,6 +36,22 @@ public record Statistics(
Power avgPower
) {
//TODO: Should not be necessary; refactor and remove.
@Deprecated
public static final Statistics DEFAULT =
new Statistics(
null,
null,
Duration.ZERO,
Duration.ZERO,
Distance.ZERO,
Speed.ZERO,
null,
null,
null,
null
);
public Duration getStoppedTime() {
return totalDuration.minus(movingDuration);
}
@@ -24,6 +24,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import java.time.Duration;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
import java.util.UUID;
@@ -67,7 +68,7 @@ public class Track {
@Deprecated //TODO Remove
public Track(@NonNull ZoneOffset zoneOffset) {
this(zoneOffset, new SegmentStatisticUpdater().getStatistics());
this(zoneOffset, Statistics.DEFAULT);
}
public Track(@NonNull ZoneOffset zoneOffset, @NonNull Statistics trackStatistics) {