marinofaggiana 4 years ago
parent
commit
006c7a05a3

+ 1 - 4
iOSClient/Data/NCManageDatabase.swift

@@ -1978,7 +1978,7 @@ class NCManageDatabase: NSObject {
         return (metadatasUpdate, metadatasLocalUpdate)
     }
     
-    func setMetadataSession(ocId: String, session: String? = nil, sessionError: String? = nil, sessionSelector: String? = nil, sessionTaskIdentifier: Int? = nil, status: Int? = nil, etag: String? = nil, setFavorite: Bool = false) {
+    func setMetadataSession(ocId: String, session: String? = nil, sessionError: String? = nil, sessionSelector: String? = nil, sessionTaskIdentifier: Int? = nil, status: Int? = nil, etag: String? = nil) {
             
         let realm = try! Realm()
         realm.refresh()
@@ -2004,9 +2004,6 @@ class NCManageDatabase: NSObject {
                 if let etag = etag {
                     result?.etag = etag
                 }
-                if setFavorite {
-                    result?.favorite = true
-                }
             }
         } catch let error {
             NCCommunicationCommon.shared.writeLog("Could not write to database: \(error)")

+ 1 - 1
iOSClient/Favorites/NCFavorite.swift

@@ -93,7 +93,7 @@ class NCFavorite: NCCollectionViewCommon  {
                     for metadata in metadatas ?? [] {
                         if !metadata.directory {
                             if NCManageDatabase.shared.isDownloadMetadata(metadata, download: false) {
-                                NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorDownloadFile, setFavorite: false)
+                                NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorDownloadFile)
                             }
                         }
                     }

+ 1 - 1
iOSClient/FileViewInFolder/NCFileViewInFolder.swift

@@ -133,7 +133,7 @@ class NCFileViewInFolder: NCCollectionViewCommon  {
                 for metadata in metadatas ?? [] {
                     if !metadata.directory {
                         if NCManageDatabase.shared.isDownloadMetadata(metadata, download: false) {
-                            NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorDownloadFile, setFavorite: false)
+                            NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorDownloadFile)
                         }
                     }
                 }

+ 1 - 1
iOSClient/Files/NCFiles.swift

@@ -100,7 +100,7 @@ class NCFiles: NCCollectionViewCommon  {
                 for metadata in metadatas ?? [] {
                     if !metadata.directory {
                         if NCManageDatabase.shared.isDownloadMetadata(metadata, download: false) {
-                            NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorDownloadFile, setFavorite: false)
+                            NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorDownloadFile)
                         }
                     }
                 }

+ 43 - 5
iOSClient/Main/Colleaction Common/NCCollectionCommon.swift

@@ -208,16 +208,50 @@ class NCCollectionCommon: NSObject, NCSelectDelegate {
         appDelegate.window.rootViewController?.present(navigationController, animated: true, completion: nil)
     }
     
