Welcome to mirror list, hosted at ThFree Co, Russian Federation.

MWMActivityViewController.mm « Share « Classes « Maps « iphone - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: a9e92370197186c63b57342e8ea4a6e9cbdba9d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#import "MWMActivityViewController.h"
#import "MWMEditorViralActivityItem.h"
#import "MWMShareActivityItem.h"

@interface MWMActivityViewController ()

@property (weak, nonatomic) UIViewController * ownerViewController;
@property (weak, nonatomic) UIView * anchorView;

@end

@implementation MWMActivityViewController

- (instancetype)initWithActivityItem:(id<UIActivityItemSource>)activityItem
{
  return [self initWithActivityItems:@[activityItem]];
}

- (instancetype)initWithActivityItems:(NSArray *)activityItems
{
  self = [super initWithActivityItems:activityItems applicationActivities:nil];
  if (self)
    self.excludedActivityTypes = @[UIActivityTypePrint, UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll,
                                 UIActivityTypeAirDrop, UIActivityTypeAddToReadingList, UIActivityTypePostToFlickr,
                                 UIActivityTypePostToVimeo];
  return self;
}

+ (instancetype)shareControllerForMyPosition:(CLLocationCoordinate2D const &)location
{
  MWMShareActivityItem * item = [[MWMShareActivityItem alloc] initForMyPositionAtLocation:location];
  return [[self alloc] initWithActivityItem:item];
}

+ (instancetype)shareControllerForPlacePageObject:(MWMPlacePageEntity *)entity
{
  MWMShareActivityItem * item =
      [[MWMShareActivityItem alloc] initForPlacePageObjectWithEntity:entity];
  return [[self alloc] initWithActivityItem:item];
}

+ (instancetype)shareControllerForEditorViral
{
  MWMEditorViralActivityItem * item = [[MWMEditorViralActivityItem alloc] init];
  UIImage * image = [UIImage imageNamed:@"img_sharing_editor"];
  MWMActivityViewController * vc = [[self alloc] initWithActivityItems:@[item, image]];
  if ([vc respondsToSelector:@selector(popoverPresentationController)])
    vc.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionDown;
  return vc;
}

- (void)presentInParentViewController:(UIViewController *)parentVC anchorView:(UIView *)anchorView
{
  self.ownerViewController = parentVC;
  self.anchorView = anchorView;
  if ([self respondsToSelector:@selector(popoverPresentationController)])
  {
    self.popoverPresentationController.sourceView = anchorView;
    self.popoverPresentationController.sourceRect = anchorView.bounds;
  }
  [parentVC presentViewController:self animated:YES completion:nil];
}

@end