File tree Expand file tree Collapse file tree 3 files changed +27
-8
lines changed
libandroid-navigation-ui/src
main/java/com/mapbox/services/android/navigation/ui/v5
test/java/com/mapbox/services/android/navigation/ui/v5 Expand file tree Collapse file tree 3 files changed +27
-8
lines changed Original file line number Diff line number Diff line change 1- package com .mapbox .services .android .navigation .ui .v5 . location ;
1+ package com .mapbox .services .android .navigation .ui .v5 ;
22
33import android .content .Context ;
44
77import com .mapbox .api .directions .v5 .models .DirectionsRoute ;
88import com .mapbox .services .android .navigation .v5 .location .replay .ReplayRouteLocationEngine ;
99
10- public class LocationEngineConductor {
10+ class LocationEngineConductor {
1111
1212 private LocationEngine locationEngine ;
1313
14- public void initializeLocationEngine (Context context , LocationEngine locationEngine , boolean shouldReplayRoute ) {
14+ void initializeLocationEngine (Context context , LocationEngine locationEngine , boolean shouldReplayRoute ) {
1515 initialize (context , locationEngine , shouldReplayRoute );
1616 }
1717
18- public void updateSimulatedRoute (DirectionsRoute route ) {
18+ boolean updateSimulatedRoute (DirectionsRoute route ) {
1919 if (locationEngine instanceof ReplayRouteLocationEngine ) {
2020 ((ReplayRouteLocationEngine ) locationEngine ).assign (route );
21+ return true ;
2122 }
23+ return false ;
2224 }
2325
24- public LocationEngine obtainLocationEngine () {
26+ LocationEngine obtainLocationEngine () {
2527 return locationEngine ;
2628 }
2729
Original file line number Diff line number Diff line change 2121import com .mapbox .services .android .navigation .ui .v5 .feedback .FeedbackItem ;
2222import com .mapbox .services .android .navigation .ui .v5 .instruction .BannerInstructionModel ;
2323import com .mapbox .services .android .navigation .ui .v5 .instruction .InstructionModel ;
24- import com .mapbox .services .android .navigation .ui .v5 .location .LocationEngineConductor ;
2524import com .mapbox .services .android .navigation .ui .v5 .route .OffRouteEvent ;
2625import com .mapbox .services .android .navigation .ui .v5 .route .ViewRouteFetcher ;
2726import com .mapbox .services .android .navigation .ui .v5 .route .ViewRouteListener ;
@@ -241,7 +240,7 @@ void updateRoute(DirectionsRoute route) {
241240 this .route .setValue (route );
242241 if (!isChangingConfigurations ) {
243242 startNavigation (route );
244- locationEngineConductor . updateSimulatedRoute (route );
243+ updateReplayEngine (route );
245244 sendEventOnRerouteAlong (route );
246245 isOffRoute .setValue (false );
247246 }
@@ -412,6 +411,13 @@ private void startNavigation(DirectionsRoute route) {
412411 }
413412 }
414413
414+ private void updateReplayEngine (DirectionsRoute route ) {
415+ if (locationEngineConductor .updateSimulatedRoute (route )) {
416+ LocationEngine replayEngine = locationEngineConductor .obtainLocationEngine ();
417+ navigation .setLocationEngine (replayEngine );
418+ }
419+ }
420+
415421 private void endNavigation () {
416422 if (navigation != null ) {
417423 navigation .onDestroy ();
Original file line number Diff line number Diff line change 66import android .support .annotation .NonNull ;
77
88import com .mapbox .android .core .location .LocationEngine ;
9- import com .mapbox .services . android . navigation . ui . v5 .location . LocationEngineConductor ;
9+ import com .mapbox .api . directions . v5 .models . DirectionsRoute ;
1010import com .mapbox .services .android .navigation .v5 .location .replay .ReplayRouteLocationEngine ;
1111
1212import org .junit .Test ;
@@ -37,6 +37,17 @@ public void onInitWithSimulation_replayEngineIsProvided() {
3737 assertTrue (locationEngine instanceof ReplayRouteLocationEngine );
3838 }
3939
40+ @ Test
41+ public void onInitWithSimulation_replayEngineIsUpdated () {
42+ LocationEngineConductor locationEngineConductor = new LocationEngineConductor ();
43+ boolean simulateRouteEnabled = true ;
44+ locationEngineConductor .initializeLocationEngine (createMockContext (), null , simulateRouteEnabled );
45+
46+ boolean didUpdate = locationEngineConductor .updateSimulatedRoute (mock (DirectionsRoute .class ));
47+
48+ assertTrue (didUpdate );
49+ }
50+
4051 @ Test
4152 public void onInitWithSimulationAndCustomEngine_customEngineIsProvided () {
4253 LocationEngineConductor locationEngineConductor = new LocationEngineConductor ();
You can’t perform that action at this time.
0 commit comments