From 79169628193b2b5cc49fb4448bcf15ba81a90d2c Mon Sep 17 00:00:00 2001 From: "v.mikhaylenko" Date: Thu, 10 Sep 2015 16:12:44 +0300 Subject: [PATCH] [omim] [ios] Fixed route restoring. --- iphone/Maps/Classes/RouteState/RouteState.mm | 2 +- map/framework.hpp | 1 + routing/routing_session.hpp | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/iphone/Maps/Classes/RouteState/RouteState.mm b/iphone/Maps/Classes/RouteState/RouteState.mm index f01d162e63..f31f685285 100644 --- a/iphone/Maps/Classes/RouteState/RouteState.mm +++ b/iphone/Maps/Classes/RouteState/RouteState.mm @@ -47,7 +47,7 @@ static NSString * const kETAKey = @"eta"; + (void)save { Framework & f = GetFramework(); - if (!f.IsRoutingActive()) + if (!f.IsOnRoute()) return; location::FollowingInfo routeInfo; f.GetRouteFollowingInfo(routeInfo); diff --git a/map/framework.hpp b/map/framework.hpp index 52b1bbcc21..5a2f71e7e3 100644 --- a/map/framework.hpp +++ b/map/framework.hpp @@ -579,6 +579,7 @@ public: bool IsRoutingActive() const { return m_routingSession.IsActive(); } bool IsRouteBuilt() const { return m_routingSession.IsBuilt(); } bool IsRouteBuilding() const { return m_routingSession.IsBuilding(); } + bool IsOnRoute() const { return m_routingSession.IsOnRoute(); } void BuildRoute(m2::PointD const & start, m2::PointD const & finish, uint32_t timeoutSec); void SetRouteBuildingListener(TRouteBuildingCallback const & buildingCallback) { m_routingCallback = buildingCallback; } void SetRouteProgressListener(TRouteProgressCallback const & progressCallback) { m_progressCallback = progressCallback; } diff --git a/routing/routing_session.hpp b/routing/routing_session.hpp index 67b3afd538..e251291289 100644 --- a/routing/routing_session.hpp +++ b/routing/routing_session.hpp @@ -74,6 +74,7 @@ public: bool IsNavigable() const { return (m_state == RouteNotStarted || m_state == OnRoute); } bool IsBuilt() const { return (IsNavigable() || m_state == RouteNeedRebuild || m_state == RouteFinished); } bool IsBuilding() const { return (m_state == RouteBuilding); } + bool IsOnRoute() const { return (m_state == OnRoute); } void Reset(); State OnLocationPositionChanged(m2::PointD const & position, location::GpsInfo const & info);