Browse Source

Fix Delete Asset on Photos album on chunk file

Signed-off-by: marinofaggiana <ios@nextcloud.com>
marinofaggiana 2 years ago
parent
commit
e5a22747b0

+ 14 - 2
iOSClient/Networking/NCNetworking.swift

@@ -413,10 +413,22 @@ import Queuer
     @objc func upload(metadata: tableMetadata, start: @escaping () -> Void, completion: @escaping (_ errorCode: Int, _ errorDescription: String) -> Void) {
     @objc func upload(metadata: tableMetadata, start: @escaping () -> Void, completion: @escaping (_ errorCode: Int, _ errorDescription: String) -> Void) {
         
         
         func uploadMetadata(_ metadata: tableMetadata) {
         func uploadMetadata(_ metadata: tableMetadata) {
-            
+
+            // DETECT IF CHUNCK
+            let chunckSize = CCUtility.getChunkSize() * 1000000
+            if metadata.size > chunckSize {
+                metadata.chunk = true
+                metadata.session = NCCommunicationCommon.shared.sessionIdentifierUpload
+            }
+
+            // DETECT IF E2EE
+            if CCUtility.isFolderEncrypted(metadata.serverUrl, e2eEncrypted: metadata.e2eEncrypted, account: metadata.account, urlBase: metadata.urlBase) {
+                metadata.e2eEncrypted = true
+            }
+
             NCManageDatabase.shared.addMetadata(metadata)
             NCManageDatabase.shared.addMetadata(metadata)
             let metadata = tableMetadata.init(value: metadata)
             let metadata = tableMetadata.init(value: metadata)
-            
+
             if metadata.e2eEncrypted {
             if metadata.e2eEncrypted {
 #if !EXTENSION_FILE_PROVIDER_EXTENSION
 #if !EXTENSION_FILE_PROVIDER_EXTENSION
                 NCNetworkingE2EE.shared.upload(metadata: metadata, start: start) { errorCode, errorDescription in
                 NCNetworkingE2EE.shared.upload(metadata: metadata, start: start) { errorCode, errorDescription in

+ 6 - 0
iOSClient/Networking/NCNetworkingChunkedUpload.swift

@@ -149,6 +149,7 @@ extension NCNetworking {
                         if errorCode == 0 {
                         if errorCode == 0 {
 
 
                             let serverUrl = metadata.serverUrl
                             let serverUrl = metadata.serverUrl
+                            let assetLocalIdentifier = metadata.assetLocalIdentifier
 
 
                             NCManageDatabase.shared.deleteMetadata(predicate: NSPredicate(format: "ocId == %@", metadata.ocId))
                             NCManageDatabase.shared.deleteMetadata(predicate: NSPredicate(format: "ocId == %@", metadata.ocId))
                             NCManageDatabase.shared.deleteChunks(account: metadata.account, ocId: metadata.ocId)
                             NCManageDatabase.shared.deleteChunks(account: metadata.account, ocId: metadata.ocId)
@@ -158,6 +159,11 @@ extension NCNetworking {
 
 
                                 if errorCode == 0, let metadata = metadata {
                                 if errorCode == 0, let metadata = metadata {
 
 
+                                    metadata.assetLocalIdentifier = assetLocalIdentifier
+                                    // Delete Asset on Photos album
+                                    if CCUtility.getRemovePhotoCameraRoll() && !metadata.assetLocalIdentifier.isEmpty {
+                                        metadata.deleteAssetLocalIdentifier = true
+                                    }
                                     NCManageDatabase.shared.addMetadata(metadata)
                                     NCManageDatabase.shared.addMetadata(metadata)
                                     NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterReloadDataSource, userInfo: ["serverUrl": serverUrl])
                                     NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterReloadDataSource, userInfo: ["serverUrl": serverUrl])
 
 

+ 1 - 14
iOSClient/Networking/NCNetworkingProcessUpload.swift

@@ -213,20 +213,7 @@ class NCNetworkingProcessUpload: NSObject {
                 }
                 }
             }
             }
 
 
-            // E2EE
-            if CCUtility.isFolderEncrypted(metadata.serverUrl, e2eEncrypted: metadata.e2eEncrypted, account: metadata.account, urlBase: metadata.urlBase) {
-                metadata.e2eEncrypted = true
-            }
-
-            // CHUNCK
-            let chunckSize = CCUtility.getChunkSize() * 1000000
-            if chunckSize == 0 || metadata.size <= chunckSize {
-                metadatasForUpload.append(metadata)
-            } else {
-                metadata.chunk = true
-                metadata.session = NCCommunicationCommon.shared.sessionIdentifierUpload
-                metadatasForUpload.append(tableMetadata.init(value: metadata))
-            }
+            metadatasForUpload.append(metadata)
         }
         }
 
 
         NCManageDatabase.shared.addMetadatas(metadatasForUpload)
         NCManageDatabase.shared.addMetadatas(metadatasForUpload)