diff --git a/app/src/main/java/org/y20k/trackbook/helpers/MapOverlayHelper.kt b/app/src/main/java/org/y20k/trackbook/helpers/MapOverlayHelper.kt index 04e147b..e7f20f7 100644 --- a/app/src/main/java/org/y20k/trackbook/helpers/MapOverlayHelper.kt +++ b/app/src/main/java/org/y20k/trackbook/helpers/MapOverlayHelper.kt @@ -88,20 +88,18 @@ class MapOverlayHelper (private var markerListener: MarkerListener) { /* Creates icon overlay for track */ - fun createTrackOverlay(context: Context, track: Track, trackingState: Int): ItemizedIconOverlay { + fun createTrackOverlay(context: Context, track: Track, trackingState: Int, displayEndMarker: Boolean = false): ItemizedIconOverlay { val overlayItems: ArrayList = ArrayList() val wayPoints: MutableList = track.wayPoints val maxIndex: Int = wayPoints.size - 1 - wayPoints.forEachIndexed { index: Int, wayPoint: WayPoint -> - // create marker - val newMarker: Drawable - - // get drawable - when (trackingState) { - // CASE: Recording is active - Keys.STATE_TRACKING_ACTIVE -> { + when (trackingState) { + // CASE: Recording is active + Keys.STATE_TRACKING_ACTIVE -> { + wayPoints.forEach { wayPoint: WayPoint -> + // get drawable + val newMarker: Drawable if (wayPoint.starred) { newMarker = ContextCompat.getDrawable(context, R.drawable.ic_star_red_24dp)!! } else if (wayPoint.isStopOver) { @@ -109,10 +107,18 @@ class MapOverlayHelper (private var markerListener: MarkerListener) { } else { newMarker = ContextCompat.getDrawable(context, R.drawable.ic_marker_track_location_red_24dp)!! } + // create overlay item and add to list of overlay items + val overlayItem: OverlayItem = createOverlayItem(context, wayPoint.latitude, wayPoint.longitude, wayPoint.accuracy, wayPoint.provider, wayPoint.time) + overlayItem.setMarker(newMarker) + overlayItems.add(overlayItem) } - // CASE: Recording is paused/stopped - else -> { - if (index == maxIndex) { + } + // CASE: Recording is paused/stopped + else -> { + wayPoints.forEachIndexed { index: Int, wayPoint: WayPoint -> + // get drawable + val newMarker: Drawable + if (displayEndMarker && index == maxIndex) { if (wayPoint.starred) { newMarker = ContextCompat.getDrawable(context, R.drawable.ic_marker_track_end_starred_blue_36dp)!! } else { @@ -126,15 +132,13 @@ class MapOverlayHelper (private var markerListener: MarkerListener) { } else { newMarker = ContextCompat.getDrawable(context, R.drawable.ic_marker_track_location_blue_24dp)!! } + // create overlay item and add to list of overlay items + val overlayItem: OverlayItem = createOverlayItem(context, wayPoint.latitude, wayPoint.longitude, wayPoint.accuracy, wayPoint.provider, wayPoint.time) + overlayItem.setMarker(newMarker) + overlayItems.add(overlayItem) } } - - // create overlay item and add to list of overlay items - val overlayItem: OverlayItem = createOverlayItem(context, wayPoint.latitude, wayPoint.longitude, wayPoint.accuracy, wayPoint.provider, wayPoint.time) - overlayItem.setMarker(newMarker) - overlayItems.add(overlayItem) } - // create and return overlay for current position return createOverlay(context, overlayItems) } diff --git a/app/src/main/java/org/y20k/trackbook/ui/TrackFragmentLayoutHolder.kt b/app/src/main/java/org/y20k/trackbook/ui/TrackFragmentLayoutHolder.kt index 463723d..b877dff 100644 --- a/app/src/main/java/org/y20k/trackbook/ui/TrackFragmentLayoutHolder.kt +++ b/app/src/main/java/org/y20k/trackbook/ui/TrackFragmentLayoutHolder.kt @@ -146,7 +146,7 @@ data class TrackFragmentLayoutHolder(private var context: Context, private var m mapView.overlays.add(compassOverlay) // create map overlay - trackOverlay = MapOverlayHelper(markerListener).createTrackOverlay(context, track, Keys.STATE_TRACKING_NOT) + trackOverlay = MapOverlayHelper(markerListener).createTrackOverlay(context, track, Keys.STATE_TRACKING_NOT, displayEndMarker = true) if (track.wayPoints.isNotEmpty()) { mapView.overlays.add(trackOverlay) } diff --git a/app/src/main/res/drawable/ic_marker_track_end_blue_36dp.xml b/app/src/main/res/drawable/ic_marker_track_end_blue_36dp.xml index 4b8db46..b0da6dc 100644 --- a/app/src/main/res/drawable/ic_marker_track_end_blue_36dp.xml +++ b/app/src/main/res/drawable/ic_marker_track_end_blue_36dp.xml @@ -1,14 +1,10 @@ - - + android:width="36dp" + android:viewportHeight="144" + android:viewportWidth="144"> + + diff --git a/app/src/main/res/drawable/ic_marker_track_end_starred_blue_36dp.xml b/app/src/main/res/drawable/ic_marker_track_end_starred_blue_36dp.xml index 084f65a..5e03ff1 100644 --- a/app/src/main/res/drawable/ic_marker_track_end_starred_blue_36dp.xml +++ b/app/src/main/res/drawable/ic_marker_track_end_starred_blue_36dp.xml @@ -1,7 +1,10 @@ - - + - +