Marino Faggiana 7 éve
szülő
commit
73403d3619
1 módosított fájl, 30 hozzáadás és 8 törlés
  1. 30 8
      PickerFileProvider/FileProvider.swift

+ 30 - 8
PickerFileProvider/FileProvider.swift

@@ -324,16 +324,12 @@ class FileProvider: NSFileProviderExtension {
                     // item
                     _ = FileProviderItem(metadata: metadataDB, serverUrl: serverUrl)
                     
+                    // 
                     self.uploading = self.uploading.filter() { $0 != identifier.rawValue }
                     
-                    if let directory = NCManageDatabase.sharedInstance.getTableDirectory(predicate: NSPredicate(format: "account = %@ AND serverUrl = %@", account, serverUrl)) {
-                    
-                        let itemDirectory = NSFileProviderItemIdentifier(directory.fileID)
-                        NSFileProviderManager.default.signalEnumerator(for: itemDirectory, completionHandler: { (error) in
-                            print("send signal")
-                        })
-                    }
-                    
+                    // Refresh UI
+                    self.refreshCurrentEnumerator(serverUrl: serverUrl)
+                
                 }, failure: { (message, errorCode) in
                     
                     self.uploading = self.uploading.filter() { $0 != identifier.rawValue }
@@ -713,4 +709,30 @@ class FileProvider: NSFileProviderExtension {
             completionHandler(nil, NSFileProviderError(.serverUnreachable))
         })
     }
+    
+    //
+    //
+    //
+    //
+    
+    func refreshCurrentEnumerator(serverUrl: String) {
+        
+        /* ONLY iOS 11*/
+        guard #available(iOS 11, *) else {
+            return
+        }
+        
+        if serverUrl == homeServerUrl {
+            NSFileProviderManager.default.signalEnumerator(for: .rootContainer, completionHandler: { (error) in
+                print("send signal rootContainer")
+            })
+        } else {
+            if let directory = NCManageDatabase.sharedInstance.getTableDirectory(predicate: NSPredicate(format: "account = %@ AND serverUrl = %@", account, serverUrl)) {
+                let itemDirectory = NSFileProviderItemIdentifier(directory.fileID)
+                NSFileProviderManager.default.signalEnumerator(for: itemDirectory, completionHandler: { (error) in
+                    print("send signal")
+                })
+            }
+        }
+    }
 }