浏览代码

Fix 0 byte available offline flag

For files of size == 0 the offline flag would never show, but it's still possible to set it available offline

Signed-off-by: Henrik Storch <henrik.storch@nextcloud.com>
Henrik Storch 3 年之前
父节点
当前提交
8d9317d3da
共有 1 个文件被更改,包括 8 次插入12 次删除
  1. 8 12
      iOSClient/Data/NCDataSource.swift

+ 8 - 12
iOSClient/Data/NCDataSource.swift

@@ -114,16 +114,13 @@ class NCDataSource: NSObject {
             }
 
             // is Local / offline
-            if !metadata.directory {
-                let size = CCUtility.fileProviderStorageSize(metadata.ocId, fileNameView: metadata.fileNameView)
-                if size > 0 {
-                    let tableLocalFile = NCManageDatabase.shared.getTableLocalFile(predicate: NSPredicate(format: "ocId == %@", metadata.ocId))
-                    if tableLocalFile == nil && size == metadata.size {
-                        NCManageDatabase.shared.addLocalFile(metadata: metadata)
-                    }
-                    if tableLocalFile?.offline ?? false {
-                        metadataOffLine.append(metadata.ocId)
-                    }
+            if !metadata.directory, CCUtility.fileProviderStorageExists(metadata) {
+                let tableLocalFile = NCManageDatabase.shared.getTableLocalFile(predicate: NSPredicate(format: "ocId == %@", metadata.ocId))
+                if tableLocalFile == nil {
+                    NCManageDatabase.shared.addLocalFile(metadata: metadata)
+                }
+                if tableLocalFile?.offline ?? false {
+                    metadataOffLine.append(metadata.ocId)
                 }
             }
 
@@ -192,8 +189,7 @@ class NCDataSource: NSObject {
         guard let index = index, let metadata = NCManageDatabase.shared.getMetadataFromOcId(ocId) else { return nil }
         metadatas[index] = metadata
 
-        let size = CCUtility.fileProviderStorageSize(metadata.ocId, fileNameView: metadata.fileNameView)
-        if size > 0 {
+        if CCUtility.fileProviderStorageExists(metadata) {
             let tableLocalFile = NCManageDatabase.shared.getTableLocalFile(predicate: NSPredicate(format: "ocId == %@", metadata.ocId))
             if tableLocalFile?.offline ?? false {
                 metadataOffLine.append(metadata.ocId)