Skip to content

Commit f5c4788

Browse files
vadzim-vysgithub-actions[bot]
authored andcommitted
Abstraction layer for route operations and parsing + NRO route refresh (#11924)
GitOrigin-RevId: a2d5c8e775c7673453436261c5ef1289e055caf9
1 parent ac0dbfb commit f5c4788

84 files changed

Lines changed: 2878 additions & 1691 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

base/api/current.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1328,9 +1328,6 @@ package com.mapbox.navigation.base.route {
13281328
public static final class NavigationRoute.Companion {
13291329
}
13301330

1331-
public final class NavigationRouteEx {
1332-
}
1333-
13341331
public interface NavigationRouterCallback {
13351332
method public void onCanceled(com.mapbox.api.directions.v5.models.RouteOptions routeOptions, @com.mapbox.navigation.base.route.RouterOrigin String routerOrigin);
13361333
method public void onFailure(java.util.List<com.mapbox.navigation.base.route.RouterFailure> reasons, com.mapbox.api.directions.v5.models.RouteOptions routeOptions);

base/src/main/java/com/mapbox/api/directions/v5/models/ClosureFBWrapper.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,21 @@ internal class ClosureFBWrapper(
3232
if (other is ClosureFBWrapper && other.fb === fb) return true
3333
if (other is ClosureFBWrapper && efficientEquals(fb, other.fb)) return true
3434

35+
if (other is Closure) {
36+
if (geometryIndexStart() != other.geometryIndexStart()) return false
37+
if (geometryIndexEnd() != other.geometryIndexEnd()) return false
38+
if (unrecognized() != other.unrecognized()) return false
39+
return true
40+
}
41+
3542
return false
3643
}
3744

3845
override fun hashCode(): Int {
39-
return efficientHashCode(fb)
46+
var result = geometryIndexStart()
47+
result = 31 * result + geometryIndexEnd()
48+
result = 31 * result + unrecognized().hashCode()
49+
return result
4050
}
4151

4252
override fun toString(): String {

base/src/main/java/com/mapbox/api/directions/v5/models/DirectionsRouteFBWrapper.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import java.nio.ByteBuffer
88

99
internal class DirectionsRouteFBWrapper(
1010
private val fb: FBDirectionsRoute,
11+
private val routeOptions: RouteOptions? = null,
1112
) : DirectionsRoute(), BaseFBWrapper {
1213

1314
internal val stepsCountWithGeometry: Int by lazy {
@@ -27,6 +28,8 @@ internal class DirectionsRouteFBWrapper(
2728
_geometry
2829
}
2930

31+
internal val refreshTtl: Int? get() = fb.refreshTtl
32+
3033
override val unrecognized: ByteBuffer?
3134
get() = fb.unrecognizedPropertiesAsByteBuffer
3235

@@ -60,7 +63,7 @@ internal class DirectionsRouteFBWrapper(
6063
}
6164

6265
// TODO: https://mapbox.atlassian.net/browse/NAVAND-6590
63-
override fun routeOptions(): RouteOptions? = null
66+
override fun routeOptions(): RouteOptions? = routeOptions
6467

6568
override fun voiceLanguage(): String? = fb.voiceLocale
6669

base/src/main/java/com/mapbox/api/directions/v5/models/FlatBuffersTypealiases.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ internal typealias FBCostPerVehicleSize = com.mapbox.directions.generated.CostPe
1818
internal typealias FBDirectionsResponse = com.mapbox.directions.generated.DirectionsResponse
1919
internal typealias FBResponseMetadata = com.mapbox.directions.generated.ResponseMetadata
2020
internal typealias FBDirectionsRoute = com.mapbox.directions.generated.DirectionsRoute
21+
internal typealias FBDirectionsRouteContext = com.mapbox.directions.generated.DirectionsRouteContext
2122
internal typealias FBDirectionsWaypoint = com.mapbox.directions.generated.DirectionsWaypoint
2223
internal typealias FBDrivingSide = com.mapbox.directions.generated.DrivingSide
2324
internal typealias FBIncident = com.mapbox.directions.generated.Incident

base/src/main/java/com/mapbox/navigation/base/internal/NROTestingFactories.kt

Lines changed: 0 additions & 35 deletions
This file was deleted.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.mapbox.navigation.base.internal.route
2+
3+
import com.mapbox.api.directions.v5.models.Closure
4+
import com.mapbox.navigation.base.route.NavigationRoute
5+
6+
/**
7+
* Represents data which is preserved in [NavigationRoute] object.
8+
* In ideal world it should not exist as it's lost during transition via
9+
* native layer.
10+
* TODO: https://mapbox.atlassian.net/browse/NAVAND-6774
11+
*/
12+
internal data class NavigationRouteData(
13+
val unavoidableClosures: List<List<Closure>>,
14+
val expirationTimeElapsedSeconds: Long?,
15+
)

0 commit comments

Comments
 (0)