diff options
author | Ilya Grechuhin <i.grechuhin@mapswithme.com> | 2015-08-07 17:32:00 +0300 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 03:00:04 +0300 |
commit | 305990bd0c552aa3604bf9a7b73f33cab9febbde (patch) | |
tree | 99f2a83e123af21bf82a2148a5219d8e2a20d96d /iphone/Maps/Classes/Share | |
parent | 3a9c947779ddf45aefcec2c323d2c806fc433312 (diff) |
[ios] Added pedestrian route sharing dialog.
Diffstat (limited to 'iphone/Maps/Classes/Share')
5 files changed, 67 insertions, 3 deletions
diff --git a/iphone/Maps/Classes/Share/MWMActivityViewController.h b/iphone/Maps/Classes/Share/MWMActivityViewController.h index a77da526ed..76accc9d98 100644 --- a/iphone/Maps/Classes/Share/MWMActivityViewController.h +++ b/iphone/Maps/Classes/Share/MWMActivityViewController.h @@ -10,6 +10,7 @@ + (instancetype)shareControllerForLocationTitle:(NSString *)title location:(CLLocationCoordinate2D)location myPosition:(BOOL)myPosition; ++ (instancetype)shareControllerForPedestrianRoutesToast; - (void)presentInParentViewController:(UIViewController *)parentVC anchorView:(UIView *)anchorView; diff --git a/iphone/Maps/Classes/Share/MWMActivityViewController.m b/iphone/Maps/Classes/Share/MWMActivityViewController.m index 8765a533c7..d4c32ec9c6 100644 --- a/iphone/Maps/Classes/Share/MWMActivityViewController.m +++ b/iphone/Maps/Classes/Share/MWMActivityViewController.m @@ -8,6 +8,7 @@ #import "MWMActivityViewController.h" #import "MWMShareLocationActivityItem.h" +#import "MWMSharePedestrianRoutesToastActivityItem.h" @interface MWMActivityViewController () @@ -36,6 +37,15 @@ return [[self alloc] initWithActivityItem:item]; } ++ (instancetype)shareControllerForPedestrianRoutesToast +{ + MWMSharePedestrianRoutesToastActivityItem * item = [[MWMSharePedestrianRoutesToastActivityItem alloc] init]; + MWMActivityViewController * vc = [[self alloc] initWithActivityItem:item]; + if ([vc respondsToSelector:@selector(popoverPresentationController)]) + vc.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionDown; + return vc; +} + - (void)presentInParentViewController:(UIViewController *)parentVC anchorView:(UIView *)anchorView { self.ownerViewController = parentVC; @@ -53,7 +63,7 @@ { [self dismissViewControllerAnimated:YES completion:nil]; [coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) {} - completion:^(id<UIViewControllerTransitionCoordinatorContext> context) + completion:^(id<UIViewControllerTransitionCoordinatorContext> context) { [self presentInParentViewController:self.ownerViewController anchorView:self.anchorView]; }]; diff --git a/iphone/Maps/Classes/Share/MWMShareLocationActivityItem.h b/iphone/Maps/Classes/Share/MWMShareLocationActivityItem.h index 7daa8b5b5e..6237d5c38c 100644 --- a/iphone/Maps/Classes/Share/MWMShareLocationActivityItem.h +++ b/iphone/Maps/Classes/Share/MWMShareLocationActivityItem.h @@ -6,8 +6,6 @@ // Copyright (c) 2015 MapsWithMe. All rights reserved. // -#import <Foundation/Foundation.h> - @interface MWMShareLocationActivityItem : NSObject <UIActivityItemSource> - (instancetype)initWithTitle:(NSString *)title location:(CLLocationCoordinate2D)location myPosition:(BOOL)myPosition; diff --git a/iphone/Maps/Classes/Share/MWMSharePedestrianRoutesToastActivityItem.h b/iphone/Maps/Classes/Share/MWMSharePedestrianRoutesToastActivityItem.h new file mode 100644 index 0000000000..cdfb632ad0 --- /dev/null +++ b/iphone/Maps/Classes/Share/MWMSharePedestrianRoutesToastActivityItem.h @@ -0,0 +1,11 @@ +// +// MWMSharePedestrianRoutesToastActivityItem.h +// Maps +// +// Created by Ilya Grechuhin on 06.08.15. +// Copyright (c) 2015 MapsWithMe. All rights reserved. +// + +@interface MWMSharePedestrianRoutesToastActivityItem : NSObject <UIActivityItemSource> + +@end diff --git a/iphone/Maps/Classes/Share/MWMSharePedestrianRoutesToastActivityItem.m b/iphone/Maps/Classes/Share/MWMSharePedestrianRoutesToastActivityItem.m new file mode 100644 index 0000000000..500f05104d --- /dev/null +++ b/iphone/Maps/Classes/Share/MWMSharePedestrianRoutesToastActivityItem.m @@ -0,0 +1,44 @@ +// +// MWMSharePedestrianRoutesToastActivityItem.m +// Maps +// +// Created by Ilya Grechuhin on 06.08.15. +// Copyright (c) 2015 MapsWithMe. All rights reserved. +// + +#import "Macros.h" +#import "MWMSharePedestrianRoutesToastActivityItem.h" +#import "Statistics.h" + +#import "3party/Alohalytics/src/alohalytics_objc.h" + +@implementation MWMSharePedestrianRoutesToastActivityItem + +#pragma mark - UIActivityItemSource + +- (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController +{ + return NSString.string; +} + +- (id)activityViewController:(UIActivityViewController *)activityViewController + itemForActivityType:(NSString *)activityType +{ + NSString * event = @"MWMSharePedestrianRoutesToastActivityItem:activityViewController:itemForActivityType:"; + [Alohalytics logEvent:event withValue:activityType]; + if ([UIActivityTypePostToFacebook isEqualToString:activityType]) + return [NSURL URLWithString:@"http://maps.me/fb_share"]; + if ([UIActivityTypeMessage isEqualToString:activityType]) + return L(@"share_walking_routes_sms"); + if ([UIActivityTypeMail isEqualToString:activityType]) + return L(@"share_walking_routes_email_body"); + return L(@"share_walking_routes_messenger"); +} + +- (NSString *)activityViewController:(UIActivityViewController *)activityViewController + subjectForActivityType:(NSString *)activityType +{ + return L(@"share_walking_routes_email_subject"); +} + +@end |