Skip to content

Commit 8865baf

Browse files
author
Seth Bourget
committed
wip code cleanup and docs updates.
1 parent 069ccc8 commit 8865baf

File tree

15 files changed

+179
-371
lines changed

15 files changed

+179
-371
lines changed

examples/src/main/java/com/mapbox/navigation/examples/core/MapboxRouteLineAndArrowActivity.kt

Lines changed: 13 additions & 112 deletions
Large diffs are not rendered by default.

examples/src/main/res/layout/layout_activity_routeline_example.xml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,4 @@
6464
app:layout_constraintStart_toStartOf="parent"
6565
app:layout_constraintBottom_toBottomOf="parent"
6666
android:visibility="invisible"/>
67-
68-
<androidx.appcompat.widget.AppCompatButton
69-
android:id="@+id/btnTemp"
70-
android:layout_width="wrap_content"
71-
android:layout_height="wrap_content"
72-
app:layout_constraintStart_toStartOf="parent"
73-
app:layout_constraintBottom_toTopOf="@id/startNavigation"/>
7467
</androidx.constraintlayout.widget.ConstraintLayout>

libnavui-maps/src/main/java/com/mapbox/navigation/ui/maps/internal/route/line/MapboxRouteLineUtils.kt

Lines changed: 42 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ import kotlin.math.max
6464
import kotlin.math.sin
6565
import kotlin.math.sqrt
6666

