Create SegmentStatisticUpdater by passing Statistics (2/2).

This commit is contained in:
Dennis Guse
2025-10-28 18:19:14 +01:00
parent fff5f2d406
commit 0ad32f676c
6 changed files with 18 additions and 13 deletions
@@ -142,8 +142,9 @@ public class Track {
return trackStatistics.getStatistics();
}
public Statistics setStatistics() {
throw new RuntimeException("TODO");
public void setStatistics(Statistics statistics) {
//TODO Implementation is used for refactoring: this.statistics = statistics;
setTrackStatistics(new SegmentStatisticUpdater(statistics));
}
@Deprecated
@@ -11,6 +11,7 @@ import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import de.dennisguse.opentracks.data.models.Statistics;
import de.dennisguse.opentracks.data.models.Track;
import de.dennisguse.opentracks.util.FileUtils;
@@ -91,7 +92,7 @@ public class TrackFilenameGenerator {
Track track = new Track();
track.setName("Berlin");
track.setUuid(UUID.fromString("f81d4fae-7dec-11d0-a765-00a0c91e6bf6"));
track.getTrackStatistics().setStartTime(Instant.ofEpochMilli(0));
track.setStatistics(new Statistics(Instant.MIN, null, null, null, null, false, null, null, null, null, null));
return format(track, TrackFileFormat.KMZ_WITH_TRACKDETAIL_AND_SENSORDATA_AND_PICTURES);
}
@@ -8,6 +8,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import de.dennisguse.opentracks.data.models.Statistics;
import de.dennisguse.opentracks.data.models.Track;
import de.dennisguse.opentracks.stats.SegmentStatisticUpdater;
@@ -35,9 +36,9 @@ public class AggregatedStatistics {
public void aggregate(@NonNull Track track) {
String activityTypeLocalized = track.getActivityTypeLocalized();
if (dataMap.containsKey(activityTypeLocalized)) {
dataMap.get(activityTypeLocalized).add(track.getTrackStatistics());
dataMap.get(activityTypeLocalized).add(track.getStatistics());
} else {
dataMap.put(activityTypeLocalized, new AggregatedStatistic(activityTypeLocalized, track.getTrackStatistics()));
dataMap.put(activityTypeLocalized, new AggregatedStatistic(activityTypeLocalized, track.getStatistics()));
}
}
@@ -58,9 +59,9 @@ public class AggregatedStatistics {
private final SegmentStatisticUpdater trackStatistics;
private int countTracks = 1;
public AggregatedStatistic(String activityTypeLocalized, SegmentStatisticUpdater trackStatistics) {
public AggregatedStatistic(String activityTypeLocalized, Statistics trackStatistics) {
this.activityTypeLocalized = activityTypeLocalized;
this.trackStatistics = trackStatistics;
this.trackStatistics = new SegmentStatisticUpdater(trackStatistics);
}
public String getActivityTypeLocalized() {
@@ -75,8 +76,8 @@ public class AggregatedStatistics {
return countTracks;
}
void add(SegmentStatisticUpdater statistics) {
trackStatistics.merge(statistics);
void add(Statistics statistics) {
trackStatistics.merge(new SegmentStatisticUpdater(statistics));
countTracks++;
}
}