Skip to content

Commit 0b526d3

Browse files
committed
NAVAND-777: fix after rebase onto alternatives refresh changes
1 parent ed26176 commit 0b526d3

20 files changed

+467
-2214
lines changed

libnavigation-core/src/main/java/com/mapbox/navigation/core/MapboxNavigation.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -559,7 +559,10 @@ class MapboxNavigation @VisibleForTesting internal constructor(
559559
evDynamicDataHolder
560560
)
561561
routeRefreshController.registerRouteRefreshObserver {
562-
internalSetNavigationRoutes(it.routes, SetRoutes.RefreshRoutes(it.routeProgressData))
562+
internalSetNavigationRoutes(
563+
it.allRoutesProgressData.map { pair -> pair.first },
564+
SetRoutes.RefreshRoutes(it.primaryRouteProgressData)
565+
)
563566
}
564567

565568
defaultRerouteController = MapboxRerouteController(

libnavigation-core/src/main/java/com/mapbox/navigation/core/RoutesProgressDataProvider.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ internal class RoutesProgressDataProvider(
1818
private val alternativeMetadataProvider: AlternativeMetadataProvider,
1919
) {
2020

21+
/**
22+
* Retrieved progress data for passed routes.
23+
*
24+
* @throws IllegalArgumentException if routes re empty
25+
*/
26+
@Throws(IllegalArgumentException::class)
2127
suspend fun getRoutesProgressData(
2228
routes: List<NavigationRoute>
2329
): RoutesProgressData {

libnavigation-core/src/main/java/com/mapbox/navigation/core/routerefresh/ExpiringDataRemover.kt

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,28 @@ import com.mapbox.api.directions.v5.models.RouteLeg
55
import com.mapbox.navigation.base.internal.route.update
66
import com.mapbox.navigation.base.internal.time.parseISO8601DateToLocalTimeOrNull
77
import com.mapbox.navigation.base.route.NavigationRoute
8+
import com.mapbox.navigation.core.RoutesProgressData
89
import java.util.Date
910

1011
internal class ExpiringDataRemover(
1112
private val localDateProvider: () -> Date,
1213
) {
1314

14-
fun removeExpiringDataFromRoutes(
15-
routes: List<NavigationRoute>,
16-
currentLegIndex: Int,
17-
): List<NavigationRoute> {
18-
return routes.map {
19-
removeExpiringDataFromRoute(it, currentLegIndex)
15+
fun removeExpiringDataFromRoutesProgressData(
16+
routesProgressData: RoutesProgressData,
17+
): RoutesProgressData {
18+
val primaryRoute = removeExpiringDataFromRoute(
19+
routesProgressData.primaryRoute,
20+
routesProgressData.primaryRouteProgressData.legIndex
21+
)
22+
val alternativeRoutesData = routesProgressData.alternativeRoutesProgressData.map {
23+
removeExpiringDataFromRoute(it.first, it.second?.legIndex ?: 0) to it.second
2024
}
25+
return RoutesProgressData(
26+
primaryRoute,
27+
routesProgressData.primaryRouteProgressData,
28+
alternativeRoutesData
29+
)
2130
}
2231

2332
private fun removeExpiringDataFromRoute(

libnavigation-core/src/main/java/com/mapbox/navigation/core/routerefresh/ImmediateRouteRefreshController.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,10 @@ internal class ImmediateRouteRefreshController(
2626
}
2727
}
2828

29-
fun requestRoutesRefresh(routes: List<NavigationRoute>, callback: (RouteRefresherResult) -> Unit) {
29+
fun requestRoutesRefresh(
30+
routes: List<NavigationRoute>,
31+
callback: (RouteRefresherResult) -> Unit
32+
) {
3033
if (routes.isEmpty()) {
3134
return
3235
}

libnavigation-core/src/main/java/com/mapbox/navigation/core/routerefresh/RefreshObserversManager.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
package com.mapbox.navigation.core.routerefresh
22

3+
import com.mapbox.navigation.core.RoutesProgressData
34
import java.util.concurrent.CopyOnWriteArraySet
45

56
internal fun interface RouteRefreshObserver {
67

7-
fun onRoutesRefreshed(routeInfo: RefreshedRouteInfo)
8+
fun onRoutesRefreshed(routeInfo: RoutesProgressData)
89
}
910

1011
internal class RefreshObserversManager {
@@ -25,10 +26,7 @@ internal class RefreshObserversManager {
2526

2627
fun onRoutesRefreshed(result: RouteRefresherResult) {
2728
refreshObservers.forEach { observer ->
28-
observer.onRoutesRefreshed(result.toRefreshedRoutesInfo())
29+
observer.onRoutesRefreshed(result.refreshedRoutesData)
2930
}
3031
}
31-
32-
private fun RouteRefresherResult.toRefreshedRoutesInfo() =
33-
RefreshedRouteInfo(refreshedRoutes, routeProgressData)
3432
}

libnavigation-core/src/main/java/com/mapbox/navigation/core/routerefresh/RefreshedRouteInfo.kt

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

0 commit comments

Comments
 (0)