mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-08-05 16:58:59 +00:00

After 1bbb0fc7e0
the original URL is no longer
included as a separate activity item, so we need to include it in the mail body
directly.
Mailing from the story view directly not affected, there we include the URL in
the text (done by NewsBlurAppDelegate's showSendTo:withUrl:authorName:text:
title:feedTitle:images)
71 lines
2.9 KiB
Objective-C
71 lines
2.9 KiB
Objective-C
//
|
|
// 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 {
|
|
if (self = [super initWithPlaceholderItem:_url]) {
|
|
url = _url;
|
|
authorName = _authorName;
|
|
text = _text;
|
|
title = _title;
|
|
feedTitle = _feedTitle;
|
|
}
|
|
|
|
return self;
|
|
}
|
|
|
|
- (id)item {
|
|
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 if ([self.activityType isEqualToString:@"NBCopyLinkActivity"] ||
|
|
[self.activityType isEqualToString:@"TUSafariActivity"] ||
|
|
[self.activityType isEqualToString:@"ARChromeActivity"] ||
|
|
[self.activityType isEqualToString:@"com.apple.mobilenotes.SharingExtension"]) {
|
|
return url;
|
|
} else {
|
|
return [NSString stringWithFormat:@"%@\n%@", title, url];
|
|
}
|
|
} else if ([self.placeholderItem isKindOfClass:[NSURL class]]) {
|
|
return url;
|
|
}
|
|
|
|
return [NSString stringWithFormat:@"%@\n%@", title, url];
|
|
}
|
|
|
|
-(id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType {
|
|
if ([activityType isEqualToString:UIActivityTypeMail]) {
|
|
return text ?: (url ?: @"");
|
|
} else if ([activityType isEqualToString:@"com.evernote.iPhone.Evernote.EvernoteShare"]) {
|
|
return @{@"body": text ?: (url ?: @""), @"subject": title};
|
|
} else if ([activityType isEqualToString:UIActivityTypePostToTwitter] ||
|
|
[activityType isEqualToString:UIActivityTypePostToFacebook] ||
|
|
[activityType isEqualToString:UIActivityTypePostToWeibo]) {
|
|
return [NSString stringWithFormat:@"%@\n%@", title, url];
|
|
} else if ([activityType isEqualToString:@"NBCopyLinkActivity"] ||
|
|
[self.activityType isEqualToString:@"TUSafariActivity"] ||
|
|
[self.activityType isEqualToString:@"ARChromeActivity"] ||
|
|
[self.activityType isEqualToString:@"com.apple.mobilenotes.SharingExtension"]) {
|
|
return url;
|
|
}
|
|
|
|
return [NSString stringWithFormat:@"%@\n%@", title, url];
|
|
}
|
|
|
|
- (NSString *)activityViewController:(UIActivityViewController *)activityViewController subjectForActivityType:(NSString *)activityType {
|
|
return title;
|
|
}
|
|
|
|
@end
|