浏览代码

fix override

Signed-off-by: marinofaggiana <ios@nextcloud.com>
marinofaggiana 2 年之前
父节点
当前提交
961e3bdb1f

+ 1 - 0
iOSClient/NCGlobal.swift

@@ -290,6 +290,7 @@ class NCGlobal: NSObject {
     let selectorUploadAutoUpload                    = "uploadAutoUpload"
     let selectorUploadAutoUploadAll                 = "uploadAutoUploadAll"
     let selectorUploadFile                          = "uploadFile"
+    let selectorUploadFileNODelete                  = "UploadFileNODelete"
     let selectorUploadFileShareExtension            = "uploadFileShareExtension"
     let selectorSaveAlbum                           = "saveAlbum"
     let selectorSaveAlbumLivePhotoIMG               = "saveAlbumLivePhotoIMG"

+ 8 - 2
iOSClient/Networking/NCNetworking.swift

@@ -502,13 +502,12 @@ import Photos
             }
             let ocIdTemp = metadata.ocId
             var errorDescription = errorDescription
+            let selector = metadata.sessionSelector
 
             if errorCode == 0, let ocId = ocId, size == metadata.size {
 
                 let metadata = tableMetadata.init(value: metadata)
 
-                NCUtilityFileSystem.shared.deleteFile(filePath: CCUtility.getDirectoryProviderStorageOcId(metadata.ocId))
-
                 metadata.uploadDate = date ?? NSDate()
                 metadata.etag = etag ?? ""
                 metadata.ocId = ocId
@@ -530,6 +529,13 @@ import Photos
                 NCManageDatabase.shared.addMetadata(metadata)
                 NCManageDatabase.shared.deleteMetadata(predicate: NSPredicate(format: "ocId == %@", ocIdTemp))
 
+                if selector == NCGlobal.shared.selectorUploadFileNODelete {
+                    NCUtilityFileSystem.shared.moveFile(atPath: CCUtility.getDirectoryProviderStorageOcId(ocIdTemp), toPath: CCUtility.getDirectoryProviderStorageOcId(ocId))
+                    NCManageDatabase.shared.addLocalFile(metadata: metadata)
+                } else {
+                    NCUtilityFileSystem.shared.deleteFile(filePath: CCUtility.getDirectoryProviderStorageOcId(ocIdTemp))
+                }
+
                 NCCommunicationCommon.shared.writeLog("Upload complete " + serverUrl + "/" + fileName + ", result: success(\(size) bytes)")
                 NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterUploadedFile, userInfo: ["ocId": metadata.ocId, "serverUrl": metadata.serverUrl, "account": metadata.account, "ocIdTemp": ocIdTemp, "errorCode": errorCode, "errorDescription": ""])
             } else {

+ 1 - 1
iOSClient/Networking/NCNetworkingProcessUpload.swift

@@ -60,7 +60,7 @@ class NCNetworkingProcessUpload: NSObject {
 
         let applicationState = UIApplication.shared.applicationState
         var counterUpload: Int = 0
-        let sessionSelectors = [NCGlobal.shared.selectorUploadFile, NCGlobal.shared.selectorUploadAutoUpload, NCGlobal.shared.selectorUploadAutoUploadAll]
+        let sessionSelectors = [NCGlobal.shared.selectorUploadFileNODelete, NCGlobal.shared.selectorUploadFile, NCGlobal.shared.selectorUploadAutoUpload, NCGlobal.shared.selectorUploadAutoUploadAll]
         let metadatasUpload = NCManageDatabase.shared.getMetadatas(predicate: NSPredicate(format: "status == %d OR status == %d", NCGlobal.shared.metadataStatusInUpload, NCGlobal.shared.metadataStatusUploading))
         counterUpload = metadatasUpload.count
 

+ 5 - 1
iOSClient/Viewer/NCViewerQuickLook/NCViewerQuickLook.swift

@@ -150,7 +150,11 @@ extension NCViewerQuickLook: QLPreviewControllerDataSource, QLPreviewControllerD
             contentType: "")
 
         metadataForUpload.session = NCNetworking.shared.sessionIdentifierBackground
-        metadataForUpload.sessionSelector = NCGlobal.shared.selectorUploadFile
+        if override {
+            metadataForUpload.sessionSelector = NCGlobal.shared.selectorUploadFileNODelete
+        } else {
+            metadataForUpload.sessionSelector = NCGlobal.shared.selectorUploadFile
+        }
         metadataForUpload.size = size
         metadataForUpload.status = NCGlobal.shared.metadataStatusWaitUpload
         (UIApplication.shared.delegate as? AppDelegate)?.networkingProcessUpload?.createProcessUploads(metadatas: [metadataForUpload])