Browse Source

improved image view

Signed-off-by: marinofaggiana <marino@marinofaggiana.com>
marinofaggiana 3 years ago
parent
commit
3208b6e0e5

+ 19 - 0
iOSClient/Viewer/NCViewerMedia/NCViewerMedia.swift

@@ -208,11 +208,15 @@ class NCViewerMedia: UIViewController {
                                 
                 // Download file max resolution
                 downloadFile(metadata: metadata)
+                // Download file live photo
+                if metadata.livePhoto { downloadFileLivePhoto(metadata: metadata) }
             }
         } else {
             
             // Download file max resolution
             downloadFile(metadata: metadata)
+            // Download file live photo
+            if metadata.livePhoto { downloadFileLivePhoto(metadata: metadata) }
         }
         
         // Download file max resolution
@@ -242,6 +246,21 @@ class NCViewerMedia: UIViewController {
             }
         }
         
+        // Download Live Photo
+        func downloadFileLivePhoto(metadata: tableMetadata) {
+            
+            let fileName = (metadata.fileNameView as NSString).deletingPathExtension + ".mov"
+
+            if let metadata = NCManageDatabase.shared.getMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND fileNameView LIKE[c] %@", metadata.account, metadata.serverUrl, fileName)), !CCUtility.fileProviderStorageExists(metadata.ocId, fileNameView: metadata.fileNameView) {
+
+                NCUtility.shared.startActivityIndicator(backgroundView: nil, blurEffect: false, bottom: 50, style: .gray)
+
+                NCNetworking.shared.download(metadata: metadata, selector: "") { (_) in
+                    NCUtility.shared.stopActivityIndicator()
+                }
+            }
+        }
+        
         func getImageMetadata(_ metadata: tableMetadata) -> UIImage? {
                     
             if let image = getImage(metadata: metadata) {

+ 5 - 39
iOSClient/Viewer/NCViewerMedia/NCViewerMediaPage.swift

@@ -566,46 +566,12 @@ extension NCViewerMediaPage: UIGestureRecognizerDelegate {
             currentViewController.statusLabel.isHidden = true
             
             let fileName = (currentViewController.metadata.fileNameView as NSString).deletingPathExtension + ".mov"
-            if let metadata = NCManageDatabase.shared.getMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND fileNameView LIKE[c] %@", currentViewController.metadata.account, currentViewController.metadata.serverUrl, fileName)) {
+            if let metadata = NCManageDatabase.shared.getMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND fileNameView LIKE[c] %@", currentViewController.metadata.account, currentViewController.metadata.serverUrl, fileName)), CCUtility.fileProviderStorageExists(metadata.ocId, fileNameView: metadata.fileNameView) {
                 
-                if CCUtility.fileProviderStorageExists(metadata.ocId, fileNameView: metadata.fileNameView) {
-                    
-                    AudioServicesPlaySystemSound(1519) // peek feedback
-                    
-                    if let url = NCKTVHTTPCache.shared.getVideoURL(metadata: metadata) {
-                        self.ncplayerLivePhoto = NCPlayer.init(url: url, autoPlay: true, imageVideoContainer: self.currentViewController.imageVideoContainer, playerToolBar: nil, metadata: metadata, detailView: nil)
-                    }
-                    
-                } 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.ncplayerLivePhoto = NCPlayer.init(url: url, autoPlay: true, imageVideoContainer: self.currentViewController.imageVideoContainer, playerToolBar: nil, metadata: metadata, detailView: nil)
-                                }
-                            }
-                        }
-                    }
+                AudioServicesPlaySystemSound(1519) // peek feedback
+                
+                if let url = NCKTVHTTPCache.shared.getVideoURL(metadata: metadata) {
+                    self.ncplayerLivePhoto = NCPlayer.init(url: url, autoPlay: true, imageVideoContainer: self.currentViewController.imageVideoContainer, playerToolBar: nil, metadata: metadata, detailView: nil)
                 }
             }