浏览代码

remake protocol listingFavoritesSuccessFailure

Marino Faggiana 7 年之前
父节点
当前提交
c9abd97e10

+ 3 - 9
iOSClient/Actions/CCActions.swift

@@ -52,8 +52,7 @@ import Foundation
 
 @objc protocol CCActionsListingFavoritesDelegate {
     
-    func listingFavoritesSuccess(_ metadataNet: CCMetadataNet, metadatas: [Any])
-    func listingFavoritesFailure(_ metadataNet: CCMetadataNet, message: NSString, errorCode: NSInteger)
+    func listingFavoritesSuccessFailure(_ metadataNet: CCMetadataNet, metadatas: [Any], message: NSString, errorCode: NSInteger)
 }
 
 class CCActions: NSObject {
@@ -406,14 +405,9 @@ class CCActions: NSObject {
         appDelegate.addNetworkingOperationQueue(appDelegate.netQueue, delegate: self, metadataNet: metadataNet)
     }
     
-    @objc func listingFavoritesSuccess(_ metadataNet: CCMetadataNet, metadatas: [tableMetadata]) {
+    @objc func listingFavoritesSuccessFailure(_ metadataNet: CCMetadataNet, metadatas: [tableMetadata], message: NSString, errorCode: NSInteger) {
         
-        metadataNet.delegate?.listingFavoritesSuccess(metadataNet, metadatas: metadatas)
-    }
-    
-    @objc func listingFavoritesFailure(_ metadataNet: CCMetadataNet, message: NSString, errorCode: NSInteger) {
-        
-        metadataNet.delegate?.listingFavoritesFailure(metadataNet, message: message, errorCode: errorCode)
+        metadataNet.delegate?.listingFavoritesSuccessFailure(metadataNet, metadatas: metadatas, message: message, errorCode: errorCode)
     }
     
     // --------------------------------------------------------------------------------------------

+ 40 - 42
iOSClient/Favorites/CCFavorites.m

@@ -226,61 +226,59 @@
     [appDelegate addNetworkingOperationQueue:appDelegate.netQueue delegate:[CCSynchronize sharedSynchronize] metadataNet:metadataNet];
 }
 
-- (void)listingFavoritesSuccess:(CCMetadataNet *)metadataNet metadatas:(NSArray *)metadatas
+- (void)listingFavoritesSuccessFailure:(CCMetadataNet *)metadataNet metadatas:(NSArray *)metadatas message:(NSString *)message errorCode:(NSInteger)errorCode
 {
     // Check Active Account
     if (![metadataNet.account isEqualToString:appDelegate.activeAccount])
         return;
     
-    NSString *father = @"";
-    NSMutableArray *filesEtag = [NSMutableArray new];
+    if (errorCode == 0) {
     
-    for (tableMetadata *metadata in metadatas) {
-        
-        // insert for test NOT favorite
-        [filesEtag addObject:metadata.fileID];
-        
-        NSString *serverUrl = [[NCManageDatabase sharedInstance] getServerUrl:metadata.directoryID];
-        NSString *serverUrlSon = [CCUtility stringAppendServerUrl:serverUrl addFileName:metadata.fileName];
+        NSString *father = @"";
+        NSMutableArray *filesEtag = [NSMutableArray new];
         
-        if (![serverUrlSon containsString:father]) {
+        for (tableMetadata *metadata in metadatas) {
             
-            if (metadata.directory) {
+            // insert for test NOT favorite
+            [filesEtag addObject:metadata.fileID];
+            
+            NSString *serverUrl = [[NCManageDatabase sharedInstance] getServerUrl:metadata.directoryID];
+            NSString *serverUrlSon = [CCUtility stringAppendServerUrl:serverUrl addFileName:metadata.fileName];
+            
+            if (![serverUrlSon containsString:father]) {
                 
-                if ([CCUtility getFavoriteOffline])
-                    [[CCSynchronize sharedSynchronize] readFileForFolder:metadata.fileName serverUrl:serverUrl selector:selectorReadFileFolderWithDownload];
-                else
-                    [[CCSynchronize sharedSynchronize] readFileForFolder:metadata.fileName serverUrl:serverUrl selector:selectorReadFileFolder];
-
-            } else {
+                if (metadata.directory) {
+                    
+                    if ([CCUtility getFavoriteOffline])
+                        [[CCSynchronize sharedSynchronize] readFileForFolder:metadata.fileName serverUrl:serverUrl selector:selectorReadFileFolderWithDownload];
+                    else
+                        [[CCSynchronize sharedSynchronize] readFileForFolder:metadata.fileName serverUrl:serverUrl selector:selectorReadFileFolder];
+
+                } else {
+                    
+                    if ([CCUtility getFavoriteOffline])
+                        [[CCSynchronize sharedSynchronize] readFile:metadata selector:selectorReadFileWithDownload];
+                    else
+                        [[CCSynchronize sharedSynchronize] readFile:metadata selector:selectorReadFile];
+                }
                 
-                if ([CCUtility getFavoriteOffline])
-                    [[CCSynchronize sharedSynchronize] readFile:metadata selector:selectorReadFileWithDownload];
-                else
-                    [[CCSynchronize sharedSynchronize] readFile:metadata selector:selectorReadFile];
+                father = serverUrlSon;
             }
-            
-            father = serverUrlSon;
         }
-    }
-    
-    // Verify remove favorite
-    NSArray *allRecordFavorite = [[NCManageDatabase sharedInstance] getMetadatasWithPredicate:[NSPredicate predicateWithFormat:@"account = %@ AND favorite = true", appDelegate.activeAccount] sorted:nil ascending:NO];
-    
-    for (tableMetadata *metadata in allRecordFavorite)
-        if (![filesEtag containsObject:metadata.fileID])
-            [[NCManageDatabase sharedInstance] setMetadataFavoriteWithFileID:metadata.fileID favorite:NO];
-    
-    [[NSNotificationCenter defaultCenter] postNotificationOnMainThreadName:@"clearDateReadDataSource" object:nil];
-}
-
-- (void)listingFavoritesFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
-{
-    // Check Active Account
-    if (![metadataNet.account isEqualToString:appDelegate.activeAccount])
-        return;
+        
+        // Verify remove favorite
+        NSArray *allRecordFavorite = [[NCManageDatabase sharedInstance] getMetadatasWithPredicate:[NSPredicate predicateWithFormat:@"account = %@ AND favorite = true", appDelegate.activeAccount] sorted:nil ascending:NO];
+        
+        for (tableMetadata *metadata in allRecordFavorite)
+            if (![filesEtag containsObject:metadata.fileID])
+                [[NCManageDatabase sharedInstance] setMetadataFavoriteWithFileID:metadata.fileID favorite:NO];
+        
+        [[NSNotificationCenter defaultCenter] postNotificationOnMainThreadName:@"clearDateReadDataSource" object:nil];
     
-    NSLog(@"[LOG] Listing Favorites failure error %d, %@", (int)errorCode, message);
+    } else {
+        
+        NSLog(@"[LOG] Listing Favorites failure error %d, %@", (int)errorCode, message);
+    }
 }
 
 #pragma --------------------------------------------------------------------------------------------

+ 1 - 3
iOSClient/Networking/OCNetworking.h

@@ -97,9 +97,7 @@
 
 // Favorite
 - (void)settingFavoriteSuccessFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode;
-
-- (void)listingFavoritesSuccess:(CCMetadataNet *)metadataNet metadatas:(NSArray *)metadatas;
-- (void)listingFavoritesFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode;
+- (void)listingFavoritesSuccessFailure:(CCMetadataNet *)metadataNet metadatas:(NSArray *)metadatas message:(NSString *)message errorCode:(NSInteger)errorCode;
 
 // Subscribing Nextcloud Server
 - (void)subscribingNextcloudServerFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode;

+ 7 - 7
iOSClient/Networking/OCNetworking.m

@@ -559,8 +559,8 @@
         // Test active account
         tableAccount *recordAccount = [[NCManageDatabase sharedInstance] getAccountActive];
         if (![recordAccount.account isEqualToString:_metadataNet.account]) {
-            if ([self.delegate respondsToSelector:@selector(listingFavoritesFailure:message:errorCode:)])
-                [self.delegate listingFavoritesFailure:_metadataNet message:NSLocalizedStringFromTable(@"_error_user_not_available_", @"Error", nil) errorCode:k_CCErrorUserNotAvailble];
+            if ([self.delegate respondsToSelector:@selector(listingFavoritesSuccessFailure:metadatas:message:errorCode:)])
+                [self.delegate listingFavoritesSuccessFailure:_metadataNet metadatas:nil message:NSLocalizedStringFromTable(@"_error_user_not_available_", @"Error", nil) errorCode:k_CCErrorUserNotAvailble];
             
             [self complete];
             return;
@@ -629,8 +629,8 @@
             [metadatas addObject:[CCUtility trasformedOCFileToCCMetadata:itemDto fileName:itemDto.fileName serverUrl:serverUrl directoryID:directoryID autoUploadFileName:autoUploadFileName autoUploadDirectory:autoUploadDirectory activeAccount:_metadataNet.account directoryUser:directoryUser isFolderEncrypted:isFolderEncrypted]];
         }
         
-        if ([self.delegate respondsToSelector:@selector(listingFavoritesSuccess:metadatas:)])
-            [self.delegate listingFavoritesSuccess:_metadataNet metadatas:metadatas];
+        if ([self.delegate respondsToSelector:@selector(listingFavoritesSuccessFailure:metadatas:message:errorCode:)])
+            [self.delegate listingFavoritesSuccessFailure:_metadataNet metadatas:metadatas message:nil errorCode:0];
         
         [self complete];
         
@@ -641,12 +641,12 @@
             errorCode = error.code;
         
         // Error
-        if ([self.delegate respondsToSelector:@selector(listingFavoritesFailure:message:errorCode:)]) {
+        if ([self.delegate respondsToSelector:@selector(listingFavoritesSuccessFailure:metadatas:message:errorCode:)]) {
             
             if (errorCode == 503)
-                [self.delegate listingFavoritesFailure:_metadataNet message:NSLocalizedStringFromTable(@"_server_error_retry_", @"Error", nil) errorCode:errorCode];
+                [self.delegate listingFavoritesSuccessFailure:_metadataNet metadatas:nil message:NSLocalizedStringFromTable(@"_server_error_retry_", @"Error", nil) errorCode:errorCode];
             else
-                [self.delegate listingFavoritesFailure:_metadataNet message:[error.userInfo valueForKey:@"NSLocalizedDescription"] errorCode:errorCode];
+                [self.delegate listingFavoritesSuccessFailure:_metadataNet metadatas:nil message:[error.userInfo valueForKey:@"NSLocalizedDescription"] errorCode:errorCode];
         }
 
         // Request trusted certificated