Cleanup: removed Track.setTrackStatistics(SegmentStatisticsUpdater).

This commit is contained in:
Dennis Guse
2025-10-29 21:25:05 +01:00
parent 4db72230ff
commit 8f537f33a7
5 changed files with 67 additions and 67 deletions
@@ -51,18 +51,20 @@ import java.util.UUID;
import de.dennisguse.opentracks.content.data.TestDataUtil; import de.dennisguse.opentracks.content.data.TestDataUtil;
import de.dennisguse.opentracks.content.data.TestSensorDataUtil; import de.dennisguse.opentracks.content.data.TestSensorDataUtil;
import de.dennisguse.opentracks.data.models.Altitude; 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.Distance;
import de.dennisguse.opentracks.data.models.HeartRate; import de.dennisguse.opentracks.data.models.HeartRate;
import de.dennisguse.opentracks.data.models.Marker; import de.dennisguse.opentracks.data.models.Marker;
import de.dennisguse.opentracks.data.models.Position; import de.dennisguse.opentracks.data.models.Position;
import de.dennisguse.opentracks.data.models.Speed; 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.Track;
import de.dennisguse.opentracks.data.models.TrackPoint; import de.dennisguse.opentracks.data.models.TrackPoint;
import de.dennisguse.opentracks.data.tables.MarkerColumns; import de.dennisguse.opentracks.data.tables.MarkerColumns;
import de.dennisguse.opentracks.data.tables.TrackPointsColumns; import de.dennisguse.opentracks.data.tables.TrackPointsColumns;
import de.dennisguse.opentracks.data.tables.TracksColumns; import de.dennisguse.opentracks.data.tables.TracksColumns;
import de.dennisguse.opentracks.stats.SensorStatistics; import de.dennisguse.opentracks.stats.SensorStatistics;
import de.dennisguse.opentracks.stats.SegmentStatisticUpdater;
import de.dennisguse.opentracks.util.FileUtils; import de.dennisguse.opentracks.util.FileUtils;
/** /**
@@ -406,18 +408,19 @@ public class CustomContentProviderUtilsTest {
Pair<Track, List<TrackPoint>> track = TestDataUtil.createTrack(trackId, 10); Pair<Track, List<TrackPoint>> track = TestDataUtil.createTrack(trackId, 10);
// AverageSpeed // AverageSpeed
SegmentStatisticUpdater statistics = new SegmentStatisticUpdater(); track.first.setStatistics(new Statistics(
statistics.setStartTime(Instant.ofEpochMilli(1000)); Instant.ofEpochMilli(1000),
statistics.setStopTime(Instant.ofEpochMilli(2500)); Instant.ofEpochMilli(2500),
statistics.setTotalTime(Duration.ofMillis(1500)); Duration.ofMillis(1500),
statistics.setMovingTime(Duration.ofMillis(700)); Duration.ofMillis(700),
statistics.setTotalDistance(Distance.of(750.0)); Distance.of(750),
statistics.setTotalAltitudeGain(50.0f); false,
statistics.setMaxSpeed(Speed.of(60.0)); Speed.of(60),
statistics.setMaxAltitude(1250.0); new AltitudeExtremities(1250, 1200),
statistics.setMinAltitude(1200.0); new AltitudeGainLoss(50, 50),
null,
track.first.setTrackStatistics(statistics); null
));
contentProviderUtils.insertTrack(track.first); contentProviderUtils.insertTrack(track.first);
Marker marker = new Marker(trackId, track.second.get(0)); Marker marker = new Marker(trackId, track.second.get(0));
@@ -16,25 +16,20 @@ import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner; 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.Distance;
import de.dennisguse.opentracks.data.models.Position;
import de.dennisguse.opentracks.data.models.Speed; import de.dennisguse.opentracks.data.models.Speed;
import de.dennisguse.opentracks.data.models.Statistics; import de.dennisguse.opentracks.data.models.Statistics;
import de.dennisguse.opentracks.data.models.Track; import de.dennisguse.opentracks.data.models.Track;
import de.dennisguse.opentracks.data.models.TrackPoint; import de.dennisguse.opentracks.data.models.TrackPoint;
import de.dennisguse.opentracks.settings.UnitSystem; import de.dennisguse.opentracks.settings.UnitSystem;
import de.dennisguse.opentracks.stats.SegmentStatisticUpdater;
@RunWith(MockitoJUnitRunner.class) @RunWith(MockitoJUnitRunner.class)
public class TrackRecordingServiceNotificationManagerTest { public class TrackRecordingServiceNotificationManagerTest {
private final Context context = ApplicationProvider.getApplicationContext(); private final Context context = ApplicationProvider.getApplicationContext();
@Mock
private TrackPoint trackPointMock; //TODO No mock
@Mock
private SegmentStatisticUpdater trackStatisticsMock; //TODO only use Statistic (not mock)
@Mock @Mock
private NotificationCompat.Builder notificationCompatBuilder; private NotificationCompat.Builder notificationCompatBuilder;
@@ -43,10 +38,22 @@ public class TrackRecordingServiceNotificationManagerTest {
@Test @Test
public void updateLocation_triggersAlertOnlyOnFirstInaccurateLocation() { public void updateLocation_triggersAlertOnlyOnFirstInaccurateLocation() {
when(trackPointMock.hasHorizontalAccuracy()).thenReturn(true); TrackPoint trackPointMock = new TrackPoint(TrackPoint.Type.TRACKPOINT,
when(trackPointMock.getHorizontalAccuracy()).thenReturn(Distance.of(999f)); new Position(
when(trackPointMock.getSpeed()).thenReturn(Speed.of(0)); null,
when(trackStatisticsMock.getStatistics()).thenReturn(new Statistics( 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, null,
null, null,
@@ -59,14 +66,6 @@ public class TrackRecordingServiceNotificationManagerTest {
null, null,
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); RecordingData data = new RecordingData(track, trackPointMock, null, null);
// when // when
@@ -18,8 +18,6 @@ package de.dennisguse.opentracks.share;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import android.content.Context;
import androidx.test.core.app.ApplicationProvider; import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -36,10 +34,12 @@ import java.util.Locale;
import de.dennisguse.opentracks.LocaleRule; import de.dennisguse.opentracks.LocaleRule;
import de.dennisguse.opentracks.R; 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.Distance;
import de.dennisguse.opentracks.data.models.Speed; 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.Track;
import de.dennisguse.opentracks.stats.SegmentStatisticUpdater;
import de.dennisguse.opentracks.util.StringUtils; import de.dennisguse.opentracks.util.StringUtils;
/** /**
@@ -56,8 +56,6 @@ public class TrackShareSummaryGeneratorTest {
private static final Instant START_TIME = Instant.ofEpochMilli(1288721514000L); private static final Instant START_TIME = Instant.ofEpochMilli(1288721514000L);
private TrackShareSummaryGenerator descriptionGenerator; private TrackShareSummaryGenerator descriptionGenerator;
private final Context context = ApplicationProvider.getApplicationContext();
@Before @Before
public void setUp() { public void setUp() {
descriptionGenerator = new TrackShareSummaryGenerator(ApplicationProvider.getApplicationContext()); descriptionGenerator = new TrackShareSummaryGenerator(ApplicationProvider.getApplicationContext());
@@ -65,19 +63,21 @@ public class TrackShareSummaryGeneratorTest {
@Test @Test
public void testGenerateTrackDescription() { public void testGenerateTrackDescription() {
Track track = new Track(); Track track = new Track(new Statistics(
SegmentStatisticUpdater stats = new SegmentStatisticUpdater(); START_TIME,
stats.setTotalDistance(Distance.of(20000)); START_TIME,
stats.setTotalTime(Duration.ofMillis(600000)); Duration.ofSeconds(600),
stats.setMovingTime(Duration.ofMillis(300000)); Duration.ofSeconds(300),
stats.setMaxSpeed(Speed.of(100)); Distance.of(20000),
stats.setMaxAltitude(550); false,
stats.setMinAltitude(-500); Speed.of(100),
stats.setTotalAltitudeGain(6000f); new AltitudeExtremities(-500, 550),
stats.setTotalAltitudeLoss(6000f); new AltitudeGainLoss(6000, 6000),
stats.setStartTime(START_TIME); null,
track.setTrackStatistics(stats); null
));
track.setActivityTypeLocalized("hiking"); track.setActivityTypeLocalized("hiking");
String expected = //"Created by" String expected = //"Created by"
"OpenTracks (Debug)\n\n" "OpenTracks (Debug)\n\n"
+ "Name: -\n" + "Name: -\n"
@@ -17,8 +17,11 @@ import java.util.List;
import de.dennisguse.opentracks.R; import de.dennisguse.opentracks.R;
import de.dennisguse.opentracks.data.models.ActivityType; 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.Distance;
import de.dennisguse.opentracks.data.models.Speed; 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.Track;
import de.dennisguse.opentracks.stats.SegmentStatisticUpdater; import de.dennisguse.opentracks.stats.SegmentStatisticUpdater;
@@ -28,21 +31,21 @@ public class AggregatedStatisticsTest {
private final Context context = ApplicationProvider.getApplicationContext(); private final Context context = ApplicationProvider.getApplicationContext();
private static Track createTrack(Context context, Distance totalDistance, Duration totalTime, String activityTypeLocalized) { private static Track createTrack(Context context, Distance totalDistance, Duration totalTime, String activityTypeLocalized) {
SegmentStatisticUpdater statistics = new SegmentStatisticUpdater(); Track track = new Track(new Statistics(
statistics.setStartTime(Instant.ofEpochMilli(1000L)); // Resulting start time Instant.ofEpochMilli(1000),
statistics.setStopTime(statistics.getStartTime().plus(totalTime)); Instant.ofEpochMilli(1000).plus(totalTime),
statistics.setTotalTime(totalTime); totalTime,
statistics.setMovingTime(totalTime); totalTime,
statistics.setTotalDistance(totalDistance); totalDistance,
statistics.setTotalAltitudeGain(50.0f); false,
statistics.setMaxSpeed(Speed.of(50.0)); // Resulting max speed Speed.of(50),
statistics.setMaxAltitude(1250.0); new AltitudeExtremities(1250, 1250),
statistics.setMinAltitude(1200.0); // Resulting min altitude new AltitudeGainLoss(50, 50),
null,
Track track = new Track(); null
));
track.setActivityType(ActivityType.findByLocalizedString(context, activityTypeLocalized)); track.setActivityType(ActivityType.findByLocalizedString(context, activityTypeLocalized));
track.setActivityTypeLocalized(activityTypeLocalized); track.setActivityTypeLocalized(activityTypeLocalized);
track.setTrackStatistics(statistics);
return track; return track;
} }
@@ -158,11 +158,6 @@ public class Track {
this.trackStatistics = trackStatistics; this.trackStatistics = trackStatistics;
} }
@Deprecated
public void setTrackStatistics(@NonNull SegmentStatisticUpdater trackStatistics) {
setStatistics(trackStatistics.getStatistics());
}
@NonNull @NonNull
@Override @Override
public String toString() { public String toString() {