From c5b9e51a794771576a103ecc5669b0340622860f Mon Sep 17 00:00:00 2001 From: Aleksey Belousov Date: Fri, 17 Apr 2020 18:09:21 +0300 Subject: [PATCH] [iOS] open booking.com for non-booking.com hotels --- iphone/Maps/UI/PlacePage/PlacePageInteractor.swift | 2 +- .../UI/PlacePage/PlacePageManager/MWMPlacePageManager.mm | 7 +++++++ .../PlacePage/PlacePageManager/MWMPlacePageManagerHelper.h | 1 + .../PlacePageManager/MWMPlacePageManagerHelper.mm | 5 +++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/iphone/Maps/UI/PlacePage/PlacePageInteractor.swift b/iphone/Maps/UI/PlacePage/PlacePageInteractor.swift index c8d1773698..7c891d3d26 100644 --- a/iphone/Maps/UI/PlacePage/PlacePageInteractor.swift +++ b/iphone/Maps/UI/PlacePage/PlacePageInteractor.swift @@ -195,7 +195,7 @@ extension PlacePageInteractor: ActionBarViewControllerDelegate { case .booking: MWMPlacePageManagerHelper.book(placePageData) case .bookingSearch: - MWMPlacePageManagerHelper.searchSimilar(placePageData) + MWMPlacePageManagerHelper.searchBookingHotels(placePageData) case .bookmark: if placePageData.bookmarkData != nil { MWMPlacePageManagerHelper.removeBookmark(placePageData) diff --git a/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManager.mm b/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManager.mm index 0f74159e41..1831997dcc 100644 --- a/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManager.mm +++ b/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManager.mm @@ -302,6 +302,13 @@ void RegisterEventIfPossible(eye::MapObject::Event::Type const type) [self.ownerViewController openFullPlaceDescriptionWithHtml:htmlString]; } +- (void)searchBookingHotels:(PlacePageData *)data { + logSponsoredEvent(data, kStatPlacePageHotelBook); + NSURL *url = [NSURL URLWithString:data.bookingSearchUrl]; + NSAssert(url, @"Search url can't be nil!"); + [UIApplication.sharedApplication openURL:url options:@{} completionHandler:nil]; +} + - (void)openPartner:(PlacePageData *)data withStatisticLog:(NSString *)eventName proposedUrl:(NSURL *)proposedUrl { logSponsoredEvent(data, eventName); diff --git a/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManagerHelper.h b/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManagerHelper.h index e1e7afeb54..e281d31718 100644 --- a/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManagerHelper.h +++ b/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManagerHelper.h @@ -28,6 +28,7 @@ + (void)addBookmark:(PlacePageData *)data; + (void)removeBookmark:(PlacePageData *)data; + (void)editBookmark:(PlacePageData *)data; ++ (void)searchBookingHotels:(PlacePageData *)data; + (void)openPartner:(PlacePageData *)data; + (void)book:(PlacePageData *)data; + (void)share:(PlacePageData *)data; diff --git a/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManagerHelper.mm b/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManagerHelper.mm index c622e68cc0..7443735318 100644 --- a/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManagerHelper.mm +++ b/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManagerHelper.mm @@ -30,6 +30,7 @@ - (void)addBookmark:(PlacePageData *)data; - (void)removeBookmark:(PlacePageData *)data; - (void)editBookmark:(PlacePageData *)data; +- (void)searchBookingHotels:(PlacePageData *)data; - (void)openPartner:(PlacePageData *)data; - (void)book:(PlacePageData *)data; - (void)share:(PlacePageData *)data; @@ -129,6 +130,10 @@ [[MWMMapViewControlsManager manager].placePageManager editBookmark:data]; } ++ (void)searchBookingHotels:(PlacePageData *)data { + [[MWMMapViewControlsManager manager].placePageManager searchBookingHotels:data]; +} + + (void)openPartner:(PlacePageData *)data { [[MWMMapViewControlsManager manager].placePageManager openPartner:data]; }