diff --git a/examples/src/main/java/com/mapbox/navigation/examples/activity/SimpleMapboxNavigationKt.kt b/examples/src/main/java/com/mapbox/navigation/examples/activity/SimpleMapboxNavigationKt.kt index 6d9af59243b..1971edbc1cd 100644 --- a/examples/src/main/java/com/mapbox/navigation/examples/activity/SimpleMapboxNavigationKt.kt +++ b/examples/src/main/java/com/mapbox/navigation/examples/activity/SimpleMapboxNavigationKt.kt @@ -127,14 +127,7 @@ class SimpleMapboxNavigationKt : AppCompatActivity(), OnMapReadyCallback { keyPoints: List ) { if (keyPoints.isNotEmpty()) { - locationComponent?.forceLocationUpdate(keyPoints.map { - // workaround for https://github.com/mapbox/mapbox-location-native/pull/65#discussion_r375777857 - val lat = it.latitude - val lon = it.longitude - it.latitude = lon - it.longitude = lat - it - }, true) + locationComponent?.forceLocationUpdate(keyPoints, true) } else { locationComponent?.forceLocationUpdate(enhancedLocation) } diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle index fff0af343dc..bb7268d5eea 100644 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle @@ -13,7 +13,7 @@ ext { mapboxSdkDirectionsModels : '5.1.0-beta.1', mapboxEvents : '4.5.1', mapboxCore : '1.3.0', - mapboxNavigator : 'sf-keypoints-SNAPSHOT-8', + mapboxNavigator : 'ms-bearing-from-shape-on-interpolation-SNAPSHOT-2', mapboxCrashMonitor : '2.0.0', mapboxAnnotationPlugin : '0.7.0', mapboxAccounts : '0.3.1', diff --git a/libandroid-navigation/src/main/java/com/mapbox/services/android/navigation/v5/routeprogress/RouteProgressState.kt b/libandroid-navigation/src/main/java/com/mapbox/services/android/navigation/v5/routeprogress/RouteProgressState.kt index 88f5c3b285f..4a4bfd6343e 100644 --- a/libandroid-navigation/src/main/java/com/mapbox/services/android/navigation/v5/routeprogress/RouteProgressState.kt +++ b/libandroid-navigation/src/main/java/com/mapbox/services/android/navigation/v5/routeprogress/RouteProgressState.kt @@ -37,5 +37,7 @@ enum class RouteProgressState { * A lack of [android.location.Location] updates from the phone has caused lack of confidence in the * progress updates being sent. */ - LOCATION_STALE + LOCATION_STALE, + + ROUTE_UNCERTAIN } diff --git a/libandroid-navigation/src/main/java/com/mapbox/services/android/navigation/v5/routeprogress/RouteProgressStateMap.kt b/libandroid-navigation/src/main/java/com/mapbox/services/android/navigation/v5/routeprogress/RouteProgressStateMap.kt index a6e90b18006..cebf060dc9a 100644 --- a/libandroid-navigation/src/main/java/com/mapbox/services/android/navigation/v5/routeprogress/RouteProgressStateMap.kt +++ b/libandroid-navigation/src/main/java/com/mapbox/services/android/navigation/v5/routeprogress/RouteProgressStateMap.kt @@ -10,6 +10,7 @@ class RouteProgressStateMap : HashMap() { put(RouteState.COMPLETE, RouteProgressState.ROUTE_ARRIVED) put(RouteState.TRACKING, RouteProgressState.LOCATION_TRACKING) put(RouteState.STALE, RouteProgressState.LOCATION_STALE) + put(RouteState.UNCERTAIN, RouteProgressState.ROUTE_UNCERTAIN) put(RouteState.OFFROUTE, null) // Ignore off-route (info already provided via listener) } } diff --git a/libnavigation-base/src/main/java/com/mapbox/navigation/base/trip/model/RouteProgressState.kt b/libnavigation-base/src/main/java/com/mapbox/navigation/base/trip/model/RouteProgressState.kt index e74a9475000..85821cc7e0a 100644 --- a/libnavigation-base/src/main/java/com/mapbox/navigation/base/trip/model/RouteProgressState.kt +++ b/libnavigation-base/src/main/java/com/mapbox/navigation/base/trip/model/RouteProgressState.kt @@ -5,5 +5,6 @@ enum class RouteProgressState { ROUTE_INITIALIZED, ROUTE_ARRIVED, LOCATION_TRACKING, - LOCATION_STALE + LOCATION_STALE, + ROUTE_UNCERTAIN } diff --git a/libnavigator/src/main/java/com/mapbox/navigation/navigator/MapboxNativeNavigator.kt b/libnavigator/src/main/java/com/mapbox/navigation/navigator/MapboxNativeNavigator.kt index 58a8ab42d95..263047d4afd 100644 --- a/libnavigator/src/main/java/com/mapbox/navigation/navigator/MapboxNativeNavigator.kt +++ b/libnavigator/src/main/java/com/mapbox/navigation/navigator/MapboxNativeNavigator.kt @@ -49,7 +49,9 @@ interface MapboxNativeNavigator { // Offline - fun configureRouter(routerParams: RouterParams, httpClient: HttpInterface): Long + fun cacheLastRoute() + + fun configureRouter(routerParams: RouterParams, httpClient: HttpInterface?): Long fun getRoute(url: String): RouterResult fun unpackTiles(tarPath: String, destinationPath: String): Long fun removeTiles(tilePath: String, southwest: Point, northeast: Point): Long diff --git a/libnavigator/src/main/java/com/mapbox/navigation/navigator/MapboxNativeNavigatorImpl.kt b/libnavigator/src/main/java/com/mapbox/navigation/navigator/MapboxNativeNavigatorImpl.kt index 2cc0c611c62..2b357fbc2f3 100644 --- a/libnavigator/src/main/java/com/mapbox/navigation/navigator/MapboxNativeNavigatorImpl.kt +++ b/libnavigator/src/main/java/com/mapbox/navigation/navigator/MapboxNativeNavigatorImpl.kt @@ -101,7 +101,11 @@ object MapboxNativeNavigatorImpl : MapboxNativeNavigator { // Offline - override fun configureRouter(routerParams: RouterParams, httpClient: HttpInterface): Long = + override fun cacheLastRoute() { + navigator.cacheLastRoute() + } + + override fun configureRouter(routerParams: RouterParams, httpClient: HttpInterface?): Long = navigator.configureRouter(routerParams, httpClient) override fun getRoute(url: String): RouterResult = navigator.getRoute(url) @@ -312,5 +316,6 @@ private fun RouteState.convertState(): RouteProgressState? { RouteState.COMPLETE -> RouteProgressState.ROUTE_ARRIVED RouteState.OFFROUTE -> null // send in a callback instead RouteState.STALE -> RouteProgressState.LOCATION_STALE + RouteState.UNCERTAIN -> RouteProgressState.ROUTE_UNCERTAIN } }