67-
object MapboxRouteLineUtils {
67+
internal object MapboxRouteLineUtils {
6868

6969
private const val LOG_CATEGORY = "MapboxRouteLineUtils"
7070
internal const val VANISH_POINT_STOP_GAP = .00000000001
@@ -488,7 +488,7 @@ object MapboxRouteLineUtils {
488488
* @return a list of items representing the distance offset of each route leg and the color
489489
* used to represent the traffic congestion.
490490
*/
491-
internal fun calculateRouteLineSegments(
491+
fun calculateRouteLineSegments(
492492
route: NavigationRoute,
493493
trafficBackfillRoadClasses: List<String>,
494494
isPrimaryRoute: Boolean,
@@ -877,7 +877,7 @@ object MapboxRouteLineUtils {
877877
private fun generateFeatureCollection(route: NavigationRouteLine): RouteFeatureData =
878878
generateRouteFeatureData(route.route, route.identifier)
879879

880-
private fun calculateGranularDistances(
880+
private fun calculateGranularDistances(
881881
stepsPoints: List<List<List<Point>>>
882882
): RouteLineGranularDistances {
883883
var distance = 0.0
@@ -955,41 +955,64 @@ object MapboxRouteLineUtils {
955955
)
956956
}
957957

958-
fun getFillerPointsForStepPoints(nextSteps: Array<RouteLineDistancesIndex>): List<RouteLineDistancesIndex> {
958+
/**
959+
* Adds equally spaced [RouteLineDistancesIndex] points between each of the inputted steps and
960+
* returns a collection of the original [RouteLineDistancesIndex] points with the newly created
961+
* points between them.
962+
*
963+
* @param steps a collection of [RouteLineDistancesIndex] representing step points
964+
* @return a collection of RouteLineDistancesIndex
965+
*/
966+
fun getFillerPointsForStepPoints(steps: Array<RouteLineDistancesIndex>): List<RouteLineDistancesIndex> {
959967
val fillerPoints = mutableListOf<RouteLineDistancesIndex>()
960-
nextSteps.forEachIndexed { index, routeLineDistancesIndex ->
961-
if (index < nextSteps.lastIndex) {
962-
getFillerPoints(routeLineDistancesIndex, nextSteps[index + 1]).apply {
968+
steps.forEachIndexed { index, routeLineDistancesIndex ->
969+
if (index < steps.lastIndex) {
970+
getFillerPoints(routeLineDistancesIndex, steps[index + 1]).apply {
963971
fillerPoints.addAll(this)
964972
}
965973
}
966974
}
967975
return fillerPoints
968976
}
969977

970-
//todo the variable names below should be named better
971-
fun getFillerPoints(startPoint: RouteLineDistancesIndex, endPoint: RouteLineDistancesIndex): List<RouteLineDistancesIndex> {
972-
val gapDist = 1.0 // meters
973-
val turfDistance = TurfMeasurement.distance(startPoint.point, endPoint.point, TurfConstants.UNIT_METERS)
978+
/**
979+
* Creates equally spaced [RouteLineDistancesIndex] points between the start point and end points
980+
* and returns a collection with the start point and end point with the newly created
981+
* points between them.
982+
*
983+
* @param startPoint the starting RouteLineDistancesIndex
984+
* @param endPoint the ending RouteLineDistancesIndex
985+
* @return a collection of the start and end points and the points generated here
986+
*/
987+
private fun getFillerPoints(
988+
startPoint: RouteLineDistancesIndex,
989+
endPoint: RouteLineDistancesIndex
990+
): List<RouteLineDistancesIndex> {
991+
val gapDistanceInMeters = 1.0
992+
val turfDistance = TurfMeasurement.distance(
993+
startPoint.point,
994+
endPoint.point,
995+
TurfConstants.UNIT_METERS
996+
)
974997
val fillerPoints = mutableListOf<RouteLineDistancesIndex>()
975998
val bearing = TurfMeasurement.bearing(startPoint.point, endPoint.point)
976-
var lastCalculatedPoint = startPoint
977-
val count = (turfDistance / gapDist).toInt()
999+
val numPointsToCreate = (turfDistance / gapDistanceInMeters).toInt()
9781000
val delta = startPoint.distanceRemaining - endPoint.distanceRemaining
979-
val itemDist = delta / count
1001+
val itemDistance = delta / numPointsToCreate
1002+
var lastCalculatedPoint = startPoint
1003+
var distanceRemaining = startPoint.distanceRemaining
9801004

9811005
fillerPoints.add(startPoint)
982-
var dist = startPoint.distanceRemaining
983-
repeat(count) {
1006+
repeat(numPointsToCreate) {
9841007
val fillerPoint = TurfMeasurement.destination(
9851008
lastCalculatedPoint.point,
986-
gapDist,
1009+
gapDistanceInMeters,
9871010
bearing,
9881011
TurfConstants.UNIT_METERS
9891012
)
9901013

991-
dist -= itemDist
992-
fillerPoints.add(RouteLineDistancesIndex(fillerPoint, dist))
1014+
distanceRemaining -= itemDistance
1015+
fillerPoints.add(RouteLineDistancesIndex(fillerPoint, distanceRemaining))
9931016
lastCalculatedPoint = fillerPoints.last()
9941017
}
9951018
return fillerPoints

libnavui-maps/src/main/java/com/mapbox/navigation/ui/maps/internal/route/line/PointProvider.kt

Lines changed: 0 additions & 10 deletions
This file was deleted.

libnavui-maps/src/main/java/com/mapbox/navigation/ui/maps/route/line/MapboxRouteLineApiExtensions.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ import androidx.annotation.ColorInt
44
import com.mapbox.api.directions.v5.models.DirectionsRoute
55
import com.mapbox.bindgen.Expected
66
import com.mapbox.bindgen.ExpectedFactory
7-
import com.mapbox.geojson.Feature
8-
import com.mapbox.geojson.FeatureCollection
97
import com.mapbox.geojson.Point
108
import com.mapbox.maps.MapboxMap
119
import com.mapbox.maps.extension.style.expressions.generated.Expression

libnavui-maps/src/main/java/com/mapbox/navigation/ui/maps/route/line/api/MapboxRouteLineApi.kt

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
package com.mapbox.navigation.ui.maps.route.line.api
22

33
import android.graphics.Color
4-
import android.util.Log
54
import android.util.LruCache
65
import com.mapbox.api.directions.v5.models.DirectionsRoute
76
import com.mapbox.api.directions.v5.models.RouteOptions
87
import com.mapbox.bindgen.Expected
98
import com.mapbox.bindgen.ExpectedFactory
109
import com.mapbox.geojson.FeatureCollection
11-
import com.mapbox.geojson.LineString
1210
import com.mapbox.geojson.Point
1311
import com.mapbox.maps.MapboxMap
1412
import com.mapbox.maps.QueriedFeature
@@ -19,7 +17,6 @@ import com.mapbox.maps.Style
1917
import com.mapbox.maps.extension.style.layers.Layer
2018
import com.mapbox.maps.plugin.locationcomponent.LocationComponentPluginImpl
2119
import com.mapbox.maps.plugin.locationcomponent.OnIndicatorPositionChangedListener
22-
import com.mapbox.navigation.base.internal.utils.isSameRoute
2320
import com.mapbox.navigation.base.route.NavigationRoute
2421
import com.mapbox.navigation.base.route.toDirectionsRoutes
2522
import com.mapbox.navigation.base.trip.model.RouteProgress
@@ -36,7 +33,6 @@ import com.mapbox.navigation.ui.maps.internal.route.line.MapboxRouteLineUtils.gr
3633
import com.mapbox.navigation.ui.maps.internal.route.line.MapboxRouteLineUtils.layerGroup1SourceLayerIds
3734
import com.mapbox.navigation.ui.maps.internal.route.line.MapboxRouteLineUtils.layerGroup2SourceLayerIds
3835
import com.mapbox.navigation.ui.maps.internal.route.line.MapboxRouteLineUtils.layerGroup3SourceLayerIds
39-
import com.mapbox.navigation.ui.maps.internal.route.line.MapboxRouteLineUtils.routePointsProvider
4036
import com.mapbox.navigation.ui.maps.route.RouteLayerConstants
4137
import com.mapbox.navigation.ui.maps.route.line.model.ClosestRouteValue
4238
import com.mapbox.navigation.ui.maps.route.line.model.ExtractedRouteRestrictionData
@@ -62,9 +58,6 @@ import com.mapbox.navigation.ui.utils.internal.ifNonNull
6258
import com.mapbox.navigation.utils.internal.InternalJobControlFactory
6359
import com.mapbox.navigation.utils.internal.logW
6460
import com.mapbox.navigation.utils.internal.parallelMap
65-
import com.mapbox.turf.TurfConstants
66-
import com.mapbox.turf.TurfException
67-
import com.mapbox.turf.TurfMisc
6861
import kotlinx.coroutines.Dispatchers
6962
import kotlinx.coroutines.async
7063
import kotlinx.coroutines.cancelChildren
@@ -539,7 +532,6 @@ class MapboxRouteLineApi(
539532
) {
540533
jobControl.scope.launch(Dispatchers.Main) {
541534
mutex.withLock {
542-
//routeLineOptions.vanishingRouteLine?.vanishPointOffset = 0.0 //todo remove this?
543535
activeLegIndex = INVALID_ACTIVE_LEG_INDEX
544536
routes.clear()
545537
routeFeatureData.clear()
@@ -723,11 +715,11 @@ class MapboxRouteLineApi(
723715
}
724716

725717
fun updateUpcomingRoutePointIndex(routeProgress: RouteProgress) {
726-
// todo del me
718+
// todo delete me
727719
}
728720

729721
fun updateVanishingPointState(state: RouteProgressState) {
730-
// todo del me
722+
// todo delete me
731723
}
732724

733725
/**
@@ -1072,6 +1064,7 @@ class MapboxRouteLineApi(
10721064
distinctNewRoutes.find { it.id == metadata.navigationRoute.id } != null
10731065
}
10741066

1067+
// todo is this still needed?
10751068
// ifNonNull(distinctNewRoutes.firstOrNull()) { primaryRouteCandidate ->
10761069
// if (!primaryRouteCandidate.directionsRoute.isSameRoute(primaryRoute?.directionsRoute)) {
10771070
// routeLineOptions.vanishingRouteLine?.vanishPointOffset = 0.0
@@ -1510,8 +1503,4 @@ class MapboxRouteLineApi(
15101503
jobControl.scope
15111504
)
15121505
}.cacheResult(alternativelyStyleSegmentsNotInLegCache)
1513-
1514-
fun deleteMeGetTreePoints(): List<Point> {
1515-
return routeLineOptions.vanishingRouteLine!!.deleteMeGetTreePoints()
1516-
}
15171506
}

0 commit comments

Comments
 (0)