Skip to content

Commit 22210f3

Browse files
committed
NAVAND-713: meet code review
1 parent f064cb0 commit 22210f3

File tree

12 files changed

+131
-149
lines changed

12 files changed

+131
-149
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Mapbox welcomes participation and contributions from everyone.
44

55
## Unreleased
66
#### Features
7-
- Supported EV route refresh. [#6511](https://github.com/mapbox/mapbox-navigation-android/pull/6511)
7+
- Added support for EV route refresh. [#6511](https://github.com/mapbox/mapbox-navigation-android/pull/6511)
88
#### Bug fixes and improvements
99
- Improved experience in tunnels and reduced the likelihood of losing road edge matching candidates. [#6510](https://github.com/mapbox/mapbox-navigation-android/pull/6510)
1010
- Fixed an issue with `NavigationView` that caused road label position to not update in some cases. [#6508](https://github.com/mapbox/mapbox-navigation-android/pull/6508)

libnavigation-base/src/main/java/com/mapbox/navigation/base/internal/RouteRefreshRequestData.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ import com.mapbox.api.directions.v5.models.DirectionsRoute
1010
* right in front of the user (see [DirectionsRoute.geometry]), null if unavailable.
1111
* @param legGeometryIndex leg-wise index representing the geometry point
1212
* right in front of the user (see [DirectionsRoute.geometry]), null if unavailable.
13-
* @param evData map containing EV related dynamic data.
13+
* @param experimentalProperties map containing dynamic data.
1414
*/
1515
class RouteRefreshRequestData(
1616
val legIndex: Int,
1717
val routeGeometryIndex: Int,
1818
val legGeometryIndex: Int?,
19-
val evData: Map<String, String>,
19+
val experimentalProperties: Map<String, String>,
2020
) {
2121

2222
/**
@@ -31,7 +31,7 @@ class RouteRefreshRequestData(
3131
if (legIndex != other.legIndex) return false
3232
if (routeGeometryIndex != other.routeGeometryIndex) return false
3333
if (legGeometryIndex != other.legGeometryIndex) return false
34-
if (evData != other.evData) return false
34+
if (experimentalProperties != other.experimentalProperties) return false
3535

3636
return true
3737
}
@@ -43,7 +43,7 @@ class RouteRefreshRequestData(
4343
var result = legIndex
4444
result = 31 * result + routeGeometryIndex
4545
result = 31 * result + (legGeometryIndex ?: 0)
46-
result = 31 * result + evData.hashCode()
46+
result = 31 * result + experimentalProperties.hashCode()
4747
return result
4848
}
4949

@@ -55,7 +55,7 @@ class RouteRefreshRequestData(
5555
"legIndex=$legIndex, " +
5656
"routeGeometryIndex=$routeGeometryIndex, " +
5757
"legGeometryIndex=$legGeometryIndex" +
58-
"evData=$evData" +
58+
"experimentalProperties=$experimentalProperties" +
5959
")"
6060
}
6161
}

libnavigation-base/src/main/java/com/mapbox/navigation/base/internal/route/AnnotationsRefresher.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ internal object AnnotationsRefresher {
108108
}
109109

110110
private fun List<JsonElement>.toJsonArray(): JsonArray {
111-
return JsonArray().also { array ->
111+
return JsonArray(this.size).also { array ->
112112
forEach { array.add(it) }
113113
}
114114
}

libnavigation-base/src/main/java/com/mapbox/navigation/base/internal/route/NavigationRouteEx.kt

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ package com.mapbox.navigation.base.internal.route
44

55
import androidx.annotation.VisibleForTesting
66
import androidx.annotation.WorkerThread
7-
import com.google.gson.JsonElement
87
import com.mapbox.api.directions.v5.models.Closure
98
import com.mapbox.api.directions.v5.models.DirectionsResponse
109
import com.mapbox.api.directions.v5.models.DirectionsRoute
@@ -15,7 +14,6 @@ import com.mapbox.api.directions.v5.models.LegStep
1514
import com.mapbox.api.directions.v5.models.RouteLeg
1615
import com.mapbox.api.directions.v5.models.RouteOptions
1716
import com.mapbox.navigation.base.internal.SDKRouteParser
18-
import com.mapbox.navigation.base.internal.utils.Constants
1917
import com.mapbox.navigation.base.route.NavigationRoute
2018
import com.mapbox.navigation.base.route.toNavigationRoute
2119
import com.mapbox.navigation.base.utils.DecodeUtils.stepGeometryToPoints
@@ -46,7 +44,7 @@ fun NavigationRoute.refreshRoute(
4644
legAnnotations: List<LegAnnotation?>?,
4745
incidents: List<List<Incident>?>?,
4846
closures: List<List<Closure>?>?,
49-
unrecognizedProperties: Map<String, JsonElement>?,
47+
waypoints: List<DirectionsWaypoint?>?,
5048
): NavigationRoute {
5149
val updateLegs = directionsRoute.legs()?.mapIndexed { index, routeLeg ->
5250
if (index < initialLegIndex) {
@@ -95,19 +93,19 @@ fun NavigationRoute.refreshRoute(
9593
.build()
9694
}
9795
}
98-
return update(
99-
{
100-
toBuilder()
101-
.legs(updateLegs)
102-
.updateRouteDurationBasedOnLegsDuration(updateLegs)
103-
.build()
104-
}
105-
) {
96+
val directionsRouteBlock: DirectionsRoute.() -> DirectionsRoute = {
97+
toBuilder()
98+
.legs(updateLegs)
99+
.updateRouteDurationBasedOnLegsDuration(updateLegs)
100+
.build()
101+
}
102+
val directionsResponseBlock: DirectionsResponse.Builder.() -> DirectionsResponse.Builder = {
106103
updateWaypoints(
107104
directionsResponse.waypoints(),
108-
unrecognizedProperties
105+
waypoints
109106
)
110107
}
108+
return update(directionsRouteBlock, directionsResponseBlock)
111109
}
112110

113111
private fun adjustedIndex(offsetIndex: Int, originalIndex: Int?): Int {
@@ -198,14 +196,11 @@ private fun List<LegStep>.updateSteps(
198196

199197
private fun DirectionsResponse.Builder.updateWaypoints(
200198
oldWaypoints: List<DirectionsWaypoint>?,
201-
newUnrecognizedProperties: Map<String, JsonElement>?,
199+
updatedWaypoints: List<DirectionsWaypoint?>?,
202200
): DirectionsResponse.Builder {
203201
if (oldWaypoints == null) {
204202
return this
205203
}
206-
val updatedWaypoints = WaypointsParser.parse(
207-
newUnrecognizedProperties?.get(Constants.KEY_WAYPOINTS)
208-
)
209204
val newWaypoints = mutableListOf<DirectionsWaypoint>()
210205
if (updatedWaypoints != null) {
211206
oldWaypoints.forEachIndexed { index, oldWaypoint ->
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.mapbox.navigation.base.internal.utils;
22

3-
public class Constants {
3+
public final class Constants {
44

5-
public static final String KEY_WAYPOINTS = "waypoints";
5+
public static final class RouteResponse {
6+
public static final String KEY_WAYPOINTS = "waypoints";
7+
}
68
}

0 commit comments

Comments
 (0)