From 8f537f33a75447e8f6b20524be6b85fd310e2c8d Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Wed, 29 Oct 2025 21:25:05 +0100 Subject: [PATCH] Cleanup: removed Track.setTrackStatistics(SegmentStatisticsUpdater). --- .../data/CustomContentProviderUtilsTest.java | 29 ++++++++------- ...cordingServiceNotificationManagerTest.java | 37 +++++++++---------- .../share/TrackShareSummaryGeneratorTest.java | 34 ++++++++--------- .../AggregatedStatisticsTest.java | 29 ++++++++------- .../opentracks/data/models/Track.java | 5 --- 5 files changed, 67 insertions(+), 67 deletions(-) diff --git a/src/androidTest/java/de/dennisguse/opentracks/data/CustomContentProviderUtilsTest.java b/src/androidTest/java/de/dennisguse/opentracks/data/CustomContentProviderUtilsTest.java index 3dad21cdf..93ec4e9a4 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/data/CustomContentProviderUtilsTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/data/CustomContentProviderUtilsTest.java @@ -51,18 +51,20 @@ import java.util.UUID; import de.dennisguse.opentracks.content.data.TestDataUtil; import de.dennisguse.opentracks.content.data.TestSensorDataUtil; import de.dennisguse.opentracks.data.models.Altitude; +import de.dennisguse.opentracks.data.models.AltitudeExtremities; +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.Marker; import de.dennisguse.opentracks.data.models.Position; import de.dennisguse.opentracks.data.models.Speed; +import de.dennisguse.opentracks.data.models.Statistics; import de.dennisguse.opentracks.data.models.Track; import de.dennisguse.opentracks.data.models.TrackPoint; import de.dennisguse.opentracks.data.tables.MarkerColumns; import de.dennisguse.opentracks.data.tables.TrackPointsColumns; import de.dennisguse.opentracks.data.tables.TracksColumns; import de.dennisguse.opentracks.stats.SensorStatistics; -import de.dennisguse.opentracks.stats.SegmentStatisticUpdater; import de.dennisguse.opentracks.util.FileUtils; /** @@ -406,18 +408,19 @@ public class CustomContentProviderUtilsTest { Pair> track = TestDataUtil.createTrack(trackId, 10); // AverageSpeed - SegmentStatisticUpdater statistics = new SegmentStatisticUpdater(); - statistics.setStartTime(Instant.ofEpochMilli(1000)); - statistics.setStopTime(Instant.ofEpochMilli(2500)); - statistics.setTotalTime(Duration.ofMillis(1500)); - statistics.setMovingTime(Duration.ofMillis(700)); - statistics.setTotalDistance(Distance.of(750.0)); - statistics.setTotalAltitudeGain(50.0f); - statistics.setMaxSpeed(Speed.of(60.0)); - statistics.setMaxAltitude(1250.0); - statistics.setMinAltitude(1200.0); - - track.first.setTrackStatistics(statistics); + track.first.setStatistics(new Statistics( + Instant.ofEpochMilli(1000), + Instant.ofEpochMilli(2500), + Duration.ofMillis(1500), + Duration.ofMillis(700), + Distance.of(750), + false, + Speed.of(60), + new AltitudeExtremities(1250, 1200), + new AltitudeGainLoss(50, 50), + null, + null + )); contentProviderUtils.insertTrack(track.first); Marker marker = new Marker(trackId, track.second.get(0)); diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceNotificationManagerTest.java b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceNotificationManagerTest.java index 97a03e161..8c01dfe80 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceNotificationManagerTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceNotificationManagerTest.java @@ -16,25 +16,20 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; +import de.dennisguse.opentracks.data.models.Altitude; import de.dennisguse.opentracks.data.models.Distance; +import de.dennisguse.opentracks.data.models.Position; import de.dennisguse.opentracks.data.models.Speed; import de.dennisguse.opentracks.data.models.Statistics; import de.dennisguse.opentracks.data.models.Track; import de.dennisguse.opentracks.data.models.TrackPoint; import de.dennisguse.opentracks.settings.UnitSystem; -import de.dennisguse.opentracks.stats.SegmentStatisticUpdater; @RunWith(MockitoJUnitRunner.class) public class TrackRecordingServiceNotificationManagerTest { private final Context context = ApplicationProvider.getApplicationContext(); - @Mock - private TrackPoint trackPointMock; //TODO No mock - - @Mock - private SegmentStatisticUpdater trackStatisticsMock; //TODO only use Statistic (not mock) - @Mock private NotificationCompat.Builder notificationCompatBuilder; @@ -43,10 +38,22 @@ public class TrackRecordingServiceNotificationManagerTest { @Test public void updateLocation_triggersAlertOnlyOnFirstInaccurateLocation() { - when(trackPointMock.hasHorizontalAccuracy()).thenReturn(true); - when(trackPointMock.getHorizontalAccuracy()).thenReturn(Distance.of(999f)); - when(trackPointMock.getSpeed()).thenReturn(Speed.of(0)); - when(trackStatisticsMock.getStatistics()).thenReturn(new Statistics( + TrackPoint trackPointMock = new TrackPoint(TrackPoint.Type.TRACKPOINT, + new Position( + null, + null, null, Distance.of(999f), + Altitude.WGS84.of(10), null, + null, + Speed.of(0)) + ); + + when(notificationCompatBuilder.setOnlyAlertOnce(anyBoolean())) + .thenReturn(notificationCompatBuilder); + + TrackRecordingServiceNotificationManager subject = new TrackRecordingServiceNotificationManager(notificationManager, notificationCompatBuilder); + subject.setUnitSystem(UnitSystem.METRIC); + + Track track = new Track(new Statistics( null, null, null, @@ -59,14 +66,6 @@ public class TrackRecordingServiceNotificationManagerTest { null, null )); - when(notificationCompatBuilder.setOnlyAlertOnce(anyBoolean())) - .thenReturn(notificationCompatBuilder); - - TrackRecordingServiceNotificationManager subject = new TrackRecordingServiceNotificationManager(notificationManager, notificationCompatBuilder); - subject.setUnitSystem(UnitSystem.METRIC); - - Track track = new Track(); - track.setTrackStatistics(trackStatisticsMock); RecordingData data = new RecordingData(track, trackPointMock, null, null); // when diff --git a/src/androidTest/java/de/dennisguse/opentracks/share/TrackShareSummaryGeneratorTest.java b/src/androidTest/java/de/dennisguse/opentracks/share/TrackShareSummaryGeneratorTest.java index df92ea7ad..fc98b5b13 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/share/TrackShareSummaryGeneratorTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/share/TrackShareSummaryGeneratorTest.java @@ -18,8 +18,6 @@ package de.dennisguse.opentracks.share; import static org.junit.Assert.assertEquals; -import android.content.Context; - import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; @@ -36,10 +34,12 @@ import java.util.Locale; import de.dennisguse.opentracks.LocaleRule; import de.dennisguse.opentracks.R; +import de.dennisguse.opentracks.data.models.AltitudeExtremities; +import de.dennisguse.opentracks.data.models.AltitudeGainLoss; import de.dennisguse.opentracks.data.models.Distance; import de.dennisguse.opentracks.data.models.Speed; +import de.dennisguse.opentracks.data.models.Statistics; import de.dennisguse.opentracks.data.models.Track; -import de.dennisguse.opentracks.stats.SegmentStatisticUpdater; import de.dennisguse.opentracks.util.StringUtils; /** @@ -56,8 +56,6 @@ public class TrackShareSummaryGeneratorTest { private static final Instant START_TIME = Instant.ofEpochMilli(1288721514000L); private TrackShareSummaryGenerator descriptionGenerator; - private final Context context = ApplicationProvider.getApplicationContext(); - @Before public void setUp() { descriptionGenerator = new TrackShareSummaryGenerator(ApplicationProvider.getApplicationContext()); @@ -65,19 +63,21 @@ public class TrackShareSummaryGeneratorTest { @Test public void testGenerateTrackDescription() { - Track track = new Track(); - SegmentStatisticUpdater stats = new SegmentStatisticUpdater(); - stats.setTotalDistance(Distance.of(20000)); - stats.setTotalTime(Duration.ofMillis(600000)); - stats.setMovingTime(Duration.ofMillis(300000)); - stats.setMaxSpeed(Speed.of(100)); - stats.setMaxAltitude(550); - stats.setMinAltitude(-500); - stats.setTotalAltitudeGain(6000f); - stats.setTotalAltitudeLoss(6000f); - stats.setStartTime(START_TIME); - track.setTrackStatistics(stats); + Track track = new Track(new Statistics( + START_TIME, + START_TIME, + Duration.ofSeconds(600), + Duration.ofSeconds(300), + Distance.of(20000), + false, + Speed.of(100), + new AltitudeExtremities(-500, 550), + new AltitudeGainLoss(6000, 6000), + null, + null + )); track.setActivityTypeLocalized("hiking"); + String expected = //"Created by" "OpenTracks (Debug)\n\n" + "Name: -\n" diff --git a/src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsTest.java b/src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsTest.java index 463d7cc3c..b49fa24d2 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/AggregatedStatisticsTest.java @@ -17,8 +17,11 @@ import java.util.List; import de.dennisguse.opentracks.R; import de.dennisguse.opentracks.data.models.ActivityType; +import de.dennisguse.opentracks.data.models.AltitudeExtremities; +import de.dennisguse.opentracks.data.models.AltitudeGainLoss; import de.dennisguse.opentracks.data.models.Distance; import de.dennisguse.opentracks.data.models.Speed; +import de.dennisguse.opentracks.data.models.Statistics; import de.dennisguse.opentracks.data.models.Track; import de.dennisguse.opentracks.stats.SegmentStatisticUpdater; @@ -28,21 +31,21 @@ public class AggregatedStatisticsTest { private final Context context = ApplicationProvider.getApplicationContext(); private static Track createTrack(Context context, Distance totalDistance, Duration totalTime, String activityTypeLocalized) { - SegmentStatisticUpdater statistics = new SegmentStatisticUpdater(); - statistics.setStartTime(Instant.ofEpochMilli(1000L)); // Resulting start time - statistics.setStopTime(statistics.getStartTime().plus(totalTime)); - statistics.setTotalTime(totalTime); - statistics.setMovingTime(totalTime); - statistics.setTotalDistance(totalDistance); - statistics.setTotalAltitudeGain(50.0f); - statistics.setMaxSpeed(Speed.of(50.0)); // Resulting max speed - statistics.setMaxAltitude(1250.0); - statistics.setMinAltitude(1200.0); // Resulting min altitude - - Track track = new Track(); + Track track = new Track(new Statistics( + Instant.ofEpochMilli(1000), + Instant.ofEpochMilli(1000).plus(totalTime), + totalTime, + totalTime, + totalDistance, + false, + Speed.of(50), + new AltitudeExtremities(1250, 1250), + new AltitudeGainLoss(50, 50), + null, + null + )); track.setActivityType(ActivityType.findByLocalizedString(context, activityTypeLocalized)); track.setActivityTypeLocalized(activityTypeLocalized); - track.setTrackStatistics(statistics); return track; } 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 c20d6916d..55b36b43f 100644 --- a/src/main/java/de/dennisguse/opentracks/data/models/Track.java +++ b/src/main/java/de/dennisguse/opentracks/data/models/Track.java @@ -158,11 +158,6 @@ public class Track { this.trackStatistics = trackStatistics; } - @Deprecated - public void setTrackStatistics(@NonNull SegmentStatisticUpdater trackStatistics) { - setStatistics(trackStatistics.getStatistics()); - } - @NonNull @Override public String toString() {