-    // MARK: - Live Photo
+    // MARK: - Save Photo - Video - Live Photo
+    
+    func saveAlbum(metadata: tableMetadata) {
+        
+        let fileNamePath = CCUtility.getDirectoryProviderStorageOcId(metadata.ocId, fileNameView: metadata.fileNameView)!
+        let status = PHPhotoLibrary.authorizationStatus()
+
+        if metadata.typeFile == NCBrandGlobal.shared.metadataTypeFileImage && status == PHAuthorizationStatus.authorized {
+            
+            if let image = UIImage.init(contentsOfFile: fileNamePath) {
+                UIImageWriteToSavedPhotosAlbum(image, self, #selector(SaveAlbum(_:didFinishSavingWithError:contextInfo:)), nil)
+            } else {
+                NCContentPresenter.shared.messageNotification("_save_selected_files_", description: "_file_not_saved_cameraroll_", delay: NCBrandGlobal.shared.dismissAfterSecond, type: NCContentPresenter.messageType.error, errorCode: NCBrandGlobal.shared.ErrorFileNotSaved)
+            }
+            
+        } else if metadata.typeFile == NCBrandGlobal.shared.metadataTypeFileVideo && status == PHAuthorizationStatus.authorized {
+            
+            if UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(fileNamePath) {
+                UISaveVideoAtPathToSavedPhotosAlbum(fileNamePath, self, #selector(SaveAlbum(_:didFinishSavingWithError:contextInfo:)), nil)
+            } else {
+                NCContentPresenter.shared.messageNotification("_save_selected_files_", description: "_file_not_saved_cameraroll_", delay: NCBrandGlobal.shared.dismissAfterSecond, type: NCContentPresenter.messageType.error, errorCode: NCBrandGlobal.shared.ErrorFileNotSaved)
+            }
+            
+        } else if status != PHAuthorizationStatus.authorized {
+            
+            NCContentPresenter.shared.messageNotification("_access_photo_not_enabled_", description: "_access_photo_not_enabled_msg_", delay: NCBrandGlobal.shared.dismissAfterSecond, type: NCContentPresenter.messageType.error, errorCode: NCBrandGlobal.shared.ErrorFileNotSaved)
+        }
+    }
+    
+    @objc private func SaveAlbum(_ image: UIImage, didFinishSavingWithError error: Error?, contextInfo: UnsafeRawPointer) {
+        
+        if error != nil {
+            NCContentPresenter.shared.messageNotification("_save_selected_files_", description: "_file_not_saved_cameraroll_", delay: NCBrandGlobal.shared.dismissAfterSecond, type: NCContentPresenter.messageType.error, errorCode: NCBrandGlobal.shared.ErrorFileNotSaved)
+        }
+    }
     
     func saveLivePhoto(metadata: tableMetadata, metadataMOV: tableMetadata) {
         
         if !CCUtility.fileProviderStorageExists(metadata.ocId, fileNameView: metadata.fileNameView) {
-            NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorSaveAlbumLivePhotoIMG, setFavorite: false)
+            NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorSaveAlbumLivePhotoIMG)
         }
         
         if !CCUtility.fileProviderStorageExists(metadataMOV.ocId, fileNameView: metadataMOV.fileNameView) {
-            NCOperationQueue.shared.download(metadata: metadataMOV, selector: NCBrandGlobal.shared.selectorSaveAlbumLivePhotoMOV, setFavorite: false)
+            NCOperationQueue.shared.download(metadata: metadataMOV, selector: NCBrandGlobal.shared.selectorSaveAlbumLivePhotoMOV)
         }
         
         if CCUtility.fileProviderStorageExists(metadata.ocId, fileNameView: metadata.fileNameView) && CCUtility.fileProviderStorageExists(metadataMOV.ocId, fileNameView: metadataMOV.fileNameView) {
@@ -282,7 +316,11 @@ class NCCollectionCommon: NSObject, NCSelectDelegate {
             if metadataMOV != nil {
                 NCCollectionCommon.shared.saveLivePhoto(metadata: metadata, metadataMOV: metadataMOV!)
             } else {
-                NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorSaveAlbum, setFavorite: false)
+                if CCUtility.fileProviderStorageExists(metadata.ocId, fileNameView: metadata.fileNameView) {
+                    self.saveAlbum(metadata: metadata)
+                } else {
+                    NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorSaveAlbum)
+                }
             }
         }
         
@@ -356,7 +394,7 @@ class NCCollectionCommon: NSObject, NCSelectDelegate {
                     print("error")
                 }
             } else {
-                NCNetworking.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorLoadCopy, setFavorite: false) { (_) in }
+                NCNetworking.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorLoadCopy) { (_) in }
             }
         }
         

+ 10 - 2
iOSClient/Main/Menu/NCCollectionViewCommon+Menu.swift

@@ -269,7 +269,11 @@ extension NCCollectionViewCommon {
                         if metadataMOV != nil {
                             NCCollectionCommon.shared.saveLivePhoto(metadata: metadata, metadataMOV: metadataMOV!)
                         } else {
-                            NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorSaveAlbum, setFavorite: false)
+                            if CCUtility.fileProviderStorageExists(metadata.ocId, fileNameView: metadata.fileNameView) {
+                                NCCollectionCommon.shared.saveAlbum(metadata: metadata)
+                            } else {
+                                NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorSaveAlbum)
+                            }
                         }
                     }
                 )
@@ -441,7 +445,11 @@ extension NCCollectionViewCommon {
                                 if let metadataMOV = NCManageDatabase.shared.getMetadataLivePhoto(metadata: metadata) {
                                     NCCollectionCommon.shared.saveLivePhoto(metadata: metadata, metadataMOV: metadataMOV)
                                 } else {
-                                    NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorSaveAlbum, setFavorite: false)
+                                    if CCUtility.fileProviderStorageExists(metadata.ocId, fileNameView: metadata.fileNameView) {
+                                        NCCollectionCommon.shared.saveAlbum(metadata: metadata)
+                                    } else {
+                                        NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorSaveAlbum)
+                                    }
                                 }
                             }
                         }

