From c3e214a0a78dbccc6f93b12e5eebcedd3a077e19 Mon Sep 17 00:00:00 2001 From: Ilya Grechuhin Date: Fri, 11 Aug 2017 15:12:47 +0300 Subject: [PATCH] =?UTF-8?q?[MAPSME-5032]=20[MAPSME-5034]=20[ios]=20Removed?= =?UTF-8?q?=20=C2=ABRouteFrom=C2=BB=20button=20from=20place=20page=20actio?= =?UTF-8?q?n=20bar=20while=20routing=20is=20active.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iphone/Maps/Core/Routing/MWMRouter.mm | 1 + .../ActionBar/MWMPlacePageActionBar.mm | 46 +++++++++++++------ 2 files changed, 33 insertions(+), 14 deletions(-) diff --git a/iphone/Maps/Core/Routing/MWMRouter.mm b/iphone/Maps/Core/Routing/MWMRouter.mm index 02755a4d9f..b5e295894b 100644 --- a/iphone/Maps/Core/Routing/MWMRouter.mm +++ b/iphone/Maps/Core/Routing/MWMRouter.mm @@ -354,6 +354,7 @@ void logPointEvent(MWMRoutePoint * point, NSString * eventType) auto const pointsCount = points.size(); if (pointsCount < 2) { + [self stopRouting]; [[MWMMapViewControlsManager manager] onRoutePrepare]; return; } diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/ActionBar/MWMPlacePageActionBar.mm b/iphone/Maps/UI/PlacePage/PlacePageLayout/ActionBar/MWMPlacePageActionBar.mm index d614de9e73..d0770476c1 100644 --- a/iphone/Maps/UI/PlacePage/PlacePageLayout/ActionBar/MWMPlacePageActionBar.mm +++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/ActionBar/MWMPlacePageActionBar.mm @@ -59,8 +59,9 @@ extern NSString * const kAlohalyticsTapEventKey; BOOL const isPhoneCallAvailable = [AppInfo sharedInfo].canMakeCalls && data.phoneNumber.length > 0; BOOL const isApi = data.isApi; - BOOL const isP2P = - [MWMNavigationDashboardManager manager].state != MWMNavigationDashboardStateHidden; + auto const navigationState = [MWMNavigationDashboardManager manager].state; + BOOL const isNavigationActive = navigationState == MWMNavigationDashboardStateNavigation; + BOOL const isP2P = !isNavigationActive && navigationState != MWMNavigationDashboardStateHidden; BOOL const isMyPosition = data.isMyPosition; BOOL const isRoutePoint = data.isRoutePoint; BOOL const isNeedToAddIntermediatePoint = [MWMRouter canAddIntermediatePoint]; @@ -80,12 +81,19 @@ extern NSString * const kAlohalyticsTapEventKey; else if (isNeedToAddIntermediatePoint) { thereAreExtraButtons = false; - m_visibleButtons.push_back(EButton::RouteFrom); + if (!isNavigationActive) + { + m_visibleButtons.push_back(EButton::RouteFrom); + m_additionalButtons.push_back(EButton::Bookmark); + } + else + { + m_visibleButtons.push_back(EButton::Bookmark); + } m_visibleButtons.push_back(EButton::RouteTo); m_visibleButtons.push_back(EButton::AddStop); m_visibleButtons.push_back(EButton::More); - m_additionalButtons.push_back(EButton::Bookmark); if (isSponsored) m_additionalButtons.push_back(sponsoredButton); if (isPhoneCallAvailable) @@ -115,7 +123,8 @@ extern NSString * const kAlohalyticsTapEventKey; { thereAreExtraButtons = false; m_visibleButtons.push_back(EButton::Bookmark); - m_visibleButtons.push_back(EButton::RouteFrom); + if (!isNavigationActive) + m_visibleButtons.push_back(EButton::RouteFrom); m_visibleButtons.push_back(EButton::Share); } else if (isApi && isSponsored) @@ -123,7 +132,8 @@ extern NSString * const kAlohalyticsTapEventKey; m_visibleButtons.push_back(EButton::Api); m_visibleButtons.push_back(sponsoredButton); m_additionalButtons.push_back(EButton::Bookmark); - m_additionalButtons.push_back(EButton::RouteFrom); + if (!isNavigationActive) + m_additionalButtons.push_back(EButton::RouteFrom); m_additionalButtons.push_back(EButton::Share); } else if (isApi && isPhoneCallAvailable) @@ -131,13 +141,15 @@ extern NSString * const kAlohalyticsTapEventKey; m_visibleButtons.push_back(EButton::Api); m_visibleButtons.push_back(EButton::Call); m_additionalButtons.push_back(EButton::Bookmark); - m_additionalButtons.push_back(EButton::RouteFrom); + if (!isNavigationActive) + m_additionalButtons.push_back(EButton::RouteFrom); m_additionalButtons.push_back(EButton::Share); } else if (isApi && isP2P) { m_visibleButtons.push_back(EButton::Api); - m_visibleButtons.push_back(EButton::RouteFrom); + if (!isNavigationActive) + m_visibleButtons.push_back(EButton::RouteFrom); m_additionalButtons.push_back(EButton::Bookmark); m_additionalButtons.push_back(EButton::Share); } @@ -145,20 +157,23 @@ extern NSString * const kAlohalyticsTapEventKey; { m_visibleButtons.push_back(EButton::Api); m_visibleButtons.push_back(EButton::Bookmark); - m_additionalButtons.push_back(EButton::RouteFrom); + if (!isNavigationActive) + m_additionalButtons.push_back(EButton::RouteFrom); m_additionalButtons.push_back(EButton::Share); } else if (isSponsored && isP2P) { m_visibleButtons.push_back(EButton::Bookmark); - m_visibleButtons.push_back(EButton::RouteFrom); + if (!isNavigationActive) + m_visibleButtons.push_back(EButton::RouteFrom); m_additionalButtons.push_back(sponsoredButton); m_additionalButtons.push_back(EButton::Share); } else if (isPhoneCallAvailable && isP2P) { m_visibleButtons.push_back(EButton::Bookmark); - m_visibleButtons.push_back(EButton::RouteFrom); + if (!isNavigationActive) + m_visibleButtons.push_back(EButton::RouteFrom); m_additionalButtons.push_back(EButton::Call); m_additionalButtons.push_back(EButton::Share); } @@ -166,20 +181,23 @@ extern NSString * const kAlohalyticsTapEventKey; { m_visibleButtons.push_back(sponsoredButton); m_visibleButtons.push_back(EButton::Bookmark); - m_additionalButtons.push_back(EButton::RouteFrom); + if (!isNavigationActive) + m_additionalButtons.push_back(EButton::RouteFrom); m_additionalButtons.push_back(EButton::Share); } else if (isPhoneCallAvailable) { m_visibleButtons.push_back(EButton::Call); m_visibleButtons.push_back(EButton::Bookmark); - m_additionalButtons.push_back(EButton::RouteFrom); + if (!isNavigationActive) + m_additionalButtons.push_back(EButton::RouteFrom); m_additionalButtons.push_back(EButton::Share); } else { m_visibleButtons.push_back(EButton::Bookmark); - m_visibleButtons.push_back(EButton::RouteFrom); + if (!isNavigationActive) + m_visibleButtons.push_back(EButton::RouteFrom); }