forked from upstream-mirrors/OpenTracks
Intervals: added elevation gain and only shows speed or pace, depending on settings.
This commit is contained in:
@@ -24,6 +24,7 @@ public class IntervalStatistics {
|
||||
}
|
||||
|
||||
Interval interval = new Interval();
|
||||
interval.gain_m += trackPointList.get(0).hasElevationGain() ? trackPointList.get(0).getElevationGain() : 0;
|
||||
for (int i = 1; i < trackPointList.size(); i++) {
|
||||
TrackPoint prevTrackPoint = trackPointList.get(i - 1);
|
||||
TrackPoint trackPoint = trackPointList.get(i);
|
||||
@@ -31,6 +32,7 @@ public class IntervalStatistics {
|
||||
if (LocationUtils.isValidLocation(trackPoint.getLocation()) && LocationUtils.isValidLocation(prevTrackPoint.getLocation())) {
|
||||
interval.distance_m += prevTrackPoint.distanceTo(trackPoint);
|
||||
interval.time_ms += trackPoint.getTime() - prevTrackPoint.getTime();
|
||||
interval.gain_m += trackPoint.hasElevationGain() ? trackPoint.getElevationGain() : 0;
|
||||
|
||||
if (interval.distance_m >= distanceInterval_m) {
|
||||
float adjustFactor = distanceInterval_m / interval.distance_m;
|
||||
@@ -80,17 +82,20 @@ public class IntervalStatistics {
|
||||
public static class Interval {
|
||||
private float distance_m = 0f;
|
||||
private float time_ms = 0f;
|
||||
private float gain_m = 0f;
|
||||
|
||||
public Interval() {}
|
||||
|
||||
public Interval(float distance_m, float time_ms) {
|
||||
this.distance_m = distance_m;
|
||||
this.time_ms = time_ms;
|
||||
this.gain_m = 0f;
|
||||
}
|
||||
|
||||
public Interval(Interval i) {
|
||||
distance_m = i.distance_m;
|
||||
time_ms = i.time_ms;
|
||||
gain_m = i.gain_m;
|
||||
}
|
||||
|
||||
public float getDistance_m() {
|
||||
@@ -111,5 +116,9 @@ public class IntervalStatistics {
|
||||
}
|
||||
return distance_m / (float) (time_ms * UnitConversions.MS_TO_S);
|
||||
}
|
||||
|
||||
public float getGain_m() {
|
||||
return gain_m;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user