marinofaggiana 4 years ago
parent
commit
da75a8c715

+ 4 - 4
iOSClient/Database/NCManageDatabase.swift

@@ -2000,7 +2000,7 @@ class NCManageDatabase: NSObject {
     @objc func updateMetadatasWithPredicate(_ predicate: NSPredicate, metadatas: [tableMetadata]) -> [tableMetadata] {
         
         let realm = try! Realm()
-        var metadatasChangeEtag : [tableMetadata] = []
+        var metadatasUdate : [tableMetadata] = []
         
         do {
             try realm.write {
@@ -2016,13 +2016,13 @@ class NCManageDatabase: NSObject {
                     if let result = results.first(where: { $0.ocId == metadata.ocId }) {
                         // update
                         if result.status == k_metadataStatusNormal && result.etag != metadata.etag {
-                            metadatasChangeEtag.append(metadata)
+                            metadatasUdate.append(metadata)
                             realm.add(metadata, update: .all)
                         }
                     } else {
                         // new
+                        metadatasUdate.append(metadata)
                         realm.add(metadata, update: .all)
-                        metadatasChangeEtag.append(metadata)
                     }
                 }
             }
@@ -2030,7 +2030,7 @@ class NCManageDatabase: NSObject {
             print("[LOG] Could not write to database: ", error)
         }
         
-        return metadatasChangeEtag
+        return metadatasUdate
     }
     
     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) {

+ 6 - 2
iOSClient/Networking/NCOperationQueue.swift

@@ -192,8 +192,12 @@ class NCOperationSynchronization: ConcurrentOperation {
                     if errorCode == 0 {
                         NCManageDatabase.sharedInstance.convertNCCommunicationFilesToMetadatas(files, useMetadataFolder: true, account: account) { (metadataFolder, metadatasFolder, metadatas) in
                             if metadatas.count > 0 {
-                                let updatedMetadata = NCManageDatabase.sharedInstance.updateMetadatasWithPredicate(predicate, metadatas: metadatas)
-                                print("")
+                                let updatedMetadatas = NCManageDatabase.sharedInstance.updateMetadatasWithPredicate(predicate, metadatas: metadatas)
+                                if self.selector == selectorReadFolderWithDownload {
+                                    for metadata in updatedMetadatas {
+                                        NCNetworking.shared.download(metadata: metadata, selector: selectorDownloadSynchronize) { (_) in }                                        
+                                    }
+                                }
                             }
                         }
                     } else if errorCode == 404 {