Browse Source

autohide toolbar video audio

marinofaggiana 3 years ago
parent
commit
169144be9e

+ 10 - 11
iOSClient/Viewer/NCViewerMedia/NCPlayer/NCPlayerToolBar.swift

@@ -48,6 +48,8 @@ class NCPlayerToolBar: UIView {
     private let timeToAdd: CMTime = CMTimeMakeWithSeconds(15, preferredTimescale: 1)
     private var durationTime: CMTime = .zero
     private var timeObserver: Any?
+    private var timerAutoHide: Timer?
+
 
     // MARK: - View Life Cycle
 
@@ -133,14 +135,17 @@ class NCPlayerToolBar: UIView {
         })
     }
     
-    @discardableResult
-    @objc public func showToolBar(metadata: tableMetadata, detailView: NCViewerMediaDetailView?) -> Bool {
+    @objc public func showToolBar(metadata: tableMetadata, detailView: NCViewerMediaDetailView?) {
+        
+        timerAutoHide?.invalidate()
+        timerAutoHide = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(hideToolBar), userInfo: nil, repeats: false)
         
-        if !self.isHidden { return false}
-        if metadata.livePhoto { return false}
+        if !self.isHidden { return }
+        if metadata.livePhoto { return }
         if let detailView = detailView {
-            if detailView.isShow() { return false }
+            if detailView.isShow() { return }
         }
+        
         if metadata.classFile == NCCommunicationCommon.typeClassFile.video.rawValue || metadata.classFile == NCCommunicationCommon.typeClassFile.audio.rawValue {
             
             updateToolBar()
@@ -150,12 +155,6 @@ class NCPlayerToolBar: UIView {
             }, completion: { (value: Bool) in
                 self.isHidden = false
             })
-            
-            return true
-            
-        } else {
-            
-            return false
         }
     }
     

+ 3 - 12
iOSClient/Viewer/NCViewerMedia/NCViewerMedia.swift

@@ -471,13 +471,6 @@ extension NCViewerMedia: UIGestureRecognizerDelegate {
     }
     
     @objc func didSingleTapWith(gestureRecognizer: UITapGestureRecognizer) {
-
-        if let playerToolBar = currentViewController.playerToolBar {
-            
-            if playerToolBar.showToolBar(metadata: currentViewController.metadata, detailView: currentViewController.detailView) {
-                return
-            }
-        }
         
         if currentMode == .full {
             
@@ -495,16 +488,14 @@ extension NCViewerMedia: UIGestureRecognizerDelegate {
             textColor = .white
             progressView.isHidden = true
             
-            // Hide playerToolBar
-            if !currentViewController.playerToolBar.isHidden {
-                currentViewController.playerToolBar.hideToolBar()
-            }
-            
             currentMode = .full
         }
         
         // Detail Text Color
         currentViewController.detailView.textColor(textColor)
+        
+        // show playerToolBar
+        currentViewController.playerToolBar.showToolBar(metadata: currentViewController.metadata, detailView: currentViewController.detailView)
     }
     
     //