@@ -152,30 +152,38 @@ class GpxDetailFragment : Fragment(), WayPointListAdapter.OnItemClickListener,
152152 totalDistance = 0.0
153153 hasElevationData = false
154154 var prevTrackPoint: TrackPoint ? = null
155+
156+ minElevation = Double .MAX_VALUE
157+ maxElevation = Double .MIN_VALUE
158+
155159 track.trackSegments?.forEach { segment ->
156- segment.trackPoints?.let { points ->
157- maxElevation = points.first().elevation ? : 0.0
158- minElevation = maxElevation
159- points.forEach { trackPoint ->
160- prevTrackPoint?.let { prevPoint ->
161- totalDistance + = DistanceCalculator .distance(prevPoint, trackPoint)
162- }
163- val builder = DistancePoint .Builder ()
164- builder.setDistance(totalDistance)
165- trackPoint.elevation?.also { elevation ->
166- if (elevation < minElevation) minElevation = elevation
167- if (elevation > maxElevation) maxElevation = elevation
168- builder.setElevation(elevation)
169- hasElevationData = true
170- trackDistancePoints.add(builder.build())
171- }
172- prevTrackPoint = trackPoint
160+ segment.trackPoints?.forEach { trackPoint ->
161+ prevTrackPoint?.let { prevPoint ->
162+ totalDistance + = DistanceCalculator .distance(prevPoint, trackPoint)
163+ }
164+
165+ val builder = DistancePoint .Builder ()
166+ .setDistance(totalDistance)
167+
168+ trackPoint.elevation?.also { elevation ->
169+ if (elevation < minElevation) minElevation = elevation
170+ if (elevation > maxElevation) maxElevation = elevation
171+ builder.setElevation(elevation)
172+ hasElevationData = true
173173 }
174+
175+ trackDistancePoints.add(builder.build())
176+ prevTrackPoint = trackPoint
174177 }
175178 }
176179
180+ if (! hasElevationData) {
181+ minElevation = 0.0
182+ maxElevation = 0.0
183+ }
177184 }
178185
186+
179187 private fun buildWayPointList () {
180188 val defaultType = getString(R .string.poi)
181189 var wayPoints: MutableList <WayPoint ?>
0 commit comments