diff --git a/src/androidTest/java/de/dennisguse/opentracks/io/file/TrackFilenameGenerator2Test.java b/src/androidTest/java/de/dennisguse/opentracks/io/file/TrackFilenameGenerator2Test.java index fbc88f67f..9c86f1471 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/io/file/TrackFilenameGenerator2Test.java +++ b/src/androidTest/java/de/dennisguse/opentracks/io/file/TrackFilenameGenerator2Test.java @@ -9,6 +9,7 @@ import java.util.Collection; import java.util.List; import java.util.UUID; +import de.dennisguse.opentracks.data.models.Statistics; import de.dennisguse.opentracks.data.models.Track; //TODO Merge with TrackFilenameGeneratorTest whenever Junit5 gets available. @@ -36,9 +37,9 @@ public class TrackFilenameGenerator2Test { Track track = new Track(); track.setName("Best Track"); track.setUuid(UUID.fromString("f81d4fae-7dec-11d0-a765-00a0c91e6bf6")); - track.getTrackStatistics().setStartTime(Instant.parse("2020-02-02T02:02:02Z")); + track.setStatistics(new Statistics(Instant.parse("2020-02-02T02:02:02Z"), null, null, null, null, false, null, null, null, null, null)); // when - String filename = subject.format(track, TrackFileFormat.GPX); + subject.format(track, TrackFileFormat.GPX); } } \ No newline at end of file diff --git a/src/androidTest/java/de/dennisguse/opentracks/io/file/TrackFilenameGeneratorTest.java b/src/androidTest/java/de/dennisguse/opentracks/io/file/TrackFilenameGeneratorTest.java index d31c874fa..0e014f107 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/io/file/TrackFilenameGeneratorTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/io/file/TrackFilenameGeneratorTest.java @@ -17,6 +17,7 @@ import java.util.UUID; import de.dennisguse.opentracks.R; import de.dennisguse.opentracks.TimezoneRule; +import de.dennisguse.opentracks.data.models.Statistics; import de.dennisguse.opentracks.data.models.Track; @RunWith(Parameterized.class) @@ -50,7 +51,7 @@ public class TrackFilenameGeneratorTest { Track track = new Track(); track.setName("Best Track"); track.setUuid(UUID.fromString("0000fee0-0000-1000-8000-00805f9b34fb")); - track.getTrackStatistics().setStartTime(Instant.parse("2020-02-02T02:02:02Z")); + track.setStatistics(new Statistics(Instant.parse("2020-02-02T02:02:02Z"), null, null, null, null, false, null, null, null, null, null)); // when String filename = subject.format(track, TrackFileFormat.GPX); diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceRecordingTest.java b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceRecordingTest.java index 6be534a51..21ff4fb90 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceRecordingTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceRecordingTest.java @@ -610,7 +610,7 @@ public class TrackRecordingServiceRecordingTest { service.endCurrentTrack(); // then - assertEquals(new Statistics(Instant.parse(startTime), Instant.parse(stopTime), Duration.ofSeconds(4), Duration.ofSeconds(4), Distance.of(11113.275390625), false, Speed.of(1111.3275390625), new AltitudeExtremities(0.0, 0.0), new AltitudeGainLoss(0, 0), null, null) + assertEquals(new Statistics(Instant.parse(startTime), Instant.parse(stopTime), Duration.ofSeconds(10), Duration.ofSeconds(10), Distance.of(11113.275390625), false, Speed.of(1111.3275146484375), new AltitudeExtremities(0.0, 0.0), new AltitudeGainLoss(0, 0), null, null) , contentProviderUtils.getTrack(trackId).getStatistics()); diff --git a/src/main/java/de/dennisguse/opentracks/data/models/Track.java b/src/main/java/de/dennisguse/opentracks/data/models/Track.java index 5ee9fb646..ba9b903aa 100644 --- a/src/main/java/de/dennisguse/opentracks/data/models/Track.java +++ b/src/main/java/de/dennisguse/opentracks/data/models/Track.java @@ -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 diff --git a/src/main/java/de/dennisguse/opentracks/io/file/TrackFilenameGenerator.java b/src/main/java/de/dennisguse/opentracks/io/file/TrackFilenameGenerator.java index 6f7ae8f65..06bda1c63 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/TrackFilenameGenerator.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/TrackFilenameGenerator.java @@ -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); } diff --git a/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatistics.java b/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatistics.java index 40e8bffcb..5a6faa17d 100644 --- a/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatistics.java +++ b/src/main/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatistics.java @@ -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++; } }