浏览代码

dev Favorite

Marino Faggiana 6 年之前
父节点
当前提交
71607f1d10

+ 1 - 0
PickerFileProvider/FileProviderEnumerator.swift

@@ -100,6 +100,7 @@ class FileProviderEnumerator: NSObject, NSFileProviderEnumerator {
                 itemIdentifierMetadata[ providerData.getItemIdentifier(metadata: metadata)] = metadata
             }
             
+            // create items
             for (_, metadata) in itemIdentifierMetadata {
                 let parentItemIdentifier = providerData.getParentItemIdentifier(metadata: metadata)
                 if parentItemIdentifier != nil {

+ 7 - 5
PickerFileProvider/FileProviderExtension+Actions.swift

@@ -279,14 +279,16 @@ extension FileProviderExtension {
             completionHandler(nil, NSFileProviderError(.noSuchItem))
             return
         }
-         
+        
+        var favorite = false
         if favoriteRank == nil {
             listFavoriteIdentifierRank.removeValue(forKey: itemIdentifier.rawValue)
         } else {
             let rank = listFavoriteIdentifierRank[itemIdentifier.rawValue]
             if rank == nil {
-                listFavoriteIdentifierRank[itemIdentifier.rawValue] = favoriteRank//NSNumber(value: Int64(newRank))
+                listFavoriteIdentifierRank[itemIdentifier.rawValue] = favoriteRank
             }
+            favorite = true
         }
         
         let item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier, providerData: providerData)
@@ -296,9 +298,9 @@ extension FileProviderExtension {
             
         completionHandler(item, nil)
         
-        //if (favorite == true && metadata.favorite == false) || (favorite == false && metadata.favorite == true) {
-        //    settingFavorite(favorite, withIdentifier: itemIdentifier, parentItemIdentifier: parentItemIdentifier, metadata: metadata)
-        //}
+        if (favorite == true && metadata.favorite == false) || (favorite == false && metadata.favorite == true) {
+            settingFavorite(favorite, withIdentifier: itemIdentifier, parentItemIdentifier: parentItemIdentifier, metadata: metadata)
+        }
     }
     
     override func setTagData(_ tagData: Data?, forItemIdentifier itemIdentifier: NSFileProviderItemIdentifier, completionHandler: @escaping (NSFileProviderItem?, Error?) -> Void) {

+ 1 - 0
PickerFileProvider/FileProviderExtension+Network.swift

@@ -97,6 +97,7 @@ extension FileProviderExtension {
             
         }, failure: { (errorMessage, errorCode) in
             
+            // Errore, remove from listFavoriteIdentifierRank
             listFavoriteIdentifierRank.removeValue(forKey: itemIdentifier.rawValue)
 
             let item = FileProviderItem(metadata: metadata, parentItemIdentifier: parentItemIdentifier, providerData: self.providerData)