[ios] rutaxi is added to ios

This commit is contained in:
Arsentiy Milchakov 2018-09-26 16:10:00 +03:00 committed by Aleksey Belousov
parent 0ef0f2e142
commit 1ef7d6e25d
47 changed files with 118 additions and 17 deletions

View file

@ -91,6 +91,4 @@
<string name="pref_opt_out_fabric_activated" translatable="false">pref_opt_out_fabric_activated</string>
<string name="pref_opt_out_mopub" translatable="false">pref_opt_out_mopub</string>
<string name="pref_opt_out_flurry" translatable="false">pref_opt_out_flurry</string>
<string name="rutaxi_title" translatable="false">RuTaxi</string>
</resources>

View file

@ -1436,6 +1436,7 @@
<string name="server_unavailable_title">Server is unavailable</string>
<string name="server_unavailable_message">The purchase will be completed later. If the error persists, please contact support\@maps.me.</string>
<string name="offline_fiters_check_in">Connect to the internet to filter hotels by dates.</string>
<string name="rutaxi_title">RuTaxi</string>
<!-- SECTION: Partners -->
<string name="sponsored_partner1_action">Outlets</string>

View file

@ -33293,3 +33293,6 @@ fa = دوباره نپرس
[offline_fiters_check_in]
en = Connect to the internet to filter hotels by dates.
ru = Подключитесь к интернету, чтобы выбрать дату заезда и выезда.
[rutaxi_title]
en = RuTaxi

View file

@ -2,5 +2,6 @@ typedef NS_ENUM(NSInteger, MWMRoutePreviewTaxiCellType) {
MWMRoutePreviewTaxiCellTypeTaxi,
MWMRoutePreviewTaxiCellTypeUber,
MWMRoutePreviewTaxiCellTypeYandex,
MWMRoutePreviewTaxiCellTypeMaxim
MWMRoutePreviewTaxiCellTypeMaxim,
MWMRoutePreviewTaxiCellTypeRutaxi
};

View file

@ -133,10 +133,10 @@ using namespace taxi;
self.type = MWMRoutePreviewTaxiCellTypeMaxim;
providerName = kStatMaxim;
break;
// Dummy.
case taxi::Provider::Type::Rutaxi:
self.type = MWMRoutePreviewTaxiCellTypeMaxim;
providerName = kStatMaxim;
self.type = MWMRoutePreviewTaxiCellTypeRutaxi;
providerName = kStatRutaxi;
break;
case taxi::Provider::Type::Count:
LOG(LERROR, ("Incorrect taxi provider"));
break;
@ -171,8 +171,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;
// Dummy.
case taxi::Provider::Type::Rutaxi: provider = kStatMaxim; break;
case taxi::Provider::Type::Rutaxi: provider = kStatRutaxi; break;
case taxi::Provider::Count: LOG(LERROR, ("Incorrect taxi provider")); break;
}
NSString * errorValue = nil;
@ -205,6 +204,7 @@ using namespace taxi;
case MWMRoutePreviewTaxiCellTypeUber: url = [NSURL URLWithString:@"uber://"]; break;
case MWMRoutePreviewTaxiCellTypeYandex: url = [NSURL URLWithString:@"yandextaxi://"]; break;
case MWMRoutePreviewTaxiCellTypeMaxim: url = [NSURL URLWithString:@"maximzakaz://"]; break;
case MWMRoutePreviewTaxiCellTypeRutaxi: url = [NSURL URLWithString:@"rto://"]; break;
}
return [UIApplication.sharedApplication canOpenURL:url];
}
@ -227,6 +227,7 @@ using namespace taxi;
case MWMRoutePreviewTaxiCellTypeUber: type = Provider::Type::Uber; break;
case MWMRoutePreviewTaxiCellTypeYandex: type = Provider::Type::Yandex; break;
case MWMRoutePreviewTaxiCellTypeMaxim: type = Provider::Type::Maxim; break;
case MWMRoutePreviewTaxiCellTypeRutaxi: type = Provider::Type::Rutaxi; break;
}
auto links = engine->GetRideRequestLinks(type, productId, m_from, m_to);

View file

@ -23,6 +23,7 @@ final class RoutePreviewTaxiCell: UICollectionViewCell {
case .uber: return #imageLiteral(resourceName: "icTaxiUber")
case .yandex: return #imageLiteral(resourceName: "ic_taxi_logo_yandex")
case .maxim: return #imageLiteral(resourceName: "ic_taxi_logo_maksim")
case .rutaxi: return #imageLiteral(resourceName: "ic_taxi_logo_rutaxi")
}
}
@ -32,6 +33,7 @@ final class RoutePreviewTaxiCell: UICollectionViewCell {
case .uber: return title
case .yandex: return L("yandex_taxi_title")
case .maxim: return L("maxim_taxi_title")
case .rutaxi: return L("rutaxi_title")
}
}
@ -40,7 +42,8 @@ final class RoutePreviewTaxiCell: UICollectionViewCell {
case .taxi: fallthrough
case .uber: return price
case .yandex: fallthrough
case .maxim:
case .maxim: fallthrough
case .rutaxi:
let formatter = NumberFormatter()
formatter.numberStyle = .currency
formatter.currencyCode = currency
@ -54,7 +57,15 @@ final class RoutePreviewTaxiCell: UICollectionViewCell {
}
let timeString = { () -> String in
let timeValue = DateComponentsFormatter.etaString(from: TimeInterval(eta)!)!
var timeValue = DateComponentsFormatter.etaString(from: TimeInterval(eta)!)!
switch type {
case .taxi: break
case .uber: break
case .yandex: break
case .maxim: break
case .rutaxi:
timeValue = String(coreFormat: L("place_page_starting_from"), arguments: [timeValue])
}
return String(coreFormat: L("taxi_wait"), arguments: [timeValue])
}

View file

@ -301,6 +301,7 @@ static NSString * const kStatRoutingTooltipClicked = @"Routing_PlanTooltip_click
static NSString * const kStatRoutingRouteStart = @"Routing_Route_start";
static NSString * const kStatRoutingRouteFinish = @"Routing_Route_finish";
static NSString * const kStatRoutingInterrupted = @"interrupted";
static NSString * const kStatRutaxi = @"Rutaxi";
static NSString * const kStatSave = @"Save";
static NSString * const kStatScenario = @"scenario";
static NSString * const kStatScreen = @"Screen";

View file

@ -130,6 +130,7 @@ void logPointEvent(MWMRoutePoint * point, NSString * eventType)
case MWMRoutePreviewTaxiCellTypeUber: provider = kStatUber; break;
case MWMRoutePreviewTaxiCellTypeYandex: provider = kStatYandex; break;
case MWMRoutePreviewTaxiCellTypeMaxim: provider = kStatMaxim; break;
case MWMRoutePreviewTaxiCellTypeRutaxi: provider = kStatRutaxi; break;
}
[Statistics logEvent:eventName

View file

@ -0,0 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "ic_taxi_logo_rutaxi.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "ic_taxi_logo_rutaxi@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "ic_taxi_logo_rutaxi@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Подключитесь к интернету, чтобы выбрать дату заезда и выезда.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -2468,6 +2468,8 @@
"offline_fiters_check_in" = "Connect to the internet to filter hotels by dates.";
"rutaxi_title" = "RuTaxi";
/********** Partners **********/

View file

@ -110,6 +110,7 @@
<string>tel</string>
<string>booking</string>
<string>maximzakaz</string>
<string>rto</string>
</array>
<key>LSRequiresIPhoneOS</key>
<true/>

View file

@ -107,8 +107,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;
// Dummy.
case taxi::Provider::Rutaxi: provider = kStatMaxim; break;
case taxi::Provider::Rutaxi: provider = kStatRutaxi; break;
case taxi::Provider::Count: LOG(LERROR, ("Incorrect taxi provider")); break;
}
[Statistics logEvent:kStatPlacepageTaxiShow withParameters:@{ @"provider" : provider }];

View file

@ -352,6 +352,7 @@ void logSponsoredEvent(MWMPlacePageData * data, NSString * eventName)
case MWMPlacePageTaxiProviderUber: providerString = kStatUber; break;
case MWMPlacePageTaxiProviderYandex: providerString = kStatYandex; break;
case MWMPlacePageTaxiProviderMaxim: providerString = kStatMaxim; break;
case MWMPlacePageTaxiProviderRutaxi: providerString = kStatRutaxi; break;
}
[Statistics logEvent:kStatPlacePageTaxiClick
withParameters:@{kStatProvider : providerString, kStatTags : data.statisticsTags}];

View file

@ -2,5 +2,6 @@ typedef NS_ENUM(NSInteger, MWMPlacePageTaxiProvider) {
MWMPlacePageTaxiProviderTaxi,
MWMPlacePageTaxiProviderUber,
MWMPlacePageTaxiProviderYandex,
MWMPlacePageTaxiProviderMaxim
MWMPlacePageTaxiProviderMaxim,
MWMPlacePageTaxiProviderRutaxi
};

View file

@ -40,6 +40,9 @@ final class PlacePageTaxiCell: MWMTableViewCell {
case .maxim:
icon.image = #imageLiteral(resourceName: "ic_taxi_logo_maksim")
title.text = L("maxim_taxi_title")
case .rutaxi:
icon.image = #imageLiteral(resourceName: "ic_taxi_logo_rutaxi")
title.text = L("rutaxi_title")
}
}

View file

@ -386,8 +386,7 @@ map<MetainfoRows, Class> const kMetaInfoCells = {
case taxi::Provider::Uber: type = MWMPlacePageTaxiProviderUber; break;
case taxi::Provider::Yandex: type = MWMPlacePageTaxiProviderYandex; break;
case taxi::Provider::Maxim: type = MWMPlacePageTaxiProviderMaxim; break;
// Dummy.
case taxi::Provider::Rutaxi: type = MWMPlacePageTaxiProviderMaxim; break;
case taxi::Provider::Rutaxi: type = MWMPlacePageTaxiProviderRutaxi; break;
case taxi::Provider::Count: LOG(LERROR, ("Incorrect taxi provider")); break;
}
[c configWithType:type delegate:delegate];
@ -630,8 +629,7 @@ map<MetainfoRows, Class> const kMetaInfoCells = {
case taxi::Provider::Uber: provider = kStatUber; break;
case taxi::Provider::Yandex: provider = kStatYandex; break;
case taxi::Provider::Maxim: provider = kStatMaxim; break;
// Dummy.
case taxi::Provider::Rutaxi: provider = kStatMaxim; break;
case taxi::Provider::Rutaxi: provider = kStatRutaxi; break;
case taxi::Provider::Count: LOG(LERROR, ("Incorrect taxi provider")); break;
}
[Statistics logEvent:kStatPlacepageTaxiShow