Marino Faggiana 7 жил өмнө
parent
commit
d0c8903c40

+ 11 - 13
PickerFileProvider/FileProvider.swift

@@ -92,7 +92,7 @@ class FileProvider: NSFileProviderExtension, CCNetworkingDelegate {
     override func itemChanged(at url: URL) {
         
         // Called at some point after the file has changed; the provider may then trigger an upload
-        
+                
         let fileSize = (try! FileManager.default.attributesOfItem(atPath: url.path)[FileAttributeKey.size] as! NSNumber).uint64Value
         NSLog("Item changed at URL %@ %lu", url as NSURL, fileSize)
 
@@ -104,6 +104,9 @@ class FileProvider: NSFileProviderExtension, CCNetworkingDelegate {
             self.stopProvidingItem(at: url)
             return
         }
+        // -------> Fix : Clear FileName for twice Office 365
+        CCUtility.setFileNameExt("")
+        // --------------------------------------------------
         if (fileName != url.lastPathComponent) {
             self.stopProvidingItem(at: url)
             return
@@ -117,7 +120,8 @@ class FileProvider: NSFileProviderExtension, CCNetworkingDelegate {
             return
         }
         
-        if let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "fileName == %@ AND directoryID == %@", fileName, directoryID)) {
+        let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "fileName == %@ AND directoryID == %@", fileName, directoryID))
+        if metadata != nil {
             
             // Update
             let uploadID = k_uploadSessionID + CCUtility.createRandomString(16)
@@ -139,18 +143,12 @@ class FileProvider: NSFileProviderExtension, CCNetworkingDelegate {
                 return
             }
 
-            if NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "fileName == %@ AND directoryID == %@ AND session == ''", fileName, directoryID)) != nil {
-                print("already exist in upload queue")
-                self.stopProvidingItem(at: url)
-                return
-            }
-
             // Prepare for send Metadata
-            metadata.fileID = uploadID
-            metadata.sessionID = uploadID
-            metadata.session = k_upload_session
-            metadata.sessionTaskIdentifier = Int(k_taskIdentifierWaitStart)
-            _ = NCManageDatabase.sharedInstance.updateMetadata(metadata)
+            metadata!.fileID = uploadID
+            metadata!.sessionID = uploadID
+            metadata!.session = k_upload_session
+            metadata!.sessionTaskIdentifier = Int(k_taskIdentifierWaitStart)
+            _ = NCManageDatabase.sharedInstance.updateMetadata(metadata!)
             
         } else {