diff --git a/drape_frontend/drape_engine.cpp b/drape_frontend/drape_engine.cpp index 992c35ec54..d176bbcda5 100644 --- a/drape_frontend/drape_engine.cpp +++ b/drape_frontend/drape_engine.cpp @@ -55,7 +55,7 @@ DrapeEngine::DrapeEngine(Params && params) bind(&DrapeEngine::MyPositionModeChanged, this, _1, _2), mode, make_ref(m_requestedTiles), timeInBackground, params.m_allow3dBuildings, params.m_blockTapEvents, - params.m_isFirstLaunch); + params.m_isFirstLaunch, params.m_isRoutingActive); m_frontend = make_unique_dp(frParams); diff --git a/drape_frontend/drape_engine.hpp b/drape_frontend/drape_engine.hpp index dbfecf1933..d8be9f54db 100644 --- a/drape_frontend/drape_engine.hpp +++ b/drape_frontend/drape_engine.hpp @@ -45,7 +45,8 @@ public: bool blockTapEvents, bool showChoosePositionMark, vector && boundAreaTriangles, - bool firstLaunch) + bool firstLaunch, + bool isRoutingActive) : m_factory(factory) , m_stringsBundle(stringBundle) , m_viewport(viewport) @@ -58,6 +59,7 @@ public: , m_showChoosePositionMark(showChoosePositionMark) , m_boundAreaTriangles(move(boundAreaTriangles)) , m_isFirstLaunch(firstLaunch) + , m_isRoutingActive(isRoutingActive) {} ref_ptr m_factory; @@ -72,6 +74,7 @@ public: bool m_showChoosePositionMark; vector m_boundAreaTriangles; bool m_isFirstLaunch; + bool m_isRoutingActive; }; DrapeEngine(Params && params); diff --git a/drape_frontend/frontend_renderer.cpp b/drape_frontend/frontend_renderer.cpp index a97077f9f6..7217c1f715 100755 --- a/drape_frontend/frontend_renderer.cpp +++ b/drape_frontend/frontend_renderer.cpp @@ -140,8 +140,8 @@ FrontendRenderer::FrontendRenderer(Params const & params) ASSERT(m_tapEventInfoFn, ()); ASSERT(m_userPositionChangedFn, ()); - m_myPositionController.reset(new MyPositionController(params.m_initMyPositionMode, - params.m_timeInBackground, params.m_firstLaunch)); + m_myPositionController.reset(new MyPositionController(params.m_initMyPositionMode, params.m_timeInBackground, + params.m_firstLaunch, params.m_isRoutingActive)); m_myPositionController->SetModeListener(params.m_myPositionModeCallback); StartThread(); diff --git a/drape_frontend/frontend_renderer.hpp b/drape_frontend/frontend_renderer.hpp index 657ecd9de4..636f2304b7 100755 --- a/drape_frontend/frontend_renderer.hpp +++ b/drape_frontend/frontend_renderer.hpp @@ -84,7 +84,8 @@ public: double timeInBackground, bool allow3dBuildings, bool blockTapEvents, - bool firstLaunch) + bool firstLaunch, + bool isRoutingActive) : BaseRenderer::Params(commutator, factory, texMng) , m_viewport(viewport) , m_modelViewChangedFn(modelViewChangedFn) @@ -97,6 +98,7 @@ public: , m_allow3dBuildings(allow3dBuildings) , m_blockTapEvents(blockTapEvents) , m_firstLaunch(firstLaunch) + , m_isRoutingActive(isRoutingActive) {} Viewport m_viewport; @@ -110,6 +112,7 @@ public: bool m_allow3dBuildings; bool m_blockTapEvents; bool m_firstLaunch; + bool m_isRoutingActive; }; FrontendRenderer(Params const & params); diff --git a/drape_frontend/my_position_controller.cpp b/drape_frontend/my_position_controller.cpp index a3d3b14d50..eabe85ce60 100644 --- a/drape_frontend/my_position_controller.cpp +++ b/drape_frontend/my_position_controller.cpp @@ -105,12 +105,12 @@ private: double m_rotateDuration; }; -MyPositionController::MyPositionController(location::EMyPositionMode initMode, - double timeInBackground, bool isFirstLaunch) +MyPositionController::MyPositionController(location::EMyPositionMode initMode, double timeInBackground, + bool isFirstLaunch, bool isRoutingActive) : m_mode(location::PendingPosition) , m_desiredInitMode(initMode) , m_isFirstLaunch(isFirstLaunch) - , m_isInRouting(false) + , m_isInRouting(isRoutingActive) , m_needBlockAnimation(false) , m_wasRotationInScaling(false) , m_errorRadius(0.0) diff --git a/drape_frontend/my_position_controller.hpp b/drape_frontend/my_position_controller.hpp index 66bbed4f93..46469c6f73 100644 --- a/drape_frontend/my_position_controller.hpp +++ b/drape_frontend/my_position_controller.hpp @@ -43,7 +43,8 @@ public: RenderMyPosition = 0x2 }; - MyPositionController(location::EMyPositionMode initMode, double timeInBackground, bool isFirstLaunch); + MyPositionController(location::EMyPositionMode initMode, double timeInBackground, + bool isFirstLaunch, bool isRoutingActive); ~MyPositionController(); void OnNewPixelRect(); diff --git a/map/framework.cpp b/map/framework.cpp index e7655160cb..fdbcd7af5d 100644 --- a/map/framework.cpp +++ b/map/framework.cpp @@ -1491,7 +1491,8 @@ void Framework::CreateDrapeEngine(ref_ptr contextFactory, params.m_visualScale, move(params.m_widgetsInitInfo), make_pair(params.m_initialMyPositionState, params.m_hasMyPositionState), allow3dBuildings, params.m_isChoosePositionMode, - params.m_isChoosePositionMode, GetSelectedFeatureTriangles(), params.m_isFirstLaunch); + params.m_isChoosePositionMode, GetSelectedFeatureTriangles(), params.m_isFirstLaunch, + m_routingSession.IsActive() && m_routingSession.IsFollowing()); m_drapeEngine = make_unique_dp(move(p)); AddViewportListener([this](ScreenBase const & screen)