+ 1 - 1
iOSClient/Main/Menu/NCViewer+Menu.swift

@@ -249,7 +249,7 @@ extension NCViewer {
                         if metadataMOV != nil {
                             NCCollectionCommon.shared.saveLivePhoto(metadata: metadata, metadataMOV: metadataMOV!)
                         } else {
-                            NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorSaveAlbum, setFavorite: false)
+                            NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorSaveAlbum)
                         }
                     }
                 )

+ 2 - 2
iOSClient/Networking/NCNetworking.swift

@@ -239,7 +239,7 @@ import Queuer
         }
     }
     
-    @objc func download(metadata: tableMetadata, selector: String, setFavorite: Bool = false, completion: @escaping (_ errorCode: Int)->()) {
+    @objc func download(metadata: tableMetadata, selector: String, completion: @escaping (_ errorCode: Int)->()) {
         
         let serverUrlFileName = metadata.serverUrl + "/" + metadata.fileName
         let fileNameLocalPath = CCUtility.getDirectoryProviderStorageOcId(metadata.ocId, fileNameView: metadata.fileName)!
@@ -273,7 +273,7 @@ import Queuer
             
             } else if errorCode == 0 {
                
-                NCManageDatabase.shared.setMetadataSession(ocId: metadata.ocId, session: "", sessionError: "", sessionSelector: selector, sessionTaskIdentifier: 0, status: NCBrandGlobal.shared.metadataStatusNormal, etag: etag, setFavorite: setFavorite)
+                NCManageDatabase.shared.setMetadataSession(ocId: metadata.ocId, session: "", sessionError: "", sessionSelector: selector, sessionTaskIdentifier: 0, status: NCBrandGlobal.shared.metadataStatusNormal, etag: etag)
                 NCManageDatabase.shared.addLocalFile(metadata: metadata)
                 
                 #if !EXTENSION

+ 1 - 30
iOSClient/Networking/NCNetworkingNotificationCenter.swift

@@ -117,29 +117,7 @@ import Foundation
                        
                     case NCBrandGlobal.shared.selectorSaveAlbum:
                         
-                        let fileNamePath = CCUtility.getDirectoryProviderStorageOcId(metadata.ocId, fileNameView: metadata.fileNameView)!
-                        let status = PHPhotoLibrary.authorizationStatus()
-
-                        if metadata.typeFile == NCBrandGlobal.shared.metadataTypeFileImage && status == PHAuthorizationStatus.authorized {
-                            
-                            if let image = UIImage.init(contentsOfFile: fileNamePath) {
-                                UIImageWriteToSavedPhotosAlbum(image, self, #selector(SaveAlbum(_:didFinishSavingWithError:contextInfo:)), nil)
-                            } else {
-                                NCContentPresenter.shared.messageNotification("_save_selected_files_", description: "_file_not_saved_cameraroll_", delay: NCBrandGlobal.shared.dismissAfterSecond, type: NCContentPresenter.messageType.error, errorCode: NCBrandGlobal.shared.ErrorFileNotSaved)
-                            }
-                            
-                        } else if metadata.typeFile == NCBrandGlobal.shared.metadataTypeFileVideo && status == PHAuthorizationStatus.authorized {
-                            
-                            if UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(fileNamePath) {
-                                UISaveVideoAtPathToSavedPhotosAlbum(fileNamePath, self, #selector(SaveAlbum(_:didFinishSavingWithError:contextInfo:)), nil)
-                            } else {
-                                NCContentPresenter.shared.messageNotification("_save_selected_files_", description: "_file_not_saved_cameraroll_", delay: NCBrandGlobal.shared.dismissAfterSecond, type: NCContentPresenter.messageType.error, errorCode: NCBrandGlobal.shared.ErrorFileNotSaved)
-                            }
-                            
-                        } else if status != PHAuthorizationStatus.authorized {
-                            
-                            NCContentPresenter.shared.messageNotification("_access_photo_not_enabled_", description: "_access_photo_not_enabled_msg_", delay: NCBrandGlobal.shared.dismissAfterSecond, type: NCContentPresenter.messageType.error, errorCode: NCBrandGlobal.shared.ErrorFileNotSaved)
-                        }
+                        NCCollectionCommon.shared.saveAlbum(metadata: metadata)
                         
                     case NCBrandGlobal.shared.selectorSaveAlbumLivePhotoIMG, NCBrandGlobal.shared.selectorSaveAlbumLivePhotoMOV:
                         
@@ -209,13 +187,6 @@ import Foundation
         }
     }
     
-    @objc func SaveAlbum(_ image: UIImage, didFinishSavingWithError error: Error?, contextInfo: UnsafeRawPointer) {
-        
-        if error != nil {
-            NCContentPresenter.shared.messageNotification("_save_selected_files_", description: "_file_not_saved_cameraroll_", delay: NCBrandGlobal.shared.dismissAfterSecond, type: NCContentPresenter.messageType.error, errorCode: NCBrandGlobal.shared.ErrorFileNotSaved)
-        }
-    }
-    
     //MARK: - Upload
 
     @objc func uploadedFile(_ notification: NSNotification) {

+ 8 - 10
iOSClient/Networking/NCOperationQueue.swift

@@ -50,13 +50,13 @@ import NCCommunication
     
     // Download file
     
-    @objc func download(metadata: tableMetadata, selector: String, setFavorite: Bool) {
+    func download(metadata: tableMetadata, selector: String) {
         for operation in downloadQueue.operations as! [NCOperationDownload]  {
             if operation.metadata.ocId == metadata.ocId {
                 return
             }
         }
-        downloadQueue.addOperation(NCOperationDownload.init(metadata: metadata, selector: selector, setFavorite: setFavorite))
+        downloadQueue.addOperation(NCOperationDownload.init(metadata: metadata, selector: selector))
     }
     @objc func downloadCancelAll() {
         downloadQueue.cancelAll()
@@ -153,19 +153,17 @@ class NCOperationDownload: ConcurrentOperation {
    
     var metadata: tableMetadata
     var selector: String
-    var setFavorite: Bool
     
-    init(metadata: tableMetadata, selector: String, setFavorite: Bool) {
+    init(metadata: tableMetadata, selector: String) {
         self.metadata = tableMetadata.init(value: metadata)
         self.selector = selector
-        self.setFavorite = setFavorite
     }
     
     override func start() {
         if isCancelled {
             self.finish()
         } else {
-            NCNetworking.shared.download(metadata: metadata, selector: self.selector, setFavorite: self.setFavorite) { (_) in
+            NCNetworking.shared.download(metadata: metadata, selector: self.selector) { (_) in
                 self.finish()
             }
         }
@@ -285,7 +283,7 @@ class NCOperationSynchronization: ConcurrentOperation {
                                                 NCOperationQueue.shared.synchronizationMetadata(metadata, selector: self.selector)
                                             } else {
                                                 if NCManageDatabase.shared.isDownloadMetadata(metadata, download: true) {
-                                                    NCOperationQueue.shared.download(metadata: metadata, selector: self.selector, setFavorite: false)
+                                                    NCOperationQueue.shared.download(metadata: metadata, selector: self.selector)
                                                 }
                                             }
                                         }
@@ -301,7 +299,7 @@ class NCOperationSynchronization: ConcurrentOperation {
                                         }
                                         
                                         for metadata in metadatasChanged.metadatasLocalUpdate {
-                                            NCOperationQueue.shared.download(metadata: metadata, selector: self.selector, setFavorite: false)
+                                            NCOperationQueue.shared.download(metadata: metadata, selector: self.selector)
                                         }
                                     }
                                     
@@ -324,7 +322,7 @@ class NCOperationSynchronization: ConcurrentOperation {
                                 NCOperationQueue.shared.synchronizationMetadata(metadata, selector: self.selector)
                             } else {
                                 if NCManageDatabase.shared.isDownloadMetadata(metadata, download: self.download) {
-                                    NCOperationQueue.shared.download(metadata: metadata, selector: self.selector, setFavorite: false)
+                                    NCOperationQueue.shared.download(metadata: metadata, selector: self.selector)
                                 }
                             }
                         }
@@ -335,7 +333,7 @@ class NCOperationSynchronization: ConcurrentOperation {
                 
             } else {
                 if NCManageDatabase.shared.isDownloadMetadata(metadata, download: self.download) {
-                    NCOperationQueue.shared.download(metadata: metadata, selector: self.selector, setFavorite: false)
+                    NCOperationQueue.shared.download(metadata: metadata, selector: self.selector)
                 }
                 self.finish()
             }

+ 1 - 1
iOSClient/Offline/NCOffline.swift

@@ -101,7 +101,7 @@ class NCOffline: NCCollectionViewCommon  {
                     for metadata in metadatas ?? [] {
                         if !metadata.directory {
                             if NCManageDatabase.shared.isDownloadMetadata(metadata, download: true) {
-                                NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorDownloadFile, setFavorite: false)
+                                NCOperationQueue.shared.download(metadata: metadata, selector: NCBrandGlobal.shared.selectorDownloadFile)
                             }
                         }
                     }

+ 2 - 14
iOSClient/Viewer/NCViewerImage/NCViewerImage.swift

@@ -454,13 +454,6 @@ class NCViewerImage: UIViewController {
         } else {
             itemPlay = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.play, target: self, action: #selector(playerPlay))
         }
-        /*
-        if currentMetadata.favorite {
-            itemFavorite = UIBarButtonItem(image: UIImage(named: "videoFavoriteOn"), style: UIBarButtonItem.Style.plain, target: self, action: #selector(SetFavorite))
-        } else {
-            itemFavorite = UIBarButtonItem(image: UIImage(named: "videoFavoriteOff"), style: UIBarButtonItem.Style.plain, target: self, action: #selector(SetFavorite))
-        }
-        */
         if mute {
             itemMute = UIBarButtonItem(image: UIImage(named: "audioOff"), style: UIBarButtonItem.Style.plain, target: self, action: #selector(SetMute))
         } else {
@@ -484,11 +477,6 @@ class NCViewerImage: UIViewController {
         player?.isMuted = !mute
         setToolBar()
     }
-    /*
-    @objc func SetFavorite() {
-        NCNetworking.shared.favoriteMetadata(currentMetadata, urlBase: self.appDelegate.urlBase) { (errorCode, errorDescription) in }
-    }
-    */
 }
 
 
@@ -724,13 +712,13 @@ extension NCViewerImage: NCViewerImageZoomDelegate {
         
         // DOWNLOAD FILE
         if ((metadata.typeFile == NCBrandGlobal.shared.metadataTypeFileImage && CCUtility.getAutomaticDownloadImage()) || (metadata.contentType == "image/heic" &&  metadata.hasPreview == false) || ext == "GIF" || ext == "SVG" || isFolderEncrypted) && metadata.session == "" && !CCUtility.fileProviderStorageExists(metadata.ocId, fileNameView: metadata.fileNameView) {
-            NCOperationQueue.shared.download(metadata: metadata, selector: "", setFavorite: false)
+            NCOperationQueue.shared.download(metadata: metadata, selector: "")
         }
         
         // DOWNLOAD FILE LIVE PHOTO
         if let metadataLivePhoto = NCManageDatabase.shared.getMetadataLivePhoto(metadata: metadata) {
             if CCUtility.getAutomaticDownloadImage() && !CCUtility.fileProviderStorageExists(metadataLivePhoto.ocId, fileNameView: metadataLivePhoto.fileNameView) {
-                NCOperationQueue.shared.download(metadata: metadataLivePhoto, selector: "", setFavorite: false)
+                NCOperationQueue.shared.download(metadata: metadataLivePhoto, selector: "")
             }
         }
         

+ 3 - 3
iOSClient/Viewer/NCViewerProviderContextMenu.swift

@@ -105,19 +105,19 @@ class NCViewerProviderContextMenu: UIViewController  {
                 }
                 
                 if metadata.size <= maxDownload {
-                    NCOperationQueue.shared.download(metadata: metadata, selector: "", setFavorite: false)
+                    NCOperationQueue.shared.download(metadata: metadata, selector: "")
                 }
             }
             
             // AUTO DOWNLOAD IMAGE
             if !CCUtility.fileProviderStorageExists(metadata.ocId, fileNameView: metadata.fileNameView) && metadata.typeFile == NCBrandGlobal.shared.metadataTypeFileImage && CCUtility.getAutomaticDownloadImage() {
-                NCOperationQueue.shared.download(metadata: metadata, selector: "", setFavorite: false)
+                NCOperationQueue.shared.download(metadata: metadata, selector: "")
             }
             
             // AUTO DOWNLOAD LIVE PHOTO
             if let metadataLivePhoto = self.metadataLivePhoto {
                 if !CCUtility.fileProviderStorageExists(metadataLivePhoto.ocId, fileNameView: metadataLivePhoto.fileNameView) {
-                    NCOperationQueue.shared.download(metadata: metadataLivePhoto, selector: "", setFavorite: false)
+                    NCOperationQueue.shared.download(metadata: metadataLivePhoto, selector: "")
                 }
             }
         }