Marino Faggiana 7 years ago
parent
commit
94ab7d2c1c
2 changed files with 16 additions and 15 deletions
  1. 8 13
      PickerFileProvider/FileProvider.swift
  2. 8 2
      PickerFileProvider/FileProviderItem.swift

+ 8 - 13
PickerFileProvider/FileProvider.swift

@@ -40,6 +40,9 @@ var fileProviderStorageURL: URL?
 var importDocumentURL: URL?
 var changeDocumentURL: URL?
 
+// Array file in Upload
+var uploadingIdentifier = [String]()
+
 class FileProvider: NSFileProviderExtension {
     
     override init() {
@@ -888,6 +891,9 @@ class FileProvider: NSFileProviderExtension {
                 return
             }
             
+            // remove identifier from array upload
+            uploadingIdentifier = uploadingIdentifier.filter() { $0 != identifier.rawValue }
+            
             // item
             _ = FileProviderItem(metadata: metadataDB, serverUrl: serverUrl)
             
@@ -899,19 +905,8 @@ class FileProvider: NSFileProviderExtension {
             NCManageDatabase.sharedInstance.unlockQueueUpload(assetLocalIdentifier: nil, path: fileNameLocalPath)
         })
         
-        if #available(iOSApplicationExtension 11.0, *) {
-            if task != nil {
-                NSFileProviderManager.default.register(task!, forItemWithIdentifier: identifier) { (error) in
-                    print("Registe download task")
-                }
-            }
-        }
-        
-        DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
-            // get item
-            guard let item = try? self.item(for: identifier) else {
-                return
-            }
+        if (task != nil) {
+            uploadingIdentifier.append(identifier.rawValue)
         }
     }
     

+ 8 - 2
PickerFileProvider/FileProviderItem.swift

@@ -69,8 +69,8 @@ class FileProviderItem: NSObject, NSFileProviderItem {
 
     var tagData: Data?                                              // Tag
     
-    var isDirectory = false;
-    
+    var isDirectory = false
+
     init(metadata: tableMetadata, serverUrl: String) {
         
         self.contentModificationDate = metadata.date as Date
@@ -80,6 +80,12 @@ class FileProviderItem: NSObject, NSFileProviderItem {
         self.itemIdentifier = NSFileProviderItemIdentifier("\(metadata.fileID)")
         self.isDirectory = metadata.directory
 
+        //
+        if uploadingIdentifier.contains(metadata.fileID) {
+            self.isUploading = true
+            self.isUploaded = false
+        }
+
         // parentItemIdentifier
         if #available(iOSApplicationExtension 11.0, *) {