From 428802aee8d3612ce23e91923f5260312f56ec7f Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Mon, 19 Mar 2018 20:28:43 -0400 Subject: [PATCH] Only try to stop video when it *is* a video // FREEBIE --- Signal/src/ViewControllers/MediaDetailViewController.h | 2 +- Signal/src/ViewControllers/MediaDetailViewController.m | 9 ++++++++- Signal/src/ViewControllers/MediaPageViewController.swift | 7 ++----- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Signal/src/ViewControllers/MediaDetailViewController.h b/Signal/src/ViewControllers/MediaDetailViewController.h index 18df8e748..188be791e 100644 --- a/Signal/src/ViewControllers/MediaDetailViewController.h +++ b/Signal/src/ViewControllers/MediaDetailViewController.h @@ -35,7 +35,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)playVideo; // Stops playback and rewinds -- (void)stopVideo; +- (void)stopAnyVideo; - (void)setShouldHideToolbars:(BOOL)shouldHideToolbars; - (void)zoomOutAnimated:(BOOL)isAnimated; diff --git a/Signal/src/ViewControllers/MediaDetailViewController.m b/Signal/src/ViewControllers/MediaDetailViewController.m index 67578ce1e..f1f463d4d 100644 --- a/Signal/src/ViewControllers/MediaDetailViewController.m +++ b/Signal/src/ViewControllers/MediaDetailViewController.m @@ -81,7 +81,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)dealloc { - [self stopVideo]; + [self stopAnyVideo]; } - (instancetype)initWithGalleryItemBox:(GalleryItemBox *)galleryItemBox @@ -576,6 +576,13 @@ NS_ASSUME_NONNULL_BEGIN [self.delegate mediaDetailViewController:self isPlayingVideo:NO]; } +- (void)stopAnyVideo +{ + if (self.isVideo) { + [self stopVideo]; + } +} + - (void)stopVideo { OWSAssert(self.isVideo); diff --git a/Signal/src/ViewControllers/MediaPageViewController.swift b/Signal/src/ViewControllers/MediaPageViewController.swift index 2dcd324e3..3d9cc3f59 100644 --- a/Signal/src/ViewControllers/MediaPageViewController.swift +++ b/Signal/src/ViewControllers/MediaPageViewController.swift @@ -190,7 +190,7 @@ class MediaPageViewController: UIPageViewController, UIPageViewControllerDataSou public func didPressAllMediaButton(sender: Any) { Logger.debug("\(logTag) in \(#function)") - currentViewController.stopVideo() + currentViewController.stopAnyVideo() guard let mediaGalleryDataSource = self.mediaGalleryDataSource else { owsFail("\(logTag) in \(#function) mediaGalleryDataSource was unexpectedly nil") @@ -335,10 +335,7 @@ class MediaPageViewController: UIPageViewController, UIPageViewControllerDataSou // Do any cleanup for the no-longer visible view controller if transitionCompleted { previousPage.zoomOut(animated: false) - - if previousPage.galleryItem.isVideo { - previousPage.stopVideo() - } + previousPage.stopAnyVideo() updateFooterBarButtonItems(isPlayingVideo: false) } }