NewsBlur/clients/ios/Classes/NBActivityItemProvider.m

59 lines
2.1 KiB
Mathematica
Raw Normal View History

//
// NBActivityItemProvider.m
// NewsBlur
//
// Created by Samuel Clay on 12/15/14.
// Copyright (c) 2014 NewsBlur. All rights reserved.
//
#import "NBActivityItemProvider.h"
@implementation NBActivityItemProvider
- (instancetype)initWithUrl:(NSURL *)_url authorName:(NSString *)_authorName text:(NSString *)_text title:(NSString *)_title feedTitle:(NSString *)_feedTitle {
2015-09-30 13:28:14 -07:00
if (self = [super initWithPlaceholderItem:_title]) {
url = _url;
authorName = _authorName;
text = _text;
title = _title;
feedTitle = _feedTitle;
}
return self;
}
- (id)item {
2015-09-30 13:28:14 -07:00
if ([self.placeholderItem isKindOfClass:[NSString class]]) {
if ([self.activityType isEqualToString:UIActivityTypeMessage]) {
return [NSString stringWithFormat:@"%@\n%@", title, url];
} else if ([self.activityType isEqualToString:UIActivityTypePostToFacebook] ||
[self.activityType isEqualToString:UIActivityTypeMail]) {
return [NSString stringWithFormat:@"%@\n%@\n%@", title, url, text];
} else {
return [NSString stringWithFormat:@"%@\n%@", title, url];
}
}
return [NSString stringWithFormat:@"%@\n%@", title, url];
}
-(id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType {
if ([activityType isEqualToString:UIActivityTypeMail] ||
[activityType isEqualToString:@"com.evernote.iPhone.Evernote.EvernoteShare"]) {
return @{@"body": text ?: @"", @"subject": title};
} else if ([activityType isEqualToString:UIActivityTypePostToTwitter] ||
[activityType isEqualToString:UIActivityTypePostToFacebook] ||
[activityType isEqualToString:UIActivityTypePostToWeibo]) {
2015-09-30 13:28:14 -07:00
return [NSString stringWithFormat:@"%@\n%@", title, url];
}
2015-09-30 13:28:14 -07:00
return [NSString stringWithFormat:@"%@\n%@", title, url];
}
- (NSString *)activityViewController:(UIActivityViewController *)activityViewController subjectForActivityType:(NSString *)activityType {
return title;
}
@end