Intervals are computated through TrackStatisticsUpdater. Fixes #703.

This commit is contained in:
Román Martínez
2021-04-08 22:32:21 +02:00
parent 47a340578f
commit 4c68592a0c
6 changed files with 66 additions and 28 deletions
@@ -12,6 +12,8 @@ import java.util.List;
import de.dennisguse.opentracks.content.data.Distance;
import de.dennisguse.opentracks.content.data.TrackPoint;
import de.dennisguse.opentracks.util.PreferencesUtils;
import de.dennisguse.opentracks.util.UnitConversions;
/**
* This model is used to load intervals for a track.
@@ -22,9 +24,11 @@ public class IntervalStatisticsModel extends AndroidViewModel {
private final List<TrackPoint> trackPoints = new ArrayList<>();
private MutableLiveData<List<IntervalStatistics.Interval>> intervalsLiveData;
private Distance distanceInterval;
private Distance minGPSDistance;
public IntervalStatisticsModel(@NonNull Application application) {
super(application);
minGPSDistance = PreferencesUtils.getRecordingDistanceInterval(PreferencesUtils.getSharedPreferences(application), application);
}
public MutableLiveData<List<IntervalStatistics.Interval>> getIntervalStats(boolean metricUnits, @Nullable IntervalOption interval) {
@@ -43,7 +47,7 @@ public class IntervalStatisticsModel extends AndroidViewModel {
}
private void loadIntervalStatistics() {
IntervalStatistics intervalStatistics = new IntervalStatistics(trackPoints, distanceInterval);
IntervalStatistics intervalStatistics = new IntervalStatistics(trackPoints, distanceInterval, minGPSDistance);
intervalsLiveData.postValue(intervalStatistics.getIntervalList());
}