From 303d0eb1e4017ad50996d52014ad71459fa8373b Mon Sep 17 00:00:00 2001 From: Arsentiy Milchakov Date: Thu, 5 Mar 2020 15:55:49 +0300 Subject: [PATCH] [ios] freenow taxi is added --- .../CoreApi/PlacePageData/PlacePageData.h | 3 +- .../CoreApi/PlacePageData/PlacePageData.mm | 2 + .../MWMRoutePreviewTaxiCellType.h | 3 +- .../RoutePreview/MWMTaxiPreviewDataSource.mm | 7 + .../RoutePreview/RoutePreviewTaxiCell.swift | 3 + .../Common/Statistics/StatisticsStrings.h | 1 + iphone/Maps/Core/Routing/MWMRouter.mm | 1 + .../ic_logo_freenow.imageset/Contents.json | 12 + .../ic_logo_freenow.pdf | 219 ++++++++++++++++++ iphone/Maps/MAPSME.plist | 1 + .../Components/TaxiViewController.swift | 3 + .../PlacePageManager/MWMPlacePageManager.mm | 1 + .../partners_api.xcodeproj/project.pbxproj | 12 + 13 files changed, 266 insertions(+), 2 deletions(-) create mode 100644 iphone/Maps/Images.xcassets/ic_logo_freenow.imageset/Contents.json create mode 100644 iphone/Maps/Images.xcassets/ic_logo_freenow.imageset/ic_logo_freenow.pdf diff --git a/iphone/CoreApi/CoreApi/PlacePageData/PlacePageData.h b/iphone/CoreApi/CoreApi/PlacePageData/PlacePageData.h index 8c194ee101..a56a94f219 100644 --- a/iphone/CoreApi/CoreApi/PlacePageData/PlacePageData.h +++ b/iphone/CoreApi/CoreApi/PlacePageData/PlacePageData.h @@ -30,7 +30,8 @@ typedef NS_ENUM(NSInteger, PlacePageTaxiProvider) { PlacePageTaxiProviderUber, PlacePageTaxiProviderYandex, PlacePageTaxiProviderMaxim, - PlacePageTaxiProviderRutaxi + PlacePageTaxiProviderRutaxi, + PlacePageTaxiProviderFreenow, }; typedef NS_ENUM(NSInteger, PlacePageRoadType) { diff --git a/iphone/CoreApi/CoreApi/PlacePageData/PlacePageData.mm b/iphone/CoreApi/CoreApi/PlacePageData/PlacePageData.mm index eb0552f291..45e4bac2cc 100644 --- a/iphone/CoreApi/CoreApi/PlacePageData/PlacePageData.mm +++ b/iphone/CoreApi/CoreApi/PlacePageData/PlacePageData.mm @@ -47,6 +47,8 @@ static PlacePageTaxiProvider convertTaxiProvider(taxi::Provider::Type providerTy return PlacePageTaxiProviderMaxim; case taxi::Provider::Rutaxi: return PlacePageTaxiProviderRutaxi; + case taxi::Provider::Freenow: + return PlacePageTaxiProviderFreenow; case taxi::Provider::Count: return PlacePageTaxiProviderNone; } diff --git a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMRoutePreviewTaxiCellType.h b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMRoutePreviewTaxiCellType.h index 81f49feac6..ce6e733881 100644 --- a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMRoutePreviewTaxiCellType.h +++ b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMRoutePreviewTaxiCellType.h @@ -3,5 +3,6 @@ typedef NS_ENUM(NSInteger, MWMRoutePreviewTaxiCellType) { MWMRoutePreviewTaxiCellTypeUber, MWMRoutePreviewTaxiCellTypeYandex, MWMRoutePreviewTaxiCellTypeMaxim, - MWMRoutePreviewTaxiCellTypeVezet + MWMRoutePreviewTaxiCellTypeVezet, + MWMRoutePreviewTaxiCellTypeFreenow, }; diff --git a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMTaxiPreviewDataSource.mm b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMTaxiPreviewDataSource.mm index f79f0dcbba..cef12a6042 100644 --- a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMTaxiPreviewDataSource.mm +++ b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/MWMTaxiPreviewDataSource.mm @@ -137,6 +137,10 @@ using namespace taxi; self.type = MWMRoutePreviewTaxiCellTypeVezet; providerName = kStatVezet; break; + case taxi::Provider::Type::Freenow: + self.type = MWMRoutePreviewTaxiCellTypeFreenow; + providerName = kStatFreenow; + break; case taxi::Provider::Type::Count: LOG(LERROR, ("Incorrect taxi provider")); break; @@ -172,6 +176,7 @@ using namespace taxi; case taxi::Provider::Type::Yandex: provider = kStatYandex; break; case taxi::Provider::Type::Maxim: provider = kStatMaxim; break; case taxi::Provider::Type::Rutaxi: provider = kStatVezet; break; + case taxi::Provider::Type::Freenow: provider = kStatFreenow; break; case taxi::Provider::Count: LOG(LERROR, ("Incorrect taxi provider")); break; } NSString * errorValue = nil; @@ -204,6 +209,7 @@ using namespace taxi; case MWMRoutePreviewTaxiCellTypeYandex: url = [NSURL URLWithString:@"yandextaxi://"]; break; case MWMRoutePreviewTaxiCellTypeMaxim: url = [NSURL URLWithString:@"maximzakaz://"]; break; case MWMRoutePreviewTaxiCellTypeVezet: url = [NSURL URLWithString:@"vzt://"]; break; + case MWMRoutePreviewTaxiCellTypeFreenow: url = [NSURL URLWithString:@"mytaxi://"]; break; } return [UIApplication.sharedApplication canOpenURL:url]; } @@ -226,6 +232,7 @@ using namespace taxi; case MWMRoutePreviewTaxiCellTypeYandex: type = Provider::Type::Yandex; break; case MWMRoutePreviewTaxiCellTypeMaxim: type = Provider::Type::Maxim; break; case MWMRoutePreviewTaxiCellTypeVezet: type = Provider::Type::Rutaxi; break; + case MWMRoutePreviewTaxiCellTypeFreenow: type = Provider::Type::Freenow; 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 a3c96d695b..5dfa8d84a6 100644 --- a/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/RoutePreviewTaxiCell.swift +++ b/iphone/Maps/Classes/CustomViews/NavigationDashboard/Views/RoutePreview/RoutePreviewTaxiCell.swift @@ -13,6 +13,7 @@ final class RoutePreviewTaxiCell: UICollectionViewCell { case .yandex: return #imageLiteral(resourceName: "ic_taxi_logo_yandex") case .maxim: return #imageLiteral(resourceName: "ic_taxi_logo_maksim") case .vezet: return #imageLiteral(resourceName: "ic_taxi_logo_vezet") + case .freenow: return #imageLiteral(resourceName: "ic_logo_freenow") } } @@ -23,6 +24,7 @@ final class RoutePreviewTaxiCell: UICollectionViewCell { case .yandex: return L("yandex_taxi_title") case .maxim: return L("maxim_taxi_title") case .vezet: return L("vezet_taxi") + case .freenow: return title } } @@ -42,6 +44,7 @@ final class RoutePreviewTaxiCell: UICollectionViewCell { } else { return "\(currency) \(price)" } + case .freenow: return price } } diff --git a/iphone/Maps/Common/Statistics/StatisticsStrings.h b/iphone/Maps/Common/Statistics/StatisticsStrings.h index c875bcb4e8..60f84a700b 100644 --- a/iphone/Maps/Common/Statistics/StatisticsStrings.h +++ b/iphone/Maps/Common/Statistics/StatisticsStrings.h @@ -532,6 +532,7 @@ static NSString * const kStatVehicle = @"Vehicle"; static NSString * const kStatVendor = @"vendor"; static NSString * const kStatVersion = @"version"; static NSString * const kStatVezet = @"Vezet"; +static NSString * const kStatFreenow = @"Freenow"; static NSString * const kStatViewOnMap = @"view_on_map"; static NSString * const kStatVisible = @"Visible"; static NSString * const kStatWebView = @"webview"; diff --git a/iphone/Maps/Core/Routing/MWMRouter.mm b/iphone/Maps/Core/Routing/MWMRouter.mm index 667dbb67f7..924eeb414e 100644 --- a/iphone/Maps/Core/Routing/MWMRouter.mm +++ b/iphone/Maps/Core/Routing/MWMRouter.mm @@ -124,6 +124,7 @@ void logPointEvent(MWMRoutePoint * point, NSString * eventType) case MWMRoutePreviewTaxiCellTypeYandex: provider = kStatYandex; break; case MWMRoutePreviewTaxiCellTypeMaxim: provider = kStatMaxim; break; case MWMRoutePreviewTaxiCellTypeVezet: provider = kStatVezet; break; + case MWMRoutePreviewTaxiCellTypeFreenow: provider = kStatFreenow; break; } [Statistics logEvent:eventName diff --git a/iphone/Maps/Images.xcassets/ic_logo_freenow.imageset/Contents.json b/iphone/Maps/Images.xcassets/ic_logo_freenow.imageset/Contents.json new file mode 100644 index 0000000000..5fa1b6ab71 --- /dev/null +++ b/iphone/Maps/Images.xcassets/ic_logo_freenow.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "ic_logo_freenow.pdf" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/iphone/Maps/Images.xcassets/ic_logo_freenow.imageset/ic_logo_freenow.pdf b/iphone/Maps/Images.xcassets/ic_logo_freenow.imageset/ic_logo_freenow.pdf new file mode 100644 index 0000000000..b7a7ae6a3d --- /dev/null +++ b/iphone/Maps/Images.xcassets/ic_logo_freenow.imageset/ic_logo_freenow.pdf @@ -0,0 +1,219 @@ +%PDF-1.7 + +1 0 obj + << >> +endobj + +2 0 obj + << /Length 3 0 R >> +stream +/DeviceRGB CS +/DeviceRGB cs +q +1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm +1.000000 0.039216 0.168627 scn +7.210927 24.000000 m +16.789074 24.000000 l +18.460670 24.000000 20.864313 24.000000 24.000000 24.000000 c +24.000000 20.864313 24.000000 18.460670 24.000000 16.789074 c +24.000000 7.210926 l +24.000000 5.539330 24.000000 3.135687 24.000000 0.000000 c +20.864313 0.000000 18.460670 0.000000 16.789074 0.000000 c +7.210927 0.000000 l +5.539330 0.000000 3.135687 0.000000 0.000000 0.000000 c +0.000000 3.135687 0.000000 5.539330 0.000000 7.210926 c +0.000000 16.789074 l +0.000000 18.460670 0.000000 20.864313 0.000000 24.000000 c +3.135687 24.000000 5.539330 24.000000 7.210927 24.000000 c +h +f* +n +Q +q +1.000000 0.000000 -0.000000 1.000000 5.765625 12.554688 cm +1.000000 1.000000 0.996078 scn +0.000000 3.289062 m +2.338131 3.289062 l +2.338131 2.681129 l +0.667359 2.681129 l +0.667359 1.958511 l +2.194786 1.958511 l +2.194786 1.350577 l +0.667359 1.350577 l +0.667359 0.000080 l +0.000000 0.000080 l +0.000000 3.289062 l +h +f* +n +Q +q +1.000000 0.000000 -0.000000 1.000000 8.975586 12.554688 cm +1.000000 1.000000 0.996078 scn +0.674879 1.838938 m +1.409684 1.838938 l +1.724615 1.838938 1.924597 2.003289 1.924597 2.267464 c +1.924597 2.531541 1.724615 2.695990 1.409684 2.695990 c +0.674879 2.695990 l +0.674879 1.838938 l +h +1.969615 0.000080 m +1.139772 1.245865 l +0.674879 1.245865 l +0.674879 0.000080 l +0.000000 0.000080 l +0.000000 3.289062 l +1.414686 3.289062 l +2.129581 3.289062 2.614482 2.875398 2.614482 2.267464 c +2.614482 1.799048 2.314558 1.440232 1.849567 1.305700 c +2.734432 0.000080 l +1.969615 0.000080 l +h +f* +n +Q +q +1.000000 0.000000 -0.000000 1.000000 12.582031 12.554688 cm +1.000000 1.000000 0.996078 scn +0.000000 3.289062 m +2.392541 3.289062 l +2.392541 2.681129 l +0.670129 2.681129 l +0.670129 1.963497 l +2.233700 1.963497 l +2.233700 1.390369 l +0.670129 1.390369 l +0.670129 0.608014 l +2.417375 0.608014 l +2.417375 0.000080 l +0.000000 0.000080 l +0.000000 3.289062 l +h +f* +n +Q +q +1.000000 0.000000 -0.000000 1.000000 15.910645 12.554688 cm +1.000000 1.000000 0.996078 scn +0.000000 3.289062 m +2.392555 3.289062 l +2.392555 2.681129 l +0.670134 2.681129 l +0.670134 1.963497 l +2.233713 1.963497 l +2.233713 1.390369 l +0.670134 1.390369 l +0.670134 0.608014 l +2.417389 0.608014 l +2.417389 0.000080 l +0.000000 0.000080 l +0.000000 3.289062 l +h +f* +n +Q +q +1.000000 0.000000 -0.000000 1.000000 5.805664 8.196289 cm +0.101961 0.282353 0.380392 scn +2.932564 3.298877 m +2.932564 0.000020 l +2.597265 0.000020 l +0.675605 2.030878 l +0.675605 0.029757 l +0.000000 0.029757 l +0.000000 3.328613 l +0.330291 3.328613 l +2.256959 1.307765 l +2.256959 3.298877 l +2.932564 3.298877 l +h +f* +n +Q +q +1.000000 0.000000 -0.000000 1.000000 9.252930 8.156250 cm +0.101961 0.282353 0.380392 scn +2.796837 1.703743 m +2.796837 2.336476 2.344782 2.784854 1.743698 2.784854 c +1.132673 2.784854 0.690559 2.336476 0.690559 1.703743 c +0.690559 1.066024 1.132673 0.622632 1.743698 0.622632 c +2.344782 0.622632 2.796837 1.066024 2.796837 1.703743 c +h +0.000000 1.703743 m +0.000000 2.670291 0.774966 3.407715 1.738727 3.407715 c +2.702488 3.407715 3.487396 2.670291 3.487396 1.703743 c +3.487396 0.737194 2.702488 -0.000132 1.738727 -0.000132 c +0.774966 -0.000132 0.000000 0.737194 0.000000 1.703743 c +h +f* +n +Q +q +1.000000 0.000000 -0.000000 1.000000 12.898926 8.196289 cm +0.101961 0.282353 0.380392 scn +4.874424 3.298877 m +3.623583 0.000020 l +3.295973 0.000020 l +2.442276 2.159641 l +1.588483 0.000020 l +1.255906 0.000020 l +0.000000 3.298877 l +0.724756 3.298877 l +1.449511 1.263160 l +2.273407 3.328613 l +2.606082 3.328613 l +3.425011 1.268116 l +4.149766 3.298877 l +4.874424 3.298877 l +h +f* +n +Q + +endstream +endobj + +3 0 obj + 3631 +endobj + +4 0 obj + << /Annots [] + /Type /Page + /MediaBox [ 0.000000 0.000000 24.000000 24.000000 ] + /Resources 1 0 R + /Contents 2 0 R + /Parent 5 0 R + >> +endobj + +5 0 obj + << /Kids [ 4 0 R ] + /Count 1 + /Type /Pages + >> +endobj + +6 0 obj + << /Type /Catalog + /Pages 5 0 R + >> +endobj + +xref +0 7 +0000000000 65535 f +0000000010 00000 n +0000000034 00000 n +0000003721 00000 n +0000003744 00000 n +0000003917 00000 n +0000003991 00000 n +trailer +<< /ID [ (some) (id) ] + /Root 6 0 R + /Size 7 +>> +startxref +4050 +%%EOF \ No newline at end of file diff --git a/iphone/Maps/MAPSME.plist b/iphone/Maps/MAPSME.plist index ab02b574c4..b4c49b8509 100644 --- a/iphone/Maps/MAPSME.plist +++ b/iphone/Maps/MAPSME.plist @@ -115,6 +115,7 @@ booking maximzakaz vzt + mytaxi LSRequiresIPhoneOS diff --git a/iphone/Maps/UI/PlacePage/Components/TaxiViewController.swift b/iphone/Maps/UI/PlacePage/Components/TaxiViewController.swift index e17880634a..426055f25d 100644 --- a/iphone/Maps/UI/PlacePage/Components/TaxiViewController.swift +++ b/iphone/Maps/UI/PlacePage/Components/TaxiViewController.swift @@ -27,6 +27,9 @@ class TaxiViewController: UIViewController { case .rutaxi: taxiImageView.image = UIImage(named: "ic_taxi_logo_vezet") taxiNameLabel.text = L("vezet_taxi") + case .freenow: + taxiImageView.image = UIImage(named: "ic_logo_freenow") + taxiNameLabel.text = L("freenow_taxi_title") @unknown default: fatalError() } diff --git a/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManager.mm b/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManager.mm index de6aa99d6c..f4a2337590 100644 --- a/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManager.mm +++ b/iphone/Maps/UI/PlacePage/PlacePageManager/MWMPlacePageManager.mm @@ -138,6 +138,7 @@ void RegisterEventIfPossible(eye::MapObject::Event::Type const type) case PlacePageTaxiProviderYandex: providerString = kStatYandex; break; case PlacePageTaxiProviderMaxim: providerString = kStatMaxim; break; case PlacePageTaxiProviderRutaxi: providerString = kStatVezet; break; + case PlacePageTaxiProviderFreenow: providerString = kStatFreenow; break; } [Statistics logEvent:kStatPlacePageTaxiClick diff --git a/xcode/partners_api/partners_api.xcodeproj/project.pbxproj b/xcode/partners_api/partners_api.xcodeproj/project.pbxproj index 747ee5b5fd..e7ffed26a4 100644 --- a/xcode/partners_api/partners_api.xcodeproj/project.pbxproj +++ b/xcode/partners_api/partners_api.xcodeproj/project.pbxproj @@ -50,6 +50,9 @@ 3DA5713420B57358007BDE27 /* booking_params_base.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 3DA5713320B57358007BDE27 /* booking_params_base.hpp */; }; 3DBC1C541E4B14920016897F /* facebook_ads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3DBC1C521E4B14920016897F /* facebook_ads.cpp */; }; 3DBC1C551E4B14920016897F /* facebook_ads.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 3DBC1C531E4B14920016897F /* facebook_ads.hpp */; }; + 3DBD7B9824112DE100ED9FE8 /* freenow_api.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3DBD7B9624112DE000ED9FE8 /* freenow_api.cpp */; }; + 3DBD7B9924112DE100ED9FE8 /* freenow_api.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 3DBD7B9724112DE100ED9FE8 /* freenow_api.hpp */; }; + 3DBD7B9B24112DEA00ED9FE8 /* freenow_tests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3DBD7B9A24112DEA00ED9FE8 /* freenow_tests.cpp */; }; 3DCD415320DAB33700143533 /* booking_block_params.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3DCD415120DAB33700143533 /* booking_block_params.cpp */; }; 3DCD415420DAB33700143533 /* booking_block_params.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 3DCD415220DAB33700143533 /* booking_block_params.hpp */; }; 3DF01C2D20652463005DDF8C /* taxi_places.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3DF01C2A20652462005DDF8C /* taxi_places.cpp */; }; @@ -146,6 +149,9 @@ 3DBC1C501E4B14810016897F /* facebook_tests.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = facebook_tests.cpp; sourceTree = ""; }; 3DBC1C521E4B14920016897F /* facebook_ads.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = facebook_ads.cpp; sourceTree = ""; }; 3DBC1C531E4B14920016897F /* facebook_ads.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = facebook_ads.hpp; sourceTree = ""; }; + 3DBD7B9624112DE000ED9FE8 /* freenow_api.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = freenow_api.cpp; sourceTree = ""; }; + 3DBD7B9724112DE100ED9FE8 /* freenow_api.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = freenow_api.hpp; sourceTree = ""; }; + 3DBD7B9A24112DEA00ED9FE8 /* freenow_tests.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = freenow_tests.cpp; sourceTree = ""; }; 3DCD415120DAB33700143533 /* booking_block_params.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = booking_block_params.cpp; sourceTree = ""; }; 3DCD415220DAB33700143533 /* booking_block_params.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = booking_block_params.hpp; sourceTree = ""; }; 3DF01C2A20652462005DDF8C /* taxi_places.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = taxi_places.cpp; sourceTree = ""; }; @@ -260,6 +266,8 @@ F6B5363B1DA520B20067EEA5 /* partners_api */ = { isa = PBXGroup; children = ( + 3DBD7B9624112DE000ED9FE8 /* freenow_api.cpp */, + 3DBD7B9724112DE100ED9FE8 /* freenow_api.hpp */, 3D1775A52318198600F8889C /* promo_catalog_types.cpp */, 3D1775A62318198700F8889C /* promo_catalog_types.hpp */, 346E888F1E9D087400D4CE9B /* ads_base.cpp */, @@ -325,6 +333,7 @@ F6B536441DA521060067EEA5 /* partners_api_tests */ = { isa = PBXGroup; children = ( + 3DBD7B9A24112DEA00ED9FE8 /* freenow_tests.cpp */, 3D18DC4322956E0900A583A6 /* promo_tests.cpp */, 3D18DC3222953FF600A583A6 /* rutaxi_tests.cpp */, 346E889D1E9D088200D4CE9B /* ads_engine_tests.cpp */, @@ -402,6 +411,7 @@ 3DFEBF861EF82BEA00317D5C /* viator_api.hpp in Headers */, 346E889C1E9D087400D4CE9B /* rb_ads.hpp in Headers */, 45BABC34229812830060FA53 /* downloader_promo.hpp in Headers */, + 3DBD7B9924112DE100ED9FE8 /* freenow_api.hpp in Headers */, 3D15ACE6214AA1B000F725D5 /* taxi_delegate.hpp in Headers */, 3DFEBF9A1EFBFC1500317D5C /* taxi_base.hpp in Headers */, 346E889A1E9D087400D4CE9B /* banner.hpp in Headers */, @@ -521,6 +531,7 @@ 3D4E997F1FB439300025B48C /* utils.cpp in Sources */, 3D15ACE8214AA1B000F725D5 /* rutaxi_api.cpp in Sources */, 3430643C1E9FBCF500DC7665 /* mopub_ads.cpp in Sources */, + 3DBD7B9824112DE100ED9FE8 /* freenow_api.cpp in Sources */, 45C380772094C5B400C18D81 /* partners.cpp in Sources */, 346E88961E9D087400D4CE9B /* ads_base.cpp in Sources */, 3D4E997D1FB439260025B48C /* booking_availability_params.cpp in Sources */, @@ -538,6 +549,7 @@ 45BABC33229812830060FA53 /* downloader_promo.cpp in Sources */, 3D18DC4422956E0900A583A6 /* promo_tests.cpp in Sources */, BB1956E61F543D7C003ECE6C /* locals_api.cpp in Sources */, + 3DBD7B9B24112DEA00ED9FE8 /* freenow_tests.cpp in Sources */, 3DFEBFA31EFBFC2300317D5C /* taxi_engine_tests.cpp in Sources */, F6B536401DA520E40067EEA5 /* booking_api.cpp in Sources */, 3D47B29A1F054C89000828D2 /* taxi_base.cpp in Sources */,