Browse Source

MediaCategoryViewController: Hide MiniPlayer on Edit

For now, this hide the mini player when entering edit mode.
This uses a behaviour already in place inside
VLCPlayerDisplayController.

Closes #626
Soomin Lee 5 years ago
parent
commit
6fce5f431e

+ 6 - 0
Sources/MediaCategories/MediaCategoryViewController.swift

@@ -161,6 +161,9 @@ class MediaCategoryViewController: UICollectionViewController, UICollectionViewD
             // Either didn't start or stopped before
             manager.start()
         }
+
+        PlaybackService.sharedInstance().setPlayerHidden(isEditing)
+
         manager.presentingViewController = self
         cachedCellSize = .zero
         collectionView.collectionViewLayout.invalidateLayout()
@@ -252,6 +255,9 @@ class MediaCategoryViewController: UICollectionViewController, UICollectionViewD
 
         editController.resetSelections()
         displayEditToolbar()
+
+        PlaybackService.sharedInstance().setPlayerHidden(editing)
+
         let layoutToBe = editing ? editCollectionViewLayout : UICollectionViewFlowLayout()
         collectionView?.setCollectionViewLayout(layoutToBe, animated: false, completion: {
             [unowned self] finished in

+ 1 - 0
Sources/VLCPlaybackService.h

@@ -151,6 +151,7 @@ NS_SWIFT_NAME(PlaybackService)
 
 - (BOOL)isPlayingOnExternalScreen;
 
+- (void)setPlayerHidden:(BOOL)hidden;
 - (void)setPlayerDisplayController:(VLCPlayerDisplayController *)playerDisplayController;
 
 - (void)setNeedsMetadataUpdate;

+ 6 - 0
Sources/VLCPlaybackService.m

@@ -1284,4 +1284,10 @@ NSString *const VLCPlaybackServicePlaybackPositionUpdated = @"VLCPlaybackService
     _playerDisplayController = playerDisplayController;
 }
 
+- (void)setPlayerHidden:(BOOL)hidden
+{
+    [_playerDisplayController setEditing:hidden];
+    [_playerDisplayController dismissPlaybackView];
+}
+
 @end