diff --git a/clients/ios/Classes/NewsBlurAppDelegate.m b/clients/ios/Classes/NewsBlurAppDelegate.m
index 33609786f..b9f4f9512 100644
--- a/clients/ios/Classes/NewsBlurAppDelegate.m
+++ b/clients/ios/Classes/NewsBlurAppDelegate.m
@@ -483,125 +483,124 @@
title:(NSString *)title
feedTitle:(NSString *)feedTitle
images:(NSArray *)images {
- OSKShareableContent *content = [[OSKShareableContent alloc] init];
+ NSMutableArray *activityItems = [[NSMutableArray alloc] init];
+ if (title) [activityItems addObject:title];
+ if (url) [activityItems addObject:url];
+ if (text) [activityItems addObject:text];
+// if (images) [activityItems addObject:images];
+
+ UIActivityViewController *activityViewController = [[UIActivityViewController alloc]
+ initWithActivityItems:activityItems
+ applicationActivities:nil];
+ [activityViewController setTitle:title];
- text = text ? text : @"";
- content.title = [NSString stringWithFormat:@"%@", title];
-
- OSKMicroblogPostContentItem *microblogPost = [[OSKMicroblogPostContentItem alloc] init];
- microblogPost.text = [NSString stringWithFormat:@"%@ %@", title, [url absoluteString]];
- microblogPost.images = [activeStory objectForKey:@"story_images"];;
- content.microblogPostItem = microblogPost;
-
- OSKCopyToPasteboardContentItem *copyTextToPasteboard = [[OSKCopyToPasteboardContentItem alloc] init];
- copyTextToPasteboard.text = text;
- copyTextToPasteboard.alternateActivityName = @"Copy Text";
- content.pasteboardItem = copyTextToPasteboard;
-
- OSKCopyToPasteboardContentItem *copyURLToPasteboard = [[OSKCopyToPasteboardContentItem alloc] init];
- copyURLToPasteboard.text = [url absoluteString];
- copyURLToPasteboard.alternateActivityName = @"Copy URL";
- if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
- copyURLToPasteboard.alternateActivityIcon = [UIImage imageNamed:@"osk-copyIcon-purple-76.png"];
- } else {
- copyURLToPasteboard.alternateActivityIcon = [UIImage imageNamed:@"osk-copyIcon-purple-60.png"];
- }
-
- OSKCopyToPasteboardContentItem *copyTitleToPasteboard = [[OSKCopyToPasteboardContentItem alloc] init];
- copyTitleToPasteboard.text = title;
- copyTitleToPasteboard.alternateActivityName = @"Copy Title";
- if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
- copyURLToPasteboard.alternateActivityIcon = [UIImage imageNamed:@"osk-copyIcon-purple-76.png"];
- } else {
- copyURLToPasteboard.alternateActivityIcon = [UIImage imageNamed:@"osk-copyIcon-purple-60.png"];
- }
-
- content.additionalItems = @[copyURLToPasteboard, copyTitleToPasteboard];
-
- OSKEmailContentItem *emailItem = [[OSKEmailContentItem alloc] init];
- NSString *maybeFeedTitle = feedTitle ? [NSString stringWithFormat:@" via %@", feedTitle] : @"";
- emailItem.body = [NSString stringWithFormat:@"
%@%@
%@", [url absoluteString], title, maybeFeedTitle, text];
- emailItem.subject = title;
- emailItem.isHTML = YES;
- content.emailItem = emailItem;
-
- OSKSMSContentItem *smsItem = [[OSKSMSContentItem alloc] init];
- smsItem.body = [NSString stringWithFormat:@"%@\n%@", title, [url absoluteString]];;
- content.smsItem = smsItem;
-
- OSKReadLaterContentItem *readLater = [[OSKReadLaterContentItem alloc] init];
- readLater.url = url;
- content.readLaterItem = readLater;
-
- OSKToDoListEntryContentItem *toDoList = [[OSKToDoListEntryContentItem alloc] init];
- toDoList.title = [NSString stringWithFormat:@"Read \"%@\"", title];
- toDoList.notes = [NSString stringWithFormat:@"%@\n\n%@", text, [url absoluteString]];
- content.toDoListItem = toDoList;
-
- OSKLinkBookmarkContentItem *linkBookmarking = [[OSKLinkBookmarkContentItem alloc] init];
- linkBookmarking.url = readLater.url;
- linkBookmarking.title = title;
- NSString *appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"];
- NSMutableArray *tags = [NSMutableArray arrayWithObject:appName];
- [tags addObjectsFromArray:[activeStory objectForKey:@"story_tags"]];
- linkBookmarking.tags = tags;
- linkBookmarking.markToRead = YES;
- content.linkBookmarkItem = linkBookmarking;
-
- OSKWebBrowserContentItem *browserItem = [[OSKWebBrowserContentItem alloc] init];
- browserItem.url = readLater.url;
- content.webBrowserItem = browserItem;
-
- OSKPasswordManagementAppSearchContentItem *passwordSearchItem = [[OSKPasswordManagementAppSearchContentItem alloc] init];
- passwordSearchItem.query = [url host];
- content.passwordSearchItem = passwordSearchItem;
-
- if (images.count) {
- OSKAirDropContentItem *airDrop = [[OSKAirDropContentItem alloc] init];
- airDrop.items = images;
- content.airDropItem = airDrop;
- }
- else if ([url absoluteString].length) {
- OSKAirDropContentItem *airDrop = [[OSKAirDropContentItem alloc] init];
- airDrop.items = @[[url absoluteString]];
- content.airDropItem = airDrop;
- }
- else if (text.length) {
- OSKAirDropContentItem *airDrop = [[OSKAirDropContentItem alloc] init];
- airDrop.items = @[text];
- content.airDropItem = airDrop;
- }
-
-
- OSKActivityCompletionHandler completionHandler = ^(OSKActivity *activity, BOOL successful, NSError *error){
- if (!successful) return;
-
- NSString *activityType = [activity.class activityType];
+// text = text ? text : @"";
+// content.title = [NSString stringWithFormat:@"%@", title];
+//
+// OSKMicroblogPostContentItem *microblogPost = [[OSKMicroblogPostContentItem alloc] init];
+// microblogPost.text = [NSString stringWithFormat:@"%@ %@", title, [url absoluteString]];
+// microblogPost.images = [activeStory objectForKey:@"story_images"];;
+// content.microblogPostItem = microblogPost;
+//
+// OSKCopyToPasteboardContentItem *copyTextToPasteboard = [[OSKCopyToPasteboardContentItem alloc] init];
+// copyTextToPasteboard.text = text;
+// copyTextToPasteboard.alternateActivityName = @"Copy Text";
+// content.pasteboardItem = copyTextToPasteboard;
+//
+// OSKCopyToPasteboardContentItem *copyURLToPasteboard = [[OSKCopyToPasteboardContentItem alloc] init];
+// copyURLToPasteboard.text = [url absoluteString];
+// copyURLToPasteboard.alternateActivityName = @"Copy URL";
+// if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
+// copyURLToPasteboard.alternateActivityIcon = [UIImage imageNamed:@"osk-copyIcon-purple-76.png"];
+// } else {
+// copyURLToPasteboard.alternateActivityIcon = [UIImage imageNamed:@"osk-copyIcon-purple-60.png"];
+// }
+//
+// OSKCopyToPasteboardContentItem *copyTitleToPasteboard = [[OSKCopyToPasteboardContentItem alloc] init];
+// copyTitleToPasteboard.text = title;
+// copyTitleToPasteboard.alternateActivityName = @"Copy Title";
+// if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
+// copyURLToPasteboard.alternateActivityIcon = [UIImage imageNamed:@"osk-copyIcon-purple-76.png"];
+// } else {
+// copyURLToPasteboard.alternateActivityIcon = [UIImage imageNamed:@"osk-copyIcon-purple-60.png"];
+// }
+//
+// content.additionalItems = @[copyURLToPasteboard, copyTitleToPasteboard];
+//
+// OSKEmailContentItem *emailItem = [[OSKEmailContentItem alloc] init];
+// NSString *maybeFeedTitle = feedTitle ? [NSString stringWithFormat:@" via %@", feedTitle] : @"";
+// emailItem.body = [NSString stringWithFormat:@"
%@%@
%@", [url absoluteString], title, maybeFeedTitle, text];
+// emailItem.subject = title;
+// emailItem.isHTML = YES;
+// content.emailItem = emailItem;
+//
+// OSKSMSContentItem *smsItem = [[OSKSMSContentItem alloc] init];
+// smsItem.body = [NSString stringWithFormat:@"%@\n%@", title, [url absoluteString]];;
+// content.smsItem = smsItem;
+//
+// OSKReadLaterContentItem *readLater = [[OSKReadLaterContentItem alloc] init];
+// readLater.url = url;
+// content.readLaterItem = readLater;
+//
+// OSKToDoListEntryContentItem *toDoList = [[OSKToDoListEntryContentItem alloc] init];
+// toDoList.title = [NSString stringWithFormat:@"Read \"%@\"", title];
+// toDoList.notes = [NSString stringWithFormat:@"%@\n\n%@", text, [url absoluteString]];
+// content.toDoListItem = toDoList;
+//
+// OSKLinkBookmarkContentItem *linkBookmarking = [[OSKLinkBookmarkContentItem alloc] init];
+// linkBookmarking.url = readLater.url;
+// linkBookmarking.title = title;
+// NSString *appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"];
+// NSMutableArray *tags = [NSMutableArray arrayWithObject:appName];
+// [tags addObjectsFromArray:[activeStory objectForKey:@"story_tags"]];
+// linkBookmarking.tags = tags;
+// linkBookmarking.markToRead = YES;
+// content.linkBookmarkItem = linkBookmarking;
+//
+// OSKWebBrowserContentItem *browserItem = [[OSKWebBrowserContentItem alloc] init];
+// browserItem.url = readLater.url;
+// content.webBrowserItem = browserItem;
+//
+// OSKPasswordManagementAppSearchContentItem *passwordSearchItem = [[OSKPasswordManagementAppSearchContentItem alloc] init];
+// passwordSearchItem.query = [url host];
+// content.passwordSearchItem = passwordSearchItem;
+//
+// if (images.count) {
+// OSKAirDropContentItem *airDrop = [[OSKAirDropContentItem alloc] init];
+// airDrop.items = images;
+// content.airDropItem = airDrop;
+// }
+// else if ([url absoluteString].length) {
+// OSKAirDropContentItem *airDrop = [[OSKAirDropContentItem alloc] init];
+// airDrop.items = @[[url absoluteString]];
+// content.airDropItem = airDrop;
+// }
+// else if (text.length) {
+// OSKAirDropContentItem *airDrop = [[OSKAirDropContentItem alloc] init];
+// airDrop.items = @[text];
+// content.airDropItem = airDrop;
+// }
+//
+//
+ void (^completion)(NSString *, BOOL) = ^void(NSString *activityType, BOOL completed){
+// NSString *activityType = [activity.class activityType];
NSString *_completedString;
- if ([activityType isEqualToString:OSKActivityType_iOS_Twitter]) {
+ if (!activityType) return;
+
+ if ([activityType isEqualToString:UIActivityTypePostToTwitter]) {
_completedString = @"Posted";
- } else if ([activityType isEqualToString:OSKActivityType_iOS_Facebook]) {
+ } else if ([activityType isEqualToString:UIActivityTypePostToFacebook]) {
_completedString = @"Posted";
- } else if ([activityType isEqualToString:OSKActivityType_iOS_Email]) {
+ } else if ([activityType isEqualToString:UIActivityTypeMail]) {
_completedString = @"Sent";
- } else if ([activityType isEqualToString:OSKActivityType_iOS_SMS]) {
+ } else if ([activityType isEqualToString:UIActivityTypeMessage]) {
_completedString = @"Sent";
- } else if ([activityType isEqualToString:OSKActivityType_iOS_CopyToPasteboard]) {
+ } else if ([activityType isEqualToString:UIActivityTypeCopyToPasteboard]) {
_completedString = @"Copied";
- } else if ([activityType isEqualToString:OSKActivityType_API_Instapaper]) {
- _completedString = @"Saved to Instapaper";
- } else if ([activityType isEqualToString:OSKActivityType_API_Pocket]) {
- _completedString = @"Saved to Pocket";
- } else if ([activityType isEqualToString:OSKActivityType_API_Readability]) {
- _completedString = @"Saved to Readability";
- } else if ([activityType isEqualToString:OSKActivityType_API_Pinboard]) {
- _completedString = @"Saved to Pinboard";
- } else if ([activityType isEqualToString:OSKActivityType_iOS_AirDrop]) {
+ } else if ([activityType isEqualToString:UIActivityTypeAirDrop]) {
_completedString = @"Airdropped";
- } else if ([activityType isEqualToString:OSKActivityType_iOS_Safari]) {
- return;
- } else if ([activityType isEqualToString:OSKActivityType_URLScheme_Chrome]) {
+ } else if ([activityType isEqualToString:@"safari"]) {
return;
} else {
_completedString = @"Saved";
@@ -614,31 +613,41 @@
storyHUD.labelText = _completedString;
[storyHUD hide:YES afterDelay:1];
};
-
- [[OSKActivitiesManager sharedInstance] setCustomizationsDelegate:self];
-
- NSDictionary *options = @{OSKPresentationOption_ActivityCompletionHandler: completionHandler};
-
+ [activityViewController setCompletionHandler:completion];
+//
+// [[OSKActivitiesManager sharedInstance] setCustomizationsDelegate:self];
+//
+// NSDictionary *options = @{OSKPresentationOption_ActivityCompletionHandler: completionHandler};
+//
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
[self.masterContainerViewController showSendToPopover:vc];
+ [self.masterContainerViewController presentViewController:activityViewController animated: YES completion:nil];
+ activityViewController.modalPresentationStyle = UIModalPresentationPopover;
+ UIPopoverPresentationController *popPC = activityViewController.popoverPresentationController;
+ popPC.permittedArrowDirections = UIPopoverArrowDirectionAny;
+
if ([sender isKindOfClass:[UIBarButtonItem class]]) {
- [[OSKPresentationManager sharedInstance] presentActivitySheetForContent:content presentingViewController:self.masterContainerViewController popoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES options:options];
+ popPC.barButtonItem = sender;
} else if ([sender isKindOfClass:[NSValue class]]) {
- // Uncomment below to show share popover from linked text. Problem is
- // that on finger up the link will open.
-// CGPoint pt = [(NSValue *)sender CGPointValue];
-// CGRect rect = CGRectMake(pt.x, pt.y, 1, 1);
-// [[OSKPresentationManager sharedInstance] presentActivitySheetForContent:content presentingViewController:vc popoverFromRect:rect inView:self.storyPageControl.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES options:options];
+// // Uncomment below to show share popover from linked text. Problem is
+// // that on finger up the link will open.
+ CGPoint pt = [(NSValue *)sender CGPointValue];
+ CGRect rect = CGRectMake(pt.x, pt.y, 1, 1);
+//// [[OSKPresentationManager sharedInstance] presentActivitySheetForContent:content presentingViewController:vc popoverFromRect:rect inView:self.storyPageControl.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES options:options];
- [[OSKPresentationManager sharedInstance] presentActivitySheetForContent:content
- presentingViewController:vc options:options];
+// [[OSKPresentationManager sharedInstance] presentActivitySheetForContent:content
+// presentingViewController:vc options:options];
+ popPC.sourceRect = rect;
+ popPC.sourceView = self.storyPageControl.view;
} else {
- [[OSKPresentationManager sharedInstance] presentActivitySheetForContent:content presentingViewController:vc popoverFromRect:[sender frame] inView:[sender superview] permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES options:options];
+ popPC.sourceRect = [sender frame];
+ popPC.sourceView = [sender superview];
+
+// [[OSKPresentationManager sharedInstance] presentActivitySheetForContent:content presentingViewController:vc popoverFromRect:[sender frame] inView:[sender superview] permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES options:options];
}
} else {
- [[OSKPresentationManager sharedInstance] presentActivitySheetForContent:content
- presentingViewController:vc options:options];
+ [self.navigationController presentViewController:activityViewController animated:YES completion:nil];
}
}
@@ -2082,6 +2091,8 @@
} else {
titleLabel.text = [NSString stringWithFormat:@" Saved Stories - %@", storiesCollection.activeSavedStoryTag];
}
+ } else if ([storiesCollection.activeFolder isEqualToString:@"read_stories"]) {
+ titleLabel.text = [NSString stringWithFormat:@" Read Stories"];
} else if ([storiesCollection.activeFolder isEqualToString:@"saved_stories"]) {
titleLabel.text = [NSString stringWithFormat:@" Saved Stories"];
} else if (storiesCollection.isRiverView) {