diff --git a/iphone/Maps/Classes/CustomViews/MapViewControls/BottomMenu/MWMBottomMenuViewController.mm b/iphone/Maps/Classes/CustomViews/MapViewControls/BottomMenu/MWMBottomMenuViewController.mm
index d29c8ce891..e2709ef5ac 100644
--- a/iphone/Maps/Classes/CustomViews/MapViewControls/BottomMenu/MWMBottomMenuViewController.mm
+++ b/iphone/Maps/Classes/CustomViews/MapViewControls/BottomMenu/MWMBottomMenuViewController.mm
@@ -92,6 +92,7 @@ typedef NS_ENUM(NSUInteger, MWMBottomMenuViewCell) {
@property(weak, nonatomic) IBOutlet UIView * progressView;
@property(weak, nonatomic) IBOutlet NSLayoutConstraint * routingProgress;
@property(weak, nonatomic) IBOutlet MWMButton * ttsSoundButton;
+@property(weak, nonatomic) IBOutlet MWMButton * trafficButton;
@property(weak, nonatomic) IBOutlet NSLayoutConstraint * mainButtonsHeight;
@@ -224,11 +225,19 @@ typedef NS_ENUM(NSUInteger, MWMBottomMenuViewCell) {
- (IBAction)soundTouchUpInside:(MWMButton *)sender
{
BOOL const isEnable = sender.selected;
- [Statistics logEvent:kStatEventName(kStatNavigationDashboard, isEnable ? kStatOn : kStatOff)];
+ [Statistics logEvent:kStatMenu withParameters:@{kStatTTS : isEnable ? kStatOn : kStatOff}];
sender.coloring = isEnable ? MWMButtonColoringBlue : MWMButtonColoringGray;
[MWMTextToSpeech tts].active = isEnable;
[self refreshRoutingDiminishTimer];
}
+- (IBAction)trafficTouchUpInside:(MWMButton *)sender
+{
+ BOOL const isEnable = sender.selected;
+ [Statistics logEvent:kStatMenu withParameters:@{kStatTraffic : isEnable ? kStatOn : kStatOff}];
+ sender.coloring = isEnable ? MWMButtonColoringBlue : MWMButtonColoringGray;
+ sender.selected = !isEnable; // TODO: Replace with real logic
+ [self refreshRoutingDiminishTimer];
+}
#pragma mark - Refresh Collection View layout
@@ -590,5 +599,14 @@ typedef NS_ENUM(NSUInteger, MWMBottomMenuViewCell) {
[self ttsButtonStatusChanged:nil];
}
+- (void)setTrafficButton:(MWMButton *)trafficButton
+{
+ _trafficButton = trafficButton;
+ [trafficButton setImage:[UIImage imageNamed:@"ic_setting_traffic_on"] forState:UIControlStateNormal];
+ [trafficButton setImage:[UIImage imageNamed:@"ic_setting_traffic_off"] forState:UIControlStateSelected];
+ [trafficButton setImage:[UIImage imageNamed:@"ic_setting_traffic_off"]
+ forState:UIControlStateSelected | UIControlStateHighlighted];
+}
+
- (CGFloat)mainStateHeight { return self.mainButtonsHeight.constant; }
@end
diff --git a/iphone/Maps/Classes/CustomViews/MapViewControls/BottomMenu/MWMBottomMenuViewController.xib b/iphone/Maps/Classes/CustomViews/MapViewControls/BottomMenu/MWMBottomMenuViewController.xib
index 9475e04400..a2d160d528 100644
--- a/iphone/Maps/Classes/CustomViews/MapViewControls/BottomMenu/MWMBottomMenuViewController.xib
+++ b/iphone/Maps/Classes/CustomViews/MapViewControls/BottomMenu/MWMBottomMenuViewController.xib
@@ -27,6 +27,7 @@
+
@@ -451,25 +452,11 @@
-
-
-
-
-
+
+
+
+
-
+
+
+
+
+
+
@@ -581,8 +602,6 @@
-
-
@@ -590,6 +609,7 @@
+
@@ -599,6 +619,8 @@
+
+
diff --git a/iphone/Maps/Classes/CustomViews/NavigationDashboard/MWMNavigationDashboardEntity.mm b/iphone/Maps/Classes/CustomViews/NavigationDashboard/MWMNavigationDashboardEntity.mm
index 02d6659564..046e997af6 100644
--- a/iphone/Maps/Classes/CustomViews/NavigationDashboard/MWMNavigationDashboardEntity.mm
+++ b/iphone/Maps/Classes/CustomViews/NavigationDashboard/MWMNavigationDashboardEntity.mm
@@ -63,7 +63,7 @@ using namespace routing::turns;
[NSString stringWithFormat:@"%@ • %@ %@", eta, _targetDistance, _targetUnits];
NSMutableAttributedString * result =
[[NSMutableAttributedString alloc] initWithString:resultString];
- [result addAttributes:etaAttributes range:NSMakeRange(0, eta.length)];
+ [result addAttributes:etaAttributes range:NSMakeRange(0, resultString.length)];
_estimate = [result copy];
TurnDirection const turn = info.m_turn;
diff --git a/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_off.imageset/Contents.json b/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_off.imageset/Contents.json
new file mode 100644
index 0000000000..1bee2a6405
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_off.imageset/Contents.json
@@ -0,0 +1,26 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_setting_traffic_off.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_setting_traffic_off@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_setting_traffic_off@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ },
+ "properties" : {
+ "template-rendering-intent" : "template"
+ }
+}
\ No newline at end of file
diff --git a/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_off.imageset/ic_setting_traffic_off.png b/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_off.imageset/ic_setting_traffic_off.png
new file mode 100644
index 0000000000..f37f56fcbc
Binary files /dev/null and b/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_off.imageset/ic_setting_traffic_off.png differ
diff --git a/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_off.imageset/ic_setting_traffic_off@2x.png b/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_off.imageset/ic_setting_traffic_off@2x.png
new file mode 100644
index 0000000000..8fd0f302a3
Binary files /dev/null and b/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_off.imageset/ic_setting_traffic_off@2x.png differ
diff --git a/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_off.imageset/ic_setting_traffic_off@3x.png b/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_off.imageset/ic_setting_traffic_off@3x.png
new file mode 100644
index 0000000000..53c7fd35fe
Binary files /dev/null and b/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_off.imageset/ic_setting_traffic_off@3x.png differ
diff --git a/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_on.imageset/Contents.json b/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_on.imageset/Contents.json
new file mode 100644
index 0000000000..17985d321c
--- /dev/null
+++ b/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_on.imageset/Contents.json
@@ -0,0 +1,26 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ic_setting_traffic_on.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_setting_traffic_on@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ic_setting_traffic_on@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ },
+ "properties" : {
+ "template-rendering-intent" : "template"
+ }
+}
\ No newline at end of file
diff --git a/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_on.imageset/ic_setting_traffic_on.png b/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_on.imageset/ic_setting_traffic_on.png
new file mode 100644
index 0000000000..e45cd6ff02
Binary files /dev/null and b/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_on.imageset/ic_setting_traffic_on.png differ
diff --git a/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_on.imageset/ic_setting_traffic_on@2x.png b/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_on.imageset/ic_setting_traffic_on@2x.png
new file mode 100644
index 0000000000..7c4504b854
Binary files /dev/null and b/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_on.imageset/ic_setting_traffic_on@2x.png differ
diff --git a/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_on.imageset/ic_setting_traffic_on@3x.png b/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_on.imageset/ic_setting_traffic_on@3x.png
new file mode 100644
index 0000000000..69bcfefa7c
Binary files /dev/null and b/iphone/Maps/Images.xcassets/Bottom Menu/ic_setting_traffic_on.imageset/ic_setting_traffic_on@3x.png differ
diff --git a/iphone/Maps/Statistics/StatisticsStrings.h b/iphone/Maps/Statistics/StatisticsStrings.h
index 22a35a4153..3492918d69 100644
--- a/iphone/Maps/Statistics/StatisticsStrings.h
+++ b/iphone/Maps/Statistics/StatisticsStrings.h
@@ -203,6 +203,7 @@ static NSString * const kStatToggleSection = @"Toggle section";
static NSString * const kStatToggleStatistics = @"Toggle statistics";
static NSString * const kStatToggleVisibility = @"Toggle visibility";
static NSString * const kStatToggleZoomButtonsVisibility = @"Toggle zoom buttons visibility";
+static NSString * const kStatTraffic = @"Traffic";
static NSString * const kStatType = @"type";
static NSString * const kStatUber = @"Uber";
static NSString * const kStatUnknownError = @"unknown_error";