Browse Source

refactoring

Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
Marino Faggiana 2 years ago
parent
commit
1f70c55ebc

+ 4 - 6
Share/NCShareExtension+DataSource.swift

@@ -114,16 +114,14 @@ extension NCShareExtension: UICollectionViewDataSource {
             isMounted = metadata.permissions.contains(NCGlobal.shared.permissionMounted) && !metadataFolder.permissions.contains(NCGlobal.shared.permissionMounted)
         }
 
-        let tableShare = dataSource.metadatasForSection[indexPath.section].metadataShare[metadata.ocId]
-
         if metadata.e2eEncrypted {
             cell.imageItem.image = NCBrandColor.cacheImages.folderEncrypted
         } else if isShare {
             cell.imageItem.image = NCBrandColor.cacheImages.folderSharedWithMe
-        } else if tableShare != nil && tableShare?.shareType != 3 {
-            cell.imageItem.image = NCBrandColor.cacheImages.folderSharedWithMe
-        } else if tableShare != nil && tableShare?.shareType == 3 {
-            cell.imageItem.image = NCBrandColor.cacheImages.folderPublic
+        } else if !metadata.shareType.isEmpty {
+            metadata.shareType.contains(3) ?
+            (cell.imageItem.image = NCBrandColor.cacheImages.folderPublic) :
+            (cell.imageItem.image = NCBrandColor.cacheImages.folderSharedWithMe)
         } else if metadata.mountType == "group" {
             cell.imageItem.image = NCBrandColor.cacheImages.folderGroup
         } else if isMounted {

+ 1 - 14
iOSClient/Data/NCDataSource.swift

@@ -35,7 +35,6 @@ class NCDataSource: NSObject {
     private var sectionsValue: [String] = []
     private var providers: [NKSearchProvider]?
     private var searchResults: [NKSearchResult]?
-    private var shares: [tableShare] = []
     private var localFiles: [tableLocalFile] = []
 
     private var ascending: Bool = true
@@ -55,7 +54,6 @@ class NCDataSource: NSObject {
             !NCGlobal.shared.includeHiddenFiles.contains($0.fileNameView)
         })
         self.directory = directory
-        self.shares = NCManageDatabase.shared.getTableShares(account: account)
         self.localFiles = NCManageDatabase.shared.getTableLocalFile(account: account)
         self.sort = sort ?? "none"
         self.ascending = ascending ?? false
@@ -80,7 +78,6 @@ class NCDataSource: NSObject {
         self.sectionsValue.removeAll()
         self.providers = nil
         self.searchResults = nil
-        self.shares.removeAll()
         self.localFiles.removeAll()
     }
 
@@ -178,7 +175,6 @@ class NCDataSource: NSObject {
         let metadatas = self.metadatas.filter({ getSectionValue(metadata: $0) == sectionValue})
         let metadataForSection = NCMetadataForSection.init(sectionValue: sectionValue,
                                                             metadatas: metadatas,
-                                                            shares: self.shares,
                                                             localFiles: self.localFiles,
                                                             lastSearchResult: searchResult,
                                                             sort: self.sort,
@@ -423,7 +419,6 @@ class NCMetadataForSection: NSObject {
 
     var sectionValue: String
     var metadatas: [tableMetadata]
-    var shares: [tableShare]
     var localFiles: [tableLocalFile]
     var lastSearchResult: NKSearchResult?
     var unifiedSearchInProgress: Bool = false
@@ -443,15 +438,13 @@ class NCMetadataForSection: NSObject {
     public var numDirectory: Int = 0
     public var numFile: Int = 0
     public var totalSize: Int64 = 0
-    public let metadataShare  = ThreadSafeDictionary<String,tableShare>()
     public var metadataOffLine: [String] = []
     public var directories: [tableDirectory]?
 
-    init(sectionValue: String, metadatas: [tableMetadata], shares: [tableShare], localFiles: [tableLocalFile], lastSearchResult: NKSearchResult?, sort: String, ascending: Bool, directoryOnTop: Bool, favoriteOnTop: Bool, filterLivePhoto: Bool) {
+    init(sectionValue: String, metadatas: [tableMetadata], localFiles: [tableLocalFile], lastSearchResult: NKSearchResult?, sort: String, ascending: Bool, directoryOnTop: Bool, favoriteOnTop: Bool, filterLivePhoto: Bool) {
 
         self.sectionValue = sectionValue
         self.metadatas = metadatas
-        self.shares = shares
         self.localFiles = localFiles
         self.lastSearchResult = lastSearchResult
         self.sort = sort
@@ -474,7 +467,6 @@ class NCMetadataForSection: NSObject {
         metadatasFavoriteFile.removeAll()
         metadatasDirectory.removeAll()
         metadatasFile.removeAll()
-        metadataShare.removeAll()
         metadataOffLine.removeAll()
 
         numDirectory = 0
@@ -538,11 +530,6 @@ class NCMetadataForSection: NSObject {
                 continue
             }
 
-            // share
-            if let share = self.shares.filter({ $0.serverUrl == metadata.serverUrl && $0.fileName == metadata.fileName }).first {
-                metadataShare[metadata.ocId] = share
-            }
-
             // Organized the metadata
             if metadata.favorite && favoriteOnTop {
                 if metadata.directory {

+ 9 - 8
iOSClient/Main/Collection Common/NCCollectionViewCommon.swift

@@ -1474,7 +1474,6 @@ extension NCCollectionViewCommon: UICollectionViewDataSource {
 
         guard let metadata = dataSource.cellForItemAt(indexPath: indexPath) else { return cell }
 
-        let tableShare = dataSource.metadatasForSection[indexPath.section].metadataShare[metadata.ocId]
         let tableDirectory = dataSource.metadatasForSection[indexPath.section].directories?.filter({ $0.ocId == metadata.ocId }).first
         var isShare = false
         var isMounted = false
@@ -1531,9 +1530,11 @@ extension NCCollectionViewCommon: UICollectionViewDataSource {
                 cell.filePreviewImageView?.image = NCBrandColor.cacheImages.folderEncrypted
             } else if isShare {
                 cell.filePreviewImageView?.image = NCBrandColor.cacheImages.folderSharedWithMe
-            } else if tableShare != nil && tableShare?.shareType != 3 {
-                cell.filePreviewImageView?.image = NCBrandColor.cacheImages.folderSharedWithMe
-            } else if tableShare != nil && tableShare?.shareType == 3 {
+            } else if !metadata.shareType.isEmpty {
+                metadata.shareType.contains(3) ?
+                (cell.filePreviewImageView?.image = NCBrandColor.cacheImages.folderPublic) :
+                (cell.filePreviewImageView?.image = NCBrandColor.cacheImages.folderSharedWithMe)
+            } else if !metadata.shareType.isEmpty && metadata.shareType.contains(3)  {
                 cell.filePreviewImageView?.image = NCBrandColor.cacheImages.folderPublic
             } else if metadata.mountType == "group" {
                 cell.filePreviewImageView?.image = NCBrandColor.cacheImages.folderGroup
@@ -1573,10 +1574,10 @@ extension NCCollectionViewCommon: UICollectionViewDataSource {
         // Share image
         if isShare {
             cell.fileSharedImage?.image = NCBrandColor.cacheImages.shared
-        } else if tableShare != nil && tableShare?.shareType == 3 {
-            cell.fileSharedImage?.image = NCBrandColor.cacheImages.shareByLink
-        } else if tableShare != nil && tableShare?.shareType != 3 {
-            cell.fileSharedImage?.image = NCBrandColor.cacheImages.shared
+        } else if !metadata.shareType.isEmpty {
+            metadata.shareType.contains(3) ?
+            (cell.fileSharedImage?.image = NCBrandColor.cacheImages.shareByLink) :
+            (cell.fileSharedImage?.image = NCBrandColor.cacheImages.shared)
         } else {
             cell.fileSharedImage?.image = NCBrandColor.cacheImages.canShare
         }

+ 1 - 12
iOSClient/Networking/NCService.swift

@@ -191,19 +191,8 @@ class NCService: NSObject {
                 NCBrandColor.shared.settingThemingColor(account: account)
             }
 
-            // File Sharing
+            // Sharing & Comments
             let isFilesSharingEnabled = NCManageDatabase.shared.getCapabilitiesServerBool(account: account, elements: NCElementsJSON.shared.capabilitiesFileSharingApiEnabled, exists: false)
-            if isFilesSharingEnabled {
-                NextcloudKit.shared.readShares(parameters: NKShareParameter(), options: options) { account, shares, data, error in
-                    if error == .success, let tableAccount = NCManageDatabase.shared.getAccount(predicate: NSPredicate(format: "account == %@", account)) {
-                        NCManageDatabase.shared.deleteTableShare(account: account)
-                        if let shares = shares, !shares.isEmpty {
-                            let home = NCUtilityFileSystem.shared.getHomeServer(urlBase: tableAccount.urlBase, userId: tableAccount.userId)
-                            NCManageDatabase.shared.addShare(account: account, home: home, shares: shares)
-                        }
-                    }
-                }
-            }
             let comments = NCManageDatabase.shared.getCapabilitiesServerBool(account: account, elements: NCElementsJSON.shared.capabilitiesFilesComments, exists: false)
             let activity = NCManageDatabase.shared.getCapabilitiesServerArray(account: account, elements: NCElementsJSON.shared.capabilitiesActivity)
             if !isFilesSharingEnabled && !comments && activity == nil {

+ 12 - 14
iOSClient/Select/NCSelect.swift

@@ -405,8 +405,6 @@ extension NCSelect: UICollectionViewDataSource {
         isShare = metadata.permissions.contains(NCGlobal.shared.permissionShared) && !metadataFolder.permissions.contains(NCGlobal.shared.permissionShared)
         isMounted = metadata.permissions.contains(NCGlobal.shared.permissionMounted) && !metadataFolder.permissions.contains(NCGlobal.shared.permissionMounted)
 
-        let tableShare = dataSource.metadatasForSection[indexPath.section].metadataShare[metadata.ocId]
-
         // LAYOUT LIST
 
         if layoutForView?.layout == NCGlobal.shared.layoutList {
@@ -437,10 +435,10 @@ extension NCSelect: UICollectionViewDataSource {
                     cell.imageItem.image = NCBrandColor.cacheImages.folderEncrypted
                 } else if isShare {
                     cell.imageItem.image = NCBrandColor.cacheImages.folderSharedWithMe
-                } else if tableShare != nil && tableShare?.shareType != 3 {
-                    cell.imageItem.image = NCBrandColor.cacheImages.folderSharedWithMe
-                } else if tableShare != nil && tableShare?.shareType == 3 {
-                    cell.imageItem.image = NCBrandColor.cacheImages.folderPublic
+                } else if !metadata.shareType.isEmpty {
+                    metadata.shareType.contains(3) ?
+                    (cell.imageItem.image = NCBrandColor.cacheImages.folderPublic) :
+                    (cell.imageItem.image = NCBrandColor.cacheImages.folderSharedWithMe)
                 } else if metadata.mountType == "group" {
                     cell.imageItem.image = NCBrandColor.cacheImages.folderGroup
                 } else if isMounted {
@@ -474,10 +472,10 @@ extension NCSelect: UICollectionViewDataSource {
             // Share image
             if isShare {
                 cell.imageShared.image = NCBrandColor.cacheImages.shared
-            } else if tableShare != nil && tableShare?.shareType == 3 {
-                cell.imageShared.image = NCBrandColor.cacheImages.shareByLink
-            } else if tableShare != nil && tableShare?.shareType != 3 {
-                cell.imageShared.image = NCBrandColor.cacheImages.shared
+            } else if !metadata.shareType.isEmpty {
+                metadata.shareType.contains(3) ?
+                (cell.imageShared.image = NCBrandColor.cacheImages.shareByLink) :
+                (cell.imageShared.image = NCBrandColor.cacheImages.shared)
             } else {
                 cell.imageShared.image = NCBrandColor.cacheImages.canShare
             }
@@ -531,10 +529,10 @@ extension NCSelect: UICollectionViewDataSource {
                     cell.imageItem.image = NCBrandColor.cacheImages.folderEncrypted
                 } else if isShare {
                     cell.imageItem.image = NCBrandColor.cacheImages.folderSharedWithMe
-                } else if tableShare != nil && tableShare!.shareType != 3 {
-                    cell.imageItem.image = NCBrandColor.cacheImages.folderSharedWithMe
-                } else if tableShare != nil && tableShare!.shareType == 3 {
-                    cell.imageItem.image = NCBrandColor.cacheImages.folderPublic
+                } else if !metadata.shareType.isEmpty {
+                    metadata.shareType.contains(3) ?
+                    (cell.imageItem.image = NCBrandColor.cacheImages.folderPublic) :
+                    (cell.imageItem.image = NCBrandColor.cacheImages.folderSharedWithMe)
                 } else if metadata.mountType == "group" {
                     cell.imageItem.image = NCBrandColor.cacheImages.folderGroup
                 } else if isMounted {