From ca36fd901fe4714cba94b6f1e694f3bbd831333c Mon Sep 17 00:00:00 2001 From: Ilya Grechuhin Date: Wed, 28 Feb 2018 14:52:19 +0300 Subject: [PATCH] [MAPSME-6918] [ios] Added taxi maxim support. --- .../RoutePreview/MWMRoutePreviewTaxiCellType.h | 3 ++- .../RoutePreview/MWMTaxiPreviewDataSource.mm | 7 +++++++ .../RoutePreview/RoutePreviewTaxiCell.swift | 5 ++++- .../Maps/Common/Statistics/StatisticsStrings.h | 1 + iphone/Maps/Core/Routing/MWMRouter.mm | 1 + .../ic_taxi_logo_maksim.imageset/Contents.json | 12 ++++++++++++ .../ic_taxi_logo_maksim.pdf | Bin 0 -> 4492 bytes iphone/Maps/UI/PlacePage/MWMPlacePageData.mm | 1 + iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm | 1 + .../Content/TaxiCell/MWMPlacePageTaxiProvider.h | 3 ++- .../Content/TaxiCell/PlacePageTaxiCell.swift | 3 +++ .../PlacePageLayout/MWMPlacePageLayout.mm | 2 ++ 12 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 iphone/Maps/Images.xcassets/ic_taxi_logo_maksim.imageset/Contents.json create mode 100644 iphone/Maps/Images.xcassets/ic_taxi_logo_maksim.imageset/ic_taxi_logo_maksim.pdf diff --git a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMRoutePreviewTaxiCellType.h b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMRoutePreviewTaxiCellType.h index d9b91ad392..b0bef993e2 100644 --- a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMRoutePreviewTaxiCellType.h +++ b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMRoutePreviewTaxiCellType.h @@ -1,5 +1,6 @@ typedef NS_ENUM(NSInteger, MWMRoutePreviewTaxiCellType) { MWMRoutePreviewTaxiCellTypeTaxi, MWMRoutePreviewTaxiCellTypeUber, - MWMRoutePreviewTaxiCellTypeYandex + MWMRoutePreviewTaxiCellTypeYandex, + MWMRoutePreviewTaxiCellTypeMaxim }; diff --git a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMTaxiPreviewDataSource.mm b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMTaxiPreviewDataSource.mm index c1d5e06741..65dc7fe8ae 100644 --- a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMTaxiPreviewDataSource.mm +++ b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMTaxiPreviewDataSource.mm @@ -129,6 +129,10 @@ using namespace taxi; self.type = MWMRoutePreviewTaxiCellTypeYandex; providerName = kStatYandex; break; + case taxi::Provider::Type::Maxim: + self.type = MWMRoutePreviewTaxiCellTypeMaxim; + providerName = kStatMaxim; + break; } [Statistics logEvent:kStatRoutingBuildTaxi withParameters:@{@"provider": providerName}]; auto cv = self.collectionView; @@ -159,6 +163,7 @@ using namespace taxi; { case taxi::Provider::Type::Uber: provider = kStatUber; break; case taxi::Provider::Type::Yandex: provider = kStatYandex; break; + case taxi::Provider::Type::Maxim: provider = kStatMaxim; break; } NSString * errorValue = nil; switch (errorCode) @@ -189,6 +194,7 @@ using namespace taxi; case MWMRoutePreviewTaxiCellTypeTaxi: return NO; case MWMRoutePreviewTaxiCellTypeUber: url = [NSURL URLWithString:@"uber://"]; break; case MWMRoutePreviewTaxiCellTypeYandex: url = [NSURL URLWithString:@"yandextaxi://"]; break; + case MWMRoutePreviewTaxiCellTypeMaxim: url = [NSURL URLWithString:@"maximzakaz://"]; break; } return [UIApplication.sharedApplication canOpenURL:url]; } @@ -210,6 +216,7 @@ using namespace taxi; case MWMRoutePreviewTaxiCellTypeTaxi: return; case MWMRoutePreviewTaxiCellTypeUber: type = Provider::Type::Uber; break; case MWMRoutePreviewTaxiCellTypeYandex: type = Provider::Type::Yandex; break; + case MWMRoutePreviewTaxiCellTypeMaxim: type = Provider::Type::Maxim; break; } auto links = engine->GetRideRequestLinks(type, productId, m_from, m_to); diff --git a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/RoutePreviewTaxiCell.swift b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/RoutePreviewTaxiCell.swift index 29c8321b1a..27f9248fce 100644 --- a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/RoutePreviewTaxiCell.swift +++ b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/RoutePreviewTaxiCell.swift @@ -22,6 +22,7 @@ final class RoutePreviewTaxiCell: UICollectionViewCell { case .taxi: return #imageLiteral(resourceName: "icTaxiTaxi") case .uber: return #imageLiteral(resourceName: "icTaxiUber") case .yandex: return #imageLiteral(resourceName: "ic_taxi_logo_yandex") + case .maxim: return #imageLiteral(resourceName: "ic_taxi_logo_maksim") } } @@ -30,6 +31,7 @@ final class RoutePreviewTaxiCell: UICollectionViewCell { case .taxi: fallthrough case .uber: return title case .yandex: return L("yandex_taxi_title") + case .maxim: return L("maxim_taxi_title") } } @@ -37,7 +39,8 @@ final class RoutePreviewTaxiCell: UICollectionViewCell { switch type { case .taxi: fallthrough case .uber: return price - case .yandex: + case .yandex: fallthrough + case .maxim: let formatter = NumberFormatter() formatter.numberStyle = .currency formatter.currencyCode = currency diff --git a/iphone/Maps/Common/Statistics/StatisticsStrings.h b/iphone/Maps/Common/Statistics/StatisticsStrings.h index b072219ffc..c0bc07864e 100644 --- a/iphone/Maps/Common/Statistics/StatisticsStrings.h +++ b/iphone/Maps/Common/Statistics/StatisticsStrings.h @@ -173,6 +173,7 @@ static NSString * const kStatMapSearch = @"Map search"; static NSString * const kStatMapViewStyle = @"Map view style"; static NSString * const kStatMapViewStyleSettings = @"Map view style settings"; static NSString * const kStatMapsme = @"maps.me"; +static NSString * const kStatMaxim = @"Maxim"; static NSString * const kStatMenu = @"Menu"; static NSString * const kStatMigrationBig2SmallMWM = @"Big mwms to small mwms migration counter"; static NSString * const kStatMiles = @"Miles"; diff --git a/iphone/Maps/Core/Routing/MWMRouter.mm b/iphone/Maps/Core/Routing/MWMRouter.mm index e5d1b7900d..0e9d0ff970 100644 --- a/iphone/Maps/Core/Routing/MWMRouter.mm +++ b/iphone/Maps/Core/Routing/MWMRouter.mm @@ -122,6 +122,7 @@ void logPointEvent(MWMRoutePoint * point, NSString * eventType) case MWMRoutePreviewTaxiCellTypeTaxi: provider = kStatUnknown; break; case MWMRoutePreviewTaxiCellTypeUber: provider = kStatUber; break; case MWMRoutePreviewTaxiCellTypeYandex: provider = kStatYandex; break; + case MWMRoutePreviewTaxiCellTypeMaxim: provider = kStatMaxim; break; } [Statistics logEvent:eventName diff --git a/iphone/Maps/Images.xcassets/ic_taxi_logo_maksim.imageset/Contents.json b/iphone/Maps/Images.xcassets/ic_taxi_logo_maksim.imageset/Contents.json new file mode 100644 index 0000000000..c0bffb7729 --- /dev/null +++ b/iphone/Maps/Images.xcassets/ic_taxi_logo_maksim.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "ic_taxi_logo_maksim.pdf" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/ic_taxi_logo_maksim.imageset/ic_taxi_logo_maksim.pdf b/iphone/Maps/Images.xcassets/ic_taxi_logo_maksim.imageset/ic_taxi_logo_maksim.pdf new file mode 100644 index 0000000000000000000000000000000000000000..13ec9d513d2cd8ba96c7aa00d4b48a325ff12657 GIT binary patch literal 4492 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 Oq~HKSK~-Hfz<&Vu#Kac> literal 0 HcmV?d00001 diff --git a/iphone/Maps/UI/PlacePage/MWMPlacePageData.mm b/iphone/Maps/UI/PlacePage/MWMPlacePageData.mm index 489ea93e87..e635f0ad6f 100644 --- a/iphone/Maps/UI/PlacePage/MWMPlacePageData.mm +++ b/iphone/Maps/UI/PlacePage/MWMPlacePageData.mm @@ -97,6 +97,7 @@ NSString * const kUserDefaultsLatLonAsDMSKey = @"UserDefaultsLatLonAsDMS"; { case taxi::Provider::Uber: provider = kStatUber; break; case taxi::Provider::Yandex: provider = kStatYandex; break; + case taxi::Provider::Maxim: provider = kStatMaxim; break; } [Statistics logEvent:kStatPlacepageTaxiShow withParameters:@{ @"provider" : provider }]; } diff --git a/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm b/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm index c2477e387f..bb4a46163e 100644 --- a/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm +++ b/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm @@ -347,6 +347,7 @@ void logSponsoredEvent(MWMPlacePageData * data, NSString * eventName) case MWMPlacePageTaxiProviderTaxi: providerString = kStatUnknown; break; case MWMPlacePageTaxiProviderUber: providerString = kStatUber; break; case MWMPlacePageTaxiProviderYandex: providerString = kStatYandex; break; + case MWMPlacePageTaxiProviderMaxim: providerString = kStatMaxim; break; } [Statistics logEvent:kStatPlacePageTaxiClick withParameters:@{kStatProvider : providerString, kStatTags : data.statisticsTags}]; diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/TaxiCell/MWMPlacePageTaxiProvider.h b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/TaxiCell/MWMPlacePageTaxiProvider.h index 701d87c484..c4566106ee 100644 --- a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/TaxiCell/MWMPlacePageTaxiProvider.h +++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/TaxiCell/MWMPlacePageTaxiProvider.h @@ -1,5 +1,6 @@ typedef NS_ENUM(NSInteger, MWMPlacePageTaxiProvider) { MWMPlacePageTaxiProviderTaxi, MWMPlacePageTaxiProviderUber, - MWMPlacePageTaxiProviderYandex + MWMPlacePageTaxiProviderYandex, + MWMPlacePageTaxiProviderMaxim }; diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/TaxiCell/PlacePageTaxiCell.swift b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/TaxiCell/PlacePageTaxiCell.swift index fd6e6946d3..11baaed3ea 100644 --- a/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/TaxiCell/PlacePageTaxiCell.swift +++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/TaxiCell/PlacePageTaxiCell.swift @@ -37,6 +37,9 @@ final class PlacePageTaxiCell: MWMTableViewCell { case .yandex: icon.image = #imageLiteral(resourceName: "ic_taxi_logo_yandex") title.text = L("yandex_taxi_title") + case .maxim: + icon.image = #imageLiteral(resourceName: "ic_taxi_logo_maksim") + title.text = L("maxim_taxi_title") } } diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.mm b/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.mm index c0522797c7..5f8dc1bedb 100644 --- a/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.mm +++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.mm @@ -376,6 +376,7 @@ map const kMetaInfoCells = { { case taxi::Provider::Uber: type = MWMPlacePageTaxiProviderUber; break; case taxi::Provider::Yandex: type = MWMPlacePageTaxiProviderYandex; break; + case taxi::Provider::Maxim: type = MWMPlacePageTaxiProviderMaxim; break; } [c configWithType:type delegate:delegate]; self.taxiCell = c; @@ -595,6 +596,7 @@ map const kMetaInfoCells = { { case taxi::Provider::Uber: provider = kStatUber; break; case taxi::Provider::Yandex: provider = kStatYandex; break; + case taxi::Provider::Maxim: provider = kStatMaxim; break; } [Statistics logEvent:kStatPlacepageTaxiShow withParameters:@{kStatProvider: provider, kStatPlacement: kStatPlacePage}];