marinofaggiana 3 年之前
父節點
當前提交
9a97fd63b5

+ 70 - 70
iOSClient/Viewer/NCViewerImage/NCViewerImage.swift

@@ -253,76 +253,6 @@ class NCViewerImage: UIViewController {
     @objc func changeTheming() {
     }
     
-    //
-    // Detect for LIVE PHOTO
-    //
-    @objc func didLongpressGestureEvent(gestureRecognizer: UITapGestureRecognizer) {
-        
-        if !currentMetadata.livePhoto { return }
-        
-        
-        if gestureRecognizer.state == .began {
-            
-            currentViewerImageZoom?.updateViewConstraints()
-            currentViewerImageZoom?.statusViewImage.isHidden = true
-            currentViewerImageZoom?.statusLabel.isHidden = true
-            
-            let fileName = (currentMetadata.fileNameView as NSString).deletingPathExtension + ".mov"
-            if let metadata = NCManageDatabase.shared.getMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND fileNameView LIKE[c] %@", currentMetadata.account, currentMetadata.serverUrl, fileName)) {
-                
-                if CCUtility.fileProviderStorageExists(metadata.ocId, fileNameView: metadata.fileNameView) {
-                    
-                    AudioServicesPlaySystemSound(1519) // peek feedback
-                    
-                    if let url = NCKTVHTTPCache.shared.getVideoURL(metadata: metadata) {
-                        self.player = NCPlayer.init(url: url)
-                        self.player?.setupVideoLayer(imageVideoContainer: self.currentViewerImageZoom?.imageVideoContainer, playerToolBar: nil, metadata: metadata)
-                        self.player?.videoPlay()
-                    }
-                    
-                } else {
-                    
-                    let serverUrlFileName = metadata.serverUrl + "/" + metadata.fileNameView
-                    let fileNameLocalPath = CCUtility.getDirectoryProviderStorageOcId(metadata.ocId, fileNameView: metadata.fileNameView)!
-                                    
-                    NCCommunication.shared.download(serverUrlFileName: serverUrlFileName, fileNameLocalPath: fileNameLocalPath, requestHandler: { (_) in
-                        
-                    }, taskHandler: { (_) in
-                        
-                    }, progressHandler: { (progress) in
-                                        
-                        self.progressView.progress = Float(progress.fractionCompleted)
-                        
-                    }) { (account, etag, date, length, allHeaderFields, error, errorCode, errorDescription) in
-                        
-                        self.progressView.progress = 0
-                        
-                        if errorCode == 0 && account == metadata.account {
-                            
-                            NCManageDatabase.shared.addLocalFile(metadata: metadata)
-                            
-                            if gestureRecognizer.state == .changed || gestureRecognizer.state == .began {
-                                AudioServicesPlaySystemSound(1519) // peek feedback
-                                
-                                if let url = NCKTVHTTPCache.shared.getVideoURL(metadata: metadata) {
-                                    self.player = NCPlayer.init(url: url)
-                                    self.player?.setupVideoLayer(imageVideoContainer: self.currentViewerImageZoom?.imageVideoContainer, playerToolBar: nil, metadata: metadata)
-                                    self.player?.videoPlay()
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-            
-        } else if gestureRecognizer.state == .ended {
-            
-            currentViewerImageZoom?.statusViewImage.isHidden = false
-            currentViewerImageZoom?.statusLabel.isHidden = false
-            self.player?.videoRemoved()
-        }
-    }
-    
     //MARK: - Image
     
     func getImageMetadata(_ metadata: tableMetadata) -> UIImage? {
@@ -542,6 +472,76 @@ extension NCViewerImage: UIGestureRecognizerDelegate {
         // Detail Text Color
         currentViewerImageZoom?.detailView.textColor(textColor)
     }
+    
+    //
+    // LIVE PHOTO
+    //
+    @objc func didLongpressGestureEvent(gestureRecognizer: UITapGestureRecognizer) {
+        
+        if !currentMetadata.livePhoto { return }
+        
+        
+        if gestureRecognizer.state == .began {
+            
+            currentViewerImageZoom?.updateViewConstraints()
+            currentViewerImageZoom?.statusViewImage.isHidden = true
+            currentViewerImageZoom?.statusLabel.isHidden = true
+            
+            let fileName = (currentMetadata.fileNameView as NSString).deletingPathExtension + ".mov"
+            if let metadata = NCManageDatabase.shared.getMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND fileNameView LIKE[c] %@", currentMetadata.account, currentMetadata.serverUrl, fileName)) {
+                
+                if CCUtility.fileProviderStorageExists(metadata.ocId, fileNameView: metadata.fileNameView) {
+                    
+                    AudioServicesPlaySystemSound(1519) // peek feedback
+                    
+                    if let url = NCKTVHTTPCache.shared.getVideoURL(metadata: metadata) {
+                        self.player = NCPlayer.init(url: url)
+                        self.player?.setupVideoLayer(imageVideoContainer: self.currentViewerImageZoom?.imageVideoContainer, playerToolBar: nil, metadata: metadata)
+                        self.player?.videoPlay()
+                    }
+                    
+                } else {
+                    
+                    let serverUrlFileName = metadata.serverUrl + "/" + metadata.fileNameView
+                    let fileNameLocalPath = CCUtility.getDirectoryProviderStorageOcId(metadata.ocId, fileNameView: metadata.fileNameView)!
+                                    
+                    NCCommunication.shared.download(serverUrlFileName: serverUrlFileName, fileNameLocalPath: fileNameLocalPath, requestHandler: { (_) in
+                        
+                    }, taskHandler: { (_) in
+                        
+                    }, progressHandler: { (progress) in
+                                        
+                        self.progressView.progress = Float(progress.fractionCompleted)
+                        
+                    }) { (account, etag, date, length, allHeaderFields, error, errorCode, errorDescription) in
+                        
+                        self.progressView.progress = 0
+                        
+                        if errorCode == 0 && account == metadata.account {
+                            
+                            NCManageDatabase.shared.addLocalFile(metadata: metadata)
+                            
+                            if gestureRecognizer.state == .changed || gestureRecognizer.state == .began {
+                                AudioServicesPlaySystemSound(1519) // peek feedback
+                                
+                                if let url = NCKTVHTTPCache.shared.getVideoURL(metadata: metadata) {
+                                    self.player = NCPlayer.init(url: url)
+                                    self.player?.setupVideoLayer(imageVideoContainer: self.currentViewerImageZoom?.imageVideoContainer, playerToolBar: nil, metadata: metadata)
+                                    self.player?.videoPlay()
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            
+        } else if gestureRecognizer.state == .ended {
+            
+            currentViewerImageZoom?.statusViewImage.isHidden = false
+            currentViewerImageZoom?.statusLabel.isHidden = false
+            self.player?.videoRemoved()
+        }
+    }
 }
 
 //MARK: - NCViewerImageZoomDelegate

+ 7 - 4
iOSClient/Viewer/NCViewerImage/NCViewerImageZoom.swift

@@ -113,8 +113,8 @@ class NCViewerImageZoom: UIViewController {
         
         if metadata.classFile == NCCommunicationCommon.typeClassFile.video.rawValue || metadata.classFile == NCCommunicationCommon.typeClassFile.audio.rawValue,  let url = NCKTVHTTPCache.shared.getVideoURL(metadata: metadata) {
             
-//            self.viewerVideo = NCViewerVideo.init(url: url, viewerVideoToolBar: self.videoToolBar, metadata: self.metadata)
-//            self.viewerImage?.viewerVideo = self.viewerVideo
+            self.player = NCPlayer.init(url: url)
+            self.viewerImage?.player = self.player
         }
     }
     
@@ -123,8 +123,11 @@ class NCViewerImageZoom: UIViewController {
         
         delegate?.didAppearImageZoom(viewerImageZoom: self, metadata: metadata)
         
-        DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
-//            self.viewerVideo?.setupVideoLayer(imageVideoContainer: self.imageVideoContainer)
+        if (metadata.classFile == NCCommunicationCommon.typeClassFile.video.rawValue || metadata.classFile == NCCommunicationCommon.typeClassFile.audio.rawValue) && imageVideoContainer.playerLayer == nil {
+            DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
+                self.player?.setupVideoLayer(imageVideoContainer: self.imageVideoContainer, playerToolBar: self.playerToolBar, metadata: self.metadata)
+                //self.player?.videoPlay()
+            }
         }
     }