Adjusted intervals.

This commit is contained in:
Román
2020-08-12 09:52:18 +02:00
committed by Román Martínez
parent 7a923a947e
commit 2b95dbab22
@@ -1,5 +1,7 @@
package de.dennisguse.opentracks.viewmodels;
import android.util.Log;
import java.util.ArrayList;
import java.util.List;
@@ -31,8 +33,18 @@ public class IntervalStatistics {
interval.time += trackPoint.getTime() - prevTrackPoint.getTime();
if (interval.distance >= distanceInterval) {
intervalList.add(interval);
interval = new Interval();
float adjustFactor = distanceInterval / interval.distance;
Interval adjustedInterval = new Interval(interval);
adjustedInterval.distance *= adjustFactor;
adjustedInterval.time *= adjustFactor;
intervalList.add(adjustedInterval);
Interval newInterval = new Interval();
newInterval.distance = interval.distance - adjustedInterval.distance;
newInterval.time = interval.time - adjustedInterval.time;
interval = newInterval;
}
}
}
@@ -54,6 +66,13 @@ public class IntervalStatistics {
return distance;
}
public Interval() {}
public Interval(Interval i) {
distance = i.distance;
time = i.time;
}
/**
* @return speed of the interval in m/s.
*/