Skip to content

Commit

Permalink
Merge pull request #11 from SonamChugh13/karnik
Browse files Browse the repository at this point in the history
Created new method to represent nested code block in TrackStatisticsUpdater file
  • Loading branch information
KarnikShah authored Feb 11, 2024
2 parents 1baf0a5 + 8751ced commit 740b5d9
Showing 1 changed file with 25 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -125,33 +125,7 @@ public void addTrackPoint(TrackPoint trackPoint) {
currentSegment.setAverageHeartRate(HeartRate.of(averageHeartRateBPM));
}

{
// Update total distance
Distance movingDistance = null;
if (trackPoint.hasSensorDistance()) {
movingDistance = trackPoint.getSensorDistance();
} else if (lastTrackPoint != null
&& lastTrackPoint.hasLocation()
&& trackPoint.hasLocation()) {
// GPS-based distance/speed
movingDistance = trackPoint.distanceToPrevious(lastTrackPoint);
}
if (movingDistance != null) {
currentSegment.setIdle(false);
currentSegment.addTotalDistance(movingDistance);
}

if (!currentSegment.isIdle() && !trackPoint.isSegmentManualStart() && lastTrackPoint != null) {
currentSegment.addMovingTime(trackPoint, lastTrackPoint);

if (trackPoint.getType() == TrackPoint.Type.IDLE) {
currentSegment.setIdle(true);
}

if (trackPoint.hasSpeed()) {
updateSpeed(trackPoint);
}
}
updateDistanceAndSpeed(trackPoint);

if (trackPoint.isSegmentManualEnd()) {
reset(trackPoint);
Expand All @@ -161,6 +135,30 @@ public void addTrackPoint(TrackPoint trackPoint) {
lastTrackPoint = trackPoint;
}

// Extracted method for updating total distance and speed
private void updateDistanceAndSpeed(TrackPoint trackPoint) {
Distance movingDistance = null;
if (trackPoint.hasSensorDistance()) {
movingDistance = trackPoint.getSensorDistance();
} else if (lastTrackPoint != null && lastTrackPoint.hasLocation() && trackPoint.hasLocation()) {
// GPS-based distance/speed
movingDistance = trackPoint.distanceToPrevious(lastTrackPoint);
}
if (movingDistance != null) {
currentSegment.setIdle(false);
currentSegment.addTotalDistance(movingDistance);
}
if (!currentSegment.isIdle() && !trackPoint.isSegmentManualStart() && lastTrackPoint != null) {
currentSegment.addMovingTime(trackPoint, lastTrackPoint);
}
if (trackPoint.getType() == TrackPoint.Type.IDLE) {
currentSegment.setIdle(true);
}
if (trackPoint.hasSpeed()) {
updateSpeed(trackPoint);
}
}

private void reset(TrackPoint trackPoint) {
if (currentSegment.isInitialized()) {
trackStatistics.merge(currentSegment);
Expand Down

0 comments on commit 740b5d9

Please sign in to comment.