marinofaggiana 4 жил өмнө
parent
commit
4bd411ff9b

+ 2 - 2
Nextcloud.xcodeproj/project.pbxproj

@@ -1866,7 +1866,7 @@
 /* Begin PBXShellScriptBuildPhase section */
 		F75A40001EBCB82B00B213E8 /* ShellScript */ = {
 			isa = PBXShellScriptBuildPhase;
-			buildActionMask = 12;
+			buildActionMask = 8;
 			files = (
 			);
 			inputPaths = (
@@ -1903,7 +1903,7 @@
 			);
 			outputPaths = (
 			);
-			runOnlyForDeploymentPostprocessing = 0;
+			runOnlyForDeploymentPostprocessing = 1;
 			shellPath = /bin/sh;
 			shellScript = "/usr/local/bin/carthage copy-frameworks\n";
 		};

+ 8 - 22
iOSClient/Favorites/NCFavorite.swift

@@ -108,33 +108,19 @@ class NCFavorite: NCCollectionViewCommon  {
             
         } else {
             
-            NCNetworking.shared.readFile(serverUrlFileName: serverUrl, account: appDelegate.account) { (account, metadata, errorCode, errorDescription) in
+            networkReadFolder(forced: forced) { (metadatas, errorCode, errorDescription) in
                 if errorCode == 0 {
-                    let directory = NCManageDatabase.sharedInstance.getTableDirectory(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", self.appDelegate.account, self.serverUrl))
-                    if forced || directory?.etag != metadata?.etag {
-                        NCNetworking.shared.readFolder(serverUrl: self.serverUrl, account: self.appDelegate.account) { (account, metadataFolder, metadatas, metadatasUpdate, metadatasLocalUpdate, errorCode, errorDescription) in
-                            if errorCode == 0 {
-                                for metadata in metadatas ?? [] {
-                                    if !metadata.directory && CCUtility.getFavoriteOffline() {
-                                        let localFile = NCManageDatabase.sharedInstance.getTableLocalFile(predicate: NSPredicate(format: "ocId == %@", metadata.ocId))
-                                        if localFile == nil || localFile?.etag != metadata.etag {
-                                            NCOperationQueue.shared.download(metadata: metadata, selector: selectorDownloadFile, setFavorite: false)
-                                        }
-                                    }
-                                }
-                                self.metadataFolder = metadataFolder
+                    for metadata in metadatas ?? [] {
+                        if !metadata.directory {
+                            let localFile = NCManageDatabase.sharedInstance.getTableLocalFile(predicate: NSPredicate(format: "ocId == %@", metadata.ocId))
+                            if (CCUtility.getFavoriteOffline() && localFile == nil) || (localFile != nil && localFile?.etag != metadata.etag) {
+                                NCOperationQueue.shared.download(metadata: metadata, selector: selectorDownloadFile, setFavorite: false)
                             }
-                            self.isReloadDataSourceNetworkInProgress = false
-                            self.reloadDataSource()
                         }
-                    } else {
-                        self.isReloadDataSourceNetworkInProgress = false
-                        self.reloadDataSource()
                     }
-                } else {
-                    self.isReloadDataSourceNetworkInProgress = false
-                    self.reloadDataSource()
                 }
+                self.isReloadDataSourceNetworkInProgress = false
+                self.reloadDataSource()
             }
         }
     }

+ 20 - 0
iOSClient/Main/Collection/NCCollectionViewCommon.swift

@@ -796,6 +796,26 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
             }
         }
     }
+    
+    @objc func networkReadFolder(forced: Bool, completion: @escaping(_ metadatas: [tableMetadata]?, _ errorCode: Int, _ errorDescription: String)->()) {
+        NCNetworking.shared.readFile(serverUrlFileName: serverUrl, account: appDelegate.account) { (account, metadata, errorCode, errorDescription) in
+            if errorCode == 0 {
+                let directory = NCManageDatabase.sharedInstance.getTableDirectory(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", self.appDelegate.account, self.serverUrl))
+                if forced || directory?.etag != metadata?.etag {
+                    NCNetworking.shared.readFolder(serverUrl: self.serverUrl, account: self.appDelegate.account) { (account, metadataFolder, metadatas, metadatasUpdate, metadatasLocalUpdate, errorCode, errorDescription) in
+                        if errorCode == 0 {
+                            self.metadataFolder = metadataFolder
+                        }
+                        completion(metadatas, errorCode, errorDescription)
+                    }
+                } else {
+                    completion(nil, 0, "")
+                }
+            } else {
+               completion(nil, errorCode, errorDescription)
+            }
+        }
+    }
 }
 
 // MARK: - 3D Touch peek and pop

+ 1 - 1
iOSClient/Offline/NCOffline.swift

@@ -103,7 +103,7 @@ class NCOffline: NCCollectionViewCommon  {
             isReloadDataSourceNetworkInProgress = true
             collectionView?.reloadData()
             
-            NCNetworking.shared.readFolder(serverUrl: serverUrl, account: appDelegate.account) { (account, metadataFolder, metadatas, metadatasUpdate, metadatasLocalUpdate, errorCode, errorDescription) in
+            networkReadFolder(forced: forced) { (metadatas, errorCode, errorDescription) in
                 if errorCode == 0 {
                     for metadata in metadatas ?? [] {
                         if !metadata.directory {