Browse Source

new view share

marinofaggiana 5 years ago
parent
commit
ceaebb37df

+ 1 - 1
iOSClient/AppDelegate.h

@@ -128,7 +128,7 @@
 @property (nonatomic, strong) NSMutableArray *sessionPendingStatusInUpload;
 
 // Shares
-@property (nonatomic, strong) NSMutableArray *shares;
+@property (nonatomic, strong) NSArray *shares;
 
 // Maintenance Mode
 @property BOOL maintenanceMode;

+ 0 - 3
iOSClient/AppDelegate.m

@@ -79,9 +79,6 @@ PKPushRegistry *pushRegistry;
     // Initialization Notification
     self.listOfNotifications = [NSMutableArray new];
     
-    // Initialization Shares
-    self.shares = [NSMutableArray new];
-    
     // Background Fetch
     [application setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];
 

+ 5 - 3
iOSClient/Database/NCManageDatabase.swift

@@ -2257,7 +2257,7 @@ class NCManageDatabase: NSObject {
     //MARK: -
     //MARK: Table Share
     
-    @objc func addShare(account: String, activeUrl: String, items: [OCSharedDto]) {
+    @objc func addShare(account: String, activeUrl: String, items: [OCSharedDto]) -> [tableShare] {
         
         let realm = try! Realm()
         realm.beginWrite()
@@ -2313,16 +2313,18 @@ class NCManageDatabase: NSObject {
         } catch let error {
             print("[LOG] Could not write to database: ", error)
         }
+        
+        return self.getTableShares(account: account)
     }
 
-    @objc func getTableShares(account: String) -> [tableShare]? {
+    @objc func getTableShares(account: String) -> [tableShare] {
         
         let realm = try! Realm()
         realm.refresh()
         
         let results = realm.objects(tableShare.self).filter("account == %@", account).sorted(byKeyPath: "fileName", ascending: true)
         
-        return Array(results)
+        return Array(results.map { tableShare.init(value:$0) })
     }
     
     func getTableShares(metadata: tableMetadata) -> (firstShareLink: tableShare?,  share: [tableShare]?) {

+ 1 - 2
iOSClient/Favorites/CCFavorites.m

@@ -584,9 +584,8 @@
     }
     
     tableMetadata *metadataFolder = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", directory.fileID]];
-    NSArray *shares = [[NCManageDatabase sharedInstance] getTableSharesWithAccount:metadata.account serverUrl:metadata.serverUrl fileName:metadata.fileName];
     
-    UITableViewCell *cell = [[NCMainCommon sharedInstance] cellForRowAtIndexPath:indexPath tableView:tableView metadata:metadata metadataFolder:metadataFolder serverUrl:self.serverUrl autoUploadFileName:autoUploadFileName autoUploadDirectory:autoUploadDirectory shares:shares];
+    UITableViewCell *cell = [[NCMainCommon sharedInstance] cellForRowAtIndexPath:indexPath tableView:tableView metadata:metadata metadataFolder:metadataFolder serverUrl:self.serverUrl autoUploadFileName:autoUploadFileName autoUploadDirectory:autoUploadDirectory tableShare:nil];
     
     // NORMAL - > MAIN
 

+ 15 - 2
iOSClient/Main/CCMain.m

@@ -191,6 +191,9 @@
         [self searchEnabled:YES];
     }
     
+    // Get Shares
+    appDelegate.shares = [[NCManageDatabase sharedInstance] getTableSharesWithAccount:appDelegate.activeAccount serverUrl:self.serverUrl];
+    
     // Query data source
     if (!_isSearchMode) {
         [self queryDatasourceWithReloadData:YES serverUrl:self.serverUrl];
@@ -3714,12 +3717,21 @@
 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
 {
     tableMetadata *metadata = [[NCMainCommon sharedInstance] getMetadataFromSectionDataSourceIndexPath:indexPath sectionDataSource:sectionDataSource];
+    tableShare *shareCell;
 
     if (metadata == nil || [[NCManageDatabase sharedInstance] isTableInvalidated:metadata] || (_metadataFolder != nil && [[NCManageDatabase sharedInstance] isTableInvalidated:_metadataFolder])) {
         return [CCCellMain new];
     }
     
-    UITableViewCell *cell = [[NCMainCommon sharedInstance] cellForRowAtIndexPath:indexPath tableView:tableView metadata:metadata metadataFolder:_metadataFolder serverUrl:self.serverUrl autoUploadFileName:_autoUploadFileName autoUploadDirectory:_autoUploadDirectory shares:appDelegate.shares];
+    // have you share ?
+    for (tableShare *share in appDelegate.shares) {
+        if ([share.serverUrl isEqualToString:metadata.serverUrl] && [share.fileName isEqualToString:metadata.fileName]) {
+            shareCell = share;
+            break;
+        }
+    }
+
+    UITableViewCell *cell = [[NCMainCommon sharedInstance] cellForRowAtIndexPath:indexPath tableView:tableView metadata:metadata metadataFolder:_metadataFolder serverUrl:self.serverUrl autoUploadFileName:_autoUploadFileName autoUploadDirectory:_autoUploadDirectory tableShare:shareCell];
     
     // NORMAL - > MAIN
     
@@ -3727,13 +3739,13 @@
         
         BOOL isShare = false;
         BOOL isMounted = false;
-        BOOL haveYouShare = false;
         
         if (_metadataFolder) {
             isShare = [metadata.permissions containsString:k_permission_shared] && ![_metadataFolder.permissions containsString:k_permission_shared];
             isMounted = [metadata.permissions containsString:k_permission_mounted] && ![_metadataFolder.permissions containsString:k_permission_mounted];
         }
         
+        /*
         // have you share ?
         for (tableShare *share in appDelegate.shares) {
             if ([share.fileName isEqualToString:metadata.fileName]) {
@@ -3768,6 +3780,7 @@
                 }
             }
         }
+        */
         
         // More
         if ([self canOpenMenuAction:metadata]) {

+ 1 - 12
iOSClient/Main/NCMainCommon.swift

@@ -498,10 +498,9 @@ class NCMainCommon: NSObject, PhotoEditorDelegate, NCAudioRecorderViewController
         }
     }
     
-    @objc func cellForRowAtIndexPath(_ indexPath: IndexPath, tableView: UITableView ,metadata: tableMetadata, metadataFolder: tableMetadata?, serverUrl: String, autoUploadFileName: String, autoUploadDirectory: String, shares: [tableShare]?) -> UITableViewCell {
+    @objc func cellForRowAtIndexPath(_ indexPath: IndexPath, tableView: UITableView ,metadata: tableMetadata, metadataFolder: tableMetadata?, serverUrl: String, autoUploadFileName: String, autoUploadDirectory: String, tableShare: tableShare?) -> UITableViewCell {
         
         var image: UIImage?
-        var tableShare: tableShare?
 
         // Create File System
         if metadata.directory {
@@ -510,16 +509,6 @@ class NCMainCommon: NSObject, PhotoEditorDelegate, NCAudioRecorderViewController
             CCUtility.getDirectoryProviderStorageFileID(metadata.fileID, fileNameView: metadata.fileNameView)
         }
         
-        // Share
-        if shares != nil {
-            for share in shares! {
-                if share.fileName == metadata.fileName {
-                    tableShare = share
-                    break
-                }
-            }
-        }
-        
         // CCCell
         if metadata.status == k_metadataStatusNormal {
             

+ 2 - 2
iOSClient/Networking/NCService.swift

@@ -270,8 +270,8 @@ class NCService: NSObject {
                         if errorCode == 0 && account == self.appDelegate.activeAccount{
                             let itemsOCSharedDto = items as! [OCSharedDto]
                             NCManageDatabase.sharedInstance.deleteTableShare(account: account!)
-                            NCManageDatabase.sharedInstance.addShare(account: account!, activeUrl: self.appDelegate.activeUrl, items: itemsOCSharedDto)
-                            
+                            self.appDelegate.shares = NCManageDatabase.sharedInstance.addShare(account: account!, activeUrl: self.appDelegate.activeUrl, items: itemsOCSharedDto)
+                            self.appDelegate.activeMain.tableView.reloadData()
                         } else {
                             self.appDelegate.messageNotification("_share_", description: message, visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: errorCode)
                         }

+ 3 - 3
iOSClient/Share/NCShareNetworking.swift

@@ -46,7 +46,7 @@ class NCShareNetworking: NSObject {
             NCUtility.sharedInstance.stopActivityIndicator()
             if errorCode == 0 {
                 let itemsOCSharedDto = items as! [OCSharedDto]
-                NCManageDatabase.sharedInstance.addShare(account: self.metadata.account, activeUrl: self.activeUrl, items: itemsOCSharedDto)
+                self.appDelegate.shares = NCManageDatabase.sharedInstance.addShare(account: self.metadata.account, activeUrl: self.activeUrl, items: itemsOCSharedDto)
             } else {
                 self.appDelegate.messageNotification("_share_", description: message, visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: errorCode)
             }
@@ -63,7 +63,7 @@ class NCShareNetworking: NSObject {
                     NCUtility.sharedInstance.stopActivityIndicator()
                     if errorCode == 0 {
                         let itemsOCSharedDto = items as! [OCSharedDto]
-                        NCManageDatabase.sharedInstance.addShare(account: self.metadata.account, activeUrl: self.activeUrl, items: itemsOCSharedDto)
+                        self.appDelegate.shares = NCManageDatabase.sharedInstance.addShare(account: self.metadata.account, activeUrl: self.activeUrl, items: itemsOCSharedDto)
                     } else {
                         self.appDelegate.messageNotification("_share_", description: message, visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: errorCode)
                     }
@@ -127,7 +127,7 @@ class NCShareNetworking: NSObject {
                     NCUtility.sharedInstance.stopActivityIndicator()
                     if errorCode == 0 {
                         let itemsOCSharedDto = items as! [OCSharedDto]
-                        NCManageDatabase.sharedInstance.addShare(account: self.metadata.account, activeUrl: self.activeUrl, items: itemsOCSharedDto)
+                        self.appDelegate.shares = NCManageDatabase.sharedInstance.addShare(account: self.metadata.account, activeUrl: self.activeUrl, items: itemsOCSharedDto)
                     } else {
                         self.appDelegate.messageNotification("_share_", description: message, visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: errorCode)
                     }

+ 1 - 1
iOSClient/Transfers/CCTransfers.m

@@ -510,7 +510,7 @@
         return [CCCellMainTransfer new];
     }
     
-    UITableViewCell *cell = [[NCMainCommon sharedInstance] cellForRowAtIndexPath:indexPath tableView:tableView metadata:metadata metadataFolder:nil serverUrl:metadata.serverUrl autoUploadFileName:@"" autoUploadDirectory:@"" shares:nil];
+    UITableViewCell *cell = [[NCMainCommon sharedInstance] cellForRowAtIndexPath:indexPath tableView:tableView metadata:metadata metadataFolder:nil serverUrl:metadata.serverUrl autoUploadFileName:@"" autoUploadDirectory:@"" tableShare:nil];
     
     // TRANSFER