Skip to content
This repository was archived by the owner on Aug 16, 2025. It is now read-only.

Commit fa2a78a

Browse files
committed
fix #481 NPE in MapData
1 parent 160dc91 commit fa2a78a

File tree

1 file changed

+16
-17
lines changed
  • src/main/kotlin/de/storchp/opentracks/osmplugin/map

1 file changed

+16
-17
lines changed

src/main/kotlin/de/storchp/opentracks/osmplugin/map/MapData.kt

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import org.oscim.map.Map
1717
import java.time.ZoneId
1818
import java.time.format.DateTimeFormatter
1919
import java.time.format.FormatStyle
20+
import java.util.Locale
2021

2122

2223
data class MapData(
@@ -57,9 +58,9 @@ data class MapData(
5758
polylinesLayer.layers.add(polyline)
5859

5960
if (endPoint != null) {
60-
polyline!!.addPoint(endPoint!!.latLong!!)
61+
polyline!!.addPoint(endPoint!!.latLong)
6162
} else if (startPoint != null) {
62-
polyline!!.addPoint(startPoint!!.latLong!!)
63+
polyline!!.addPoint(startPoint!!.latLong)
6364
}
6465

6566
addPoint(trackpoint)
@@ -76,7 +77,7 @@ data class MapData(
7677

7778
private fun addPoint(trackpoint: Trackpoint) {
7879
endPoint = trackpoint
79-
polyline!!.addPoint(trackpoint.latLong!!)
80+
polyline!!.addPoint(trackpoint.latLong)
8081
if (startPoint == null) {
8182
startPoint = endPoint
8283
MarkerItem(
@@ -98,29 +99,27 @@ data class MapData(
9899
endPoint = null
99100
}
100101

101-
val formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT)
102-
.withLocale(context.resources.configuration.locales[0])
102+
private val formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT)
103+
.withLocale(context.resources.configuration.locales[0] ?: Locale.getDefault())
103104
.withZone(ZoneId.systemDefault())
104105

105106
fun addPauseMarker(trackpoint: Trackpoint) {
106-
trackpoint.latLong?.let {
107-
val marker = MapUtils.createMarker(
108-
latLong = it,
109-
title = context.getString(R.string.pause_title),
110-
description = createDescription(trackpoint),
111-
markerSymbol = pauseMarkerSymbol
112-
)
113-
waypointsLayer.addItem(marker)
114-
}
107+
val marker = MapUtils.createMarker(
108+
latLong = trackpoint.latLong,
109+
title = context.getString(R.string.pause_title),
110+
description = createDescription(trackpoint),
111+
markerSymbol = pauseMarkerSymbol
112+
)
113+
waypointsLayer.addItem(marker)
115114
}
116115

117116
private fun createDescription(trackpoint: Trackpoint): String {
118117
val dateTime = trackpoint.time?.let { formatter.format(it) } ?: "?"
119118
return context.getString(
120119
R.string.marker_where_when_description,
121120
dateTime,
122-
trackpoint.latLong?.latitude,
123-
trackpoint.latLong?.longitude
121+
trackpoint.latLong.latitude,
122+
trackpoint.latLong.longitude
124123
)
125124
}
126125

@@ -144,7 +143,7 @@ data class MapData(
144143
}
145144
} else {
146145
endMarker?.let {
147-
it.geoPoint = endPoint.latLong!!
146+
it.geoPoint = endPoint.latLong
148147
it.setRotation(rotation)
149148
it.description = description
150149
waypointsLayer.populate()

0 commit comments

Comments
 (0)