Skip to content

Commit d63c52f

Browse files
committed
add convenience function
1 parent eb571fd commit d63c52f

File tree

3 files changed

+18
-3
lines changed

3 files changed

+18
-3
lines changed

libnavigation-core/api/current.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1026,6 +1026,7 @@ package com.mapbox.navigation.core.trip {
10261026

10271027
@com.mapbox.navigation.base.ExperimentalPreviewMapboxNavigationAPI public final class MapboxTripStarter implements com.mapbox.navigation.core.lifecycle.MapboxNavigationObserver {
10281028
method public static com.mapbox.navigation.core.trip.MapboxTripStarter create();
1029+
method public com.mapbox.navigation.core.trip.MapboxTripStarter enableReplayRoute(com.mapbox.navigation.core.replay.route.ReplayRouteSessionOptions? options = null);
10291030
method public com.mapbox.navigation.core.trip.MapboxTripStarterOptions getOptions();
10301031
method public static com.mapbox.navigation.core.trip.MapboxTripStarter getRegisteredInstance();
10311032
method public void onAttached(com.mapbox.navigation.core.MapboxNavigation mapboxNavigation);

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import com.mapbox.navigation.core.MapboxNavigation
88
import com.mapbox.navigation.core.lifecycle.MapboxNavigationApp
99
import com.mapbox.navigation.core.lifecycle.MapboxNavigationObserver
1010
import com.mapbox.navigation.core.replay.route.ReplayRouteSession
11+
import com.mapbox.navigation.core.replay.route.ReplayRouteSessionOptions
1112
import com.mapbox.navigation.core.trip.MapboxTripStarterExtra.MAPBOX_TRIP_STARTER_FOLLOW_DEVICE
1213
import com.mapbox.navigation.core.trip.MapboxTripStarterExtra.MAPBOX_TRIP_STARTER_REPLAY_ROUTE
1314
import com.mapbox.navigation.core.trip.session.TripSessionState
@@ -109,6 +110,21 @@ class MapboxTripStarter internal constructor() : MapboxNavigationObserver {
109110
stateFlow.value = nextState
110111
}
111112

113+
/**
114+
* Enables a mode where the primary route is simulated by an artificial driver. Set the route
115+
* with [MapboxNavigation.setNavigationRoutes].
116+
*
117+
* @param options optional options to use for route replay.
118+
*/
119+
fun enableReplayRoute(
120+
options: ReplayRouteSessionOptions? = null
121+
) = apply {
122+
update { builder ->
123+
options?.let { builder.replayRouteSessionOptions(options) }
124+
builder.tripType(MAPBOX_TRIP_STARTER_REPLAY_ROUTE)
125+
}
126+
}
127+
112128
/**
113129
* Throws an error if location permissions are set to true but the location permissions are
114130
* not actually granted.

qa-test-app/src/main/java/com/mapbox/navigation/qa_test_app/view/RoadObjectsActivity.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,9 @@ import com.mapbox.navigation.core.MapboxNavigation
2929
import com.mapbox.navigation.core.directions.session.RoutesObserver
3030
import com.mapbox.navigation.core.replay.route.ReplayRouteMapper
3131
import com.mapbox.navigation.core.trip.MapboxTripStarter
32-
import com.mapbox.navigation.core.trip.MapboxTripStarterExtra.MAPBOX_TRIP_STARTER_REPLAY_ROUTE
3332
import com.mapbox.navigation.core.trip.session.LocationMatcherResult
3433
import com.mapbox.navigation.core.trip.session.LocationObserver
3534
import com.mapbox.navigation.core.trip.session.RouteProgressObserver
36-
import com.mapbox.navigation.core.trip.update
3735
import com.mapbox.navigation.qa_test_app.R
3836
import com.mapbox.navigation.qa_test_app.databinding.LayoutActivityRestStopBinding
3937
import com.mapbox.navigation.qa_test_app.utils.Utils
@@ -81,7 +79,7 @@ class RoadObjectsActivity : AppCompatActivity() {
8179

8280
@OptIn(ExperimentalPreviewMapboxNavigationAPI::class)
8381
private val mapboxTripStarter = MapboxTripStarter.create()
84-
.update { it.tripType(MAPBOX_TRIP_STARTER_REPLAY_ROUTE) }
82+
.enableReplayRoute()
8583

8684
private val mapCamera: CameraAnimationsPlugin by lazy {
8785
binding.mapView.camera

0 commit comments

Comments
 (0)