Browse Source

Improvements code

Marino Faggiana 7 years ago
parent
commit
003d198ad3

+ 16 - 9
PickerFileProvider/FileProvider.swift

@@ -1184,10 +1184,23 @@ func setupActiveAccount() {
     }
 }
 
-func createFileIdentifierOnFileSystem(itemIdentifier: String, fileName: String) {
+func getMetadataFromItemIdentifier(_ itemIdentifier: NSFileProviderItemIdentifier) -> tableMetadata? {
+    
+    let fileID = itemIdentifier.rawValue
+    
+    return NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "account = %@ AND fileID = %@", account, fileID))
+}
+
+func cretateItemIdentifier(metadata: tableMetadata) -> NSFileProviderItemIdentifier {
+    
+    return NSFileProviderItemIdentifier(metadata.fileID)
+}
+
+func createFileIdentifierOnFileSystem(metadata: tableMetadata) {
     
-    let identifierPath = fileProviderStorageURL!.path + "/" + itemIdentifier
-    let fileIdentifier = identifierPath + "/" + fileName
+    let itemIdentifier = cretateItemIdentifier(metadata: metadata)
+    let identifierPath = fileProviderStorageURL!.path + "/" + itemIdentifier.rawValue
+    let fileIdentifier = identifierPath + "/" + metadata.fileName
     
     do {
         try FileManager.default.createDirectory(atPath: identifierPath, withIntermediateDirectories: true, attributes: nil)
@@ -1217,12 +1230,6 @@ func getDirectoryParent(_ metadata: tableMetadata) -> NSFileProviderItemIdentifi
     return nil
 }
 
-func getMetadataFromItemIdentifier(_ itemIdentifier: NSFileProviderItemIdentifier) -> tableMetadata? {
-    
-    let fileID = itemIdentifier.rawValue
-    
-    return NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "account = %@ AND fileID = %@", account, fileID))
-}
 
 func getDirectoryFromParentItemIdentifier(_ parentItemIdentifier: NSFileProviderItemIdentifier) -> tableDirectory? {
     

+ 1 - 1
PickerFileProvider/FileProviderEnumerator.swift

@@ -168,7 +168,7 @@ class FileProviderEnumerator: NSObject, NSFileProviderEnumerator {
             if (counter >= start && counter <= stop) {
                 
                 if metadata.directory == false {
-                    createFileIdentifierOnFileSystem(itemIdentifier: metadata.fileID, fileName: metadata.fileNameView)
+                    createFileIdentifierOnFileSystem(metadata: metadata)
                 }
 
                 let parentItemIdentifier = getDirectoryParent(metadata)

+ 1 - 1
PickerFileProvider/FileProviderEnumeratorFile.swift

@@ -45,7 +45,7 @@ class FileProviderEnumeratorFile: NSObject, NSFileProviderEnumerator {
         }
         
         if metadata.directory == false {
-            createFileIdentifierOnFileSystem(itemIdentifier: metadata.fileID, fileName: metadata.fileNameView)
+            createFileIdentifierOnFileSystem(metadata: metadata)
         }
         
         let parentItemIdentifier = getDirectoryParent(metadata)

+ 1 - 1
PickerFileProvider/FileProviderEnumeratorWorkingSet.swift

@@ -46,7 +46,7 @@ class FileProviderEnumeratorWorkingSet: NSObject, NSFileProviderEnumerator {
             if let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "account = %@ AND fileID = %@", account, tag.fileID))  {
                 
                 if metadata.directory == false {
-                    createFileIdentifierOnFileSystem(itemIdentifier: metadata.fileID, fileName: metadata.fileNameView)
+                    createFileIdentifierOnFileSystem(metadata: metadata)
                 }
 
                 let parentItemIdentifier = getDirectoryParent(metadata)

+ 2 - 5
PickerFileProvider/FileProviderItem.swift

@@ -72,11 +72,8 @@ class FileProviderItem: NSObject, NSFileProviderItem {
 
     init(metadata: tableMetadata, parentItemIdentifier: NSFileProviderItemIdentifier) {
         
-        // parentItemIdentifier = NSFileProviderRootContainerItemIdentifier / tableDirectory.fileID
         self.parentItemIdentifier = parentItemIdentifier
-        
-        // ItemIdentifier = metadata.fileID
-        self.itemIdentifier = NSFileProviderItemIdentifier(metadata.fileID)
+        self.itemIdentifier = cretateItemIdentifier(metadata: metadata)
         
         self.contentModificationDate = metadata.date as Date
         self.creationDate = metadata.date as Date
@@ -89,7 +86,7 @@ class FileProviderItem: NSObject, NSFileProviderItem {
         // This is a file
         if (!metadata.directory) {
             
-            let fileIdentifier = fileProviderStorageURL!.path + "/" + metadata.fileID + "/" + metadata.fileNameView
+            let fileIdentifier = fileProviderStorageURL!.path + "/" + self.itemIdentifier.rawValue + "/" + metadata.fileNameView
             var fileSize = 0 as Double
          
             do {