From 777da449a48e35ba92878dbf98c3b821afd365d8 Mon Sep 17 00:00:00 2001 From: Nicholas Riley Date: Sat, 5 Dec 2015 14:42:02 -0500 Subject: [PATCH] Remove mentions of UIPopoverController (fixes regressions in #820). Also remove -[NBContainerViewController showSendToController:] which no longer does anything of the sort, and attempt to speed up popover-popover transition a bit by not animating. --- .../ios/Classes/NBContainerViewController.h | 2 +- .../ios/Classes/NBContainerViewController.m | 27 ++++++++----------- clients/ios/Classes/NewsBlurAppDelegate.m | 3 ++- clients/ios/Classes/StoryPageControl.m | 3 --- 4 files changed, 14 insertions(+), 21 deletions(-) diff --git a/clients/ios/Classes/NBContainerViewController.h b/clients/ios/Classes/NBContainerViewController.h index b81007416..bbfcc4a1a 100644 --- a/clients/ios/Classes/NBContainerViewController.h +++ b/clients/ios/Classes/NBContainerViewController.h @@ -52,7 +52,7 @@ - (void)showFontSettingsPopover:(id)sender; - (void)showTrainingPopover:(id)sender; - (void)showUserTagsPopover:(id)sender; -- (void)showSendToPopover:(id)sender; - (void)showSitePopover:(id)sender; +- (BOOL)hidePopoverAnimated:(BOOL)animated; - (void)hidePopover; @end diff --git a/clients/ios/Classes/NBContainerViewController.m b/clients/ios/Classes/NBContainerViewController.m index 503ccca5a..62216843a 100644 --- a/clients/ios/Classes/NBContainerViewController.m +++ b/clients/ios/Classes/NBContainerViewController.m @@ -59,8 +59,6 @@ @property (readwrite) UIDeviceOrientation rotatingToOrientation; @property (nonatomic) UIBackgroundTaskIdentifier reorientBackgroundTask; -@property (nonatomic, strong) UIPopoverController *popoverController; - @end @implementation NBContainerViewController @@ -82,7 +80,6 @@ @synthesize storyNavigationController; @synthesize storyTitlesYCoordinate; @synthesize storyTitlesOnLeft; -@synthesize popoverController; @synthesize storyTitlesStub; @synthesize isSharingStory; @synthesize isHidingStory; @@ -299,13 +296,11 @@ } - (void)showPopoverWithViewController:(UIViewController *)viewController contentSize:(CGSize)contentSize barButtonItem:(UIBarButtonItem *)barButtonItem sourceView:(UIView *)sourceView sourceRect:(CGRect)sourceRect { - if (self.masterNavigationController.presentedViewController) { - [self.masterNavigationController.presentedViewController dismissViewControllerAnimated:YES completion:nil]; - } - + [self hidePopoverAnimated:YES]; + viewController.modalPresentationStyle = UIModalPresentationPopover; viewController.preferredContentSize = contentSize; - + UIPopoverPresentationController *popoverPresentationController = viewController.popoverPresentationController; popoverPresentationController.delegate = self; popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionAny; @@ -382,17 +377,17 @@ [self showPopoverWithViewController:self.appDelegate.userTagsViewController contentSize:CGSizeMake(220, 382) sourceView:self.storyPageControl.view sourceRect:frame]; } -- (void)showSendToPopover:(id)sender { - if (popoverController.isPopoverVisible) { - [popoverController dismissPopoverAnimated:NO]; - } +- (BOOL)hidePopoverAnimated:(BOOL)animated { + UIViewController *presentedViewController = self.masterNavigationController.presentedViewController; + if (!presentedViewController) + return NO; + + [presentedViewController dismissViewControllerAnimated:animated completion:nil]; + return YES; } - (void)hidePopover { - if (popoverController.isPopoverVisible) { - [popoverController dismissPopoverAnimated:YES]; - } - popoverController = nil; + [self hidePopoverAnimated:YES]; [appDelegate.modalNavigationController dismissViewControllerAnimated:YES completion:nil]; } diff --git a/clients/ios/Classes/NewsBlurAppDelegate.m b/clients/ios/Classes/NewsBlurAppDelegate.m index 83c888cfd..44be1ca11 100644 --- a/clients/ios/Classes/NewsBlurAppDelegate.m +++ b/clients/ios/Classes/NewsBlurAppDelegate.m @@ -607,7 +607,8 @@ }]; if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { - [self.masterContainerViewController presentViewController:activityViewController animated: YES completion:nil]; + BOOL fromPopover = [self.masterContainerViewController hidePopoverAnimated:NO]; + [self.masterContainerViewController presentViewController:activityViewController animated:!fromPopover completion:nil]; activityViewController.modalPresentationStyle = UIModalPresentationPopover; // iOS 8+ UIPopoverPresentationController *popPC = activityViewController.popoverPresentationController; diff --git a/clients/ios/Classes/StoryPageControl.m b/clients/ios/Classes/StoryPageControl.m index 76aece586..c24937764 100644 --- a/clients/ios/Classes/StoryPageControl.m +++ b/clients/ios/Classes/StoryPageControl.m @@ -925,9 +925,6 @@ - (IBAction)openSendToDialog:(id)sender { [self endTouchDown:sender]; - if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { - [appDelegate.masterContainerViewController showSendToPopover:sender]; - } [appDelegate showSendTo:self sender:sender]; }