Browse Source

remake protocol getCapabilitiesOfServerSuccessFailure

Marino Faggiana 7 years ago
parent
commit
e952666b0a
3 changed files with 74 additions and 78 deletions
  1. 66 69
      iOSClient/Main/CCMain.m
  2. 1 2
      iOSClient/Networking/OCNetworking.h
  3. 7 7
      iOSClient/Networking/OCNetworking.m

+ 66 - 69
iOSClient/Main/CCMain.m

@@ -1160,98 +1160,95 @@
     });
 }
 
-
 #pragma --------------------------------------------------------------------------------------------
 #pragma mark ==== Capabilities  ====
 #pragma --------------------------------------------------------------------------------------------
 
-- (void)getCapabilitiesOfServerFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
+- (void)getCapabilitiesOfServerSuccessFailure:(CCMetadataNet *)metadataNet capabilities:(OCCapabilities *)capabilities message:(NSString *)message errorCode:(NSInteger)errorCode
 {
     // Check Active Account
     if (![metadataNet.account isEqualToString:appDelegate.activeAccount])
         return;
     
-    // Unauthorized
-    if (errorCode == kOCErrorServerUnauthorized)
-        [appDelegate openLoginView:self loginType:loginModifyPasswordUser];
-
-    NSString *error = [NSString stringWithFormat:@"Get Capabilities failure error %d, %@", (int)errorCode, message];
-    NSLog(@"[LOG] %@", error);
-    
-    [[NCManageDatabase sharedInstance] addActivityClient:@"" fileID:@"" action:k_activityDebugActionCapabilities selector:@"Get Capabilities of Server" note:error type:k_activityTypeFailure verbose:k_activityVerboseHigh activeUrl:appDelegate.activeUrl];
-    
-    // Change Theming color
-    [appDelegate settingThemingColorBrand];
-}
-
-- (void)getCapabilitiesOfServerSuccess:(CCMetadataNet *)metadataNet capabilities:(OCCapabilities *)capabilities
-{
-    // Check Active Account
-    if (![metadataNet.account isEqualToString:appDelegate.activeAccount])
-        return;
+    if (errorCode == 0) {
     
-    // Update capabilities db
-    [[NCManageDatabase sharedInstance] addCapabilities:capabilities];
+        // Update capabilities db
+        [[NCManageDatabase sharedInstance] addCapabilities:capabilities];
     
-    // ------ THEMING -----------------------------------------------------------------------
+        // ------ THEMING -----------------------------------------------------------------------
     
-    // Download Theming Background & Change Theming color
-    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
+        // Download Theming Background & Change Theming color
+        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
         
-        if ([NCBrandOptions sharedInstance].use_themingBackground == YES) {
+            if ([NCBrandOptions sharedInstance].use_themingBackground == YES) {
         
-            //UIImage *themingBackground = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[capabilities.themingBackground stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]]]; DEPRECATED iOS9
-            UIImage *themingBackground = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[capabilities.themingBackground stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]]]]];
-            if (themingBackground) {
-                 dispatch_async(dispatch_get_main_queue(), ^{
-                     [UIImagePNGRepresentation(themingBackground) writeToFile:[NSString stringWithFormat:@"%@/themingBackground.png", appDelegate.directoryUser] atomically:YES];
-                 });
-            } else {
-                [[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@/themingBackground.png", appDelegate.directoryUser] error:nil];
+                //UIImage *themingBackground = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[capabilities.themingBackground stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]]]; DEPRECATED iOS9
+                UIImage *themingBackground = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[capabilities.themingBackground stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]]]]];
+                if (themingBackground) {
+                    dispatch_async(dispatch_get_main_queue(), ^{
+                        [UIImagePNGRepresentation(themingBackground) writeToFile:[NSString stringWithFormat:@"%@/themingBackground.png", appDelegate.directoryUser] atomically:YES];
+                    });
+                } else {
+                    [[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@/themingBackground.png", appDelegate.directoryUser] error:nil];
+                }
             }
-        }
         
-        dispatch_async(dispatch_get_main_queue(), ^{
-            [appDelegate settingThemingColorBrand];
+            dispatch_async(dispatch_get_main_queue(), ^{
+                [appDelegate settingThemingColorBrand];
+            });
         });
-    });
 
-    // ------ SEARCH  -----------------------------------------------------------------------
-    
-    // Search bar if change version
-    if ([[NCManageDatabase sharedInstance] getServerVersion] != capabilities.versionMajor) {
-    
-        [self cancelSearchBar];
-    }
-    
-    // ------ GET SERVICE SERVER ------------------------------------------------------------
-    
-    // Read User Profile
-    metadataNet.action = actionGetUserProfile;
-    [appDelegate addNetworkingOperationQueue:appDelegate.netQueue delegate:self metadataNet:metadataNet];
-    
-    // Read External Sites
-    if (capabilities.isExternalSitesServerEnabled) {
+        // ------ SEARCH  -----------------------------------------------------------------------
+        
+        // Search bar if change version
+        if ([[NCManageDatabase sharedInstance] getServerVersion] != capabilities.versionMajor) {
+        
+            [self cancelSearchBar];
+        }
+        
+        // ------ GET SERVICE SERVER ------------------------------------------------------------
         
-        metadataNet.action = actionGetExternalSitesServer;
+        // Read User Profile
+        metadataNet.action = actionGetUserProfile;
         [appDelegate addNetworkingOperationQueue:appDelegate.netQueue delegate:self metadataNet:metadataNet];
-    }
-    
-    // Read Share
-    if (capabilities.isFilesSharingAPIEnabled) {
         
-        [appDelegate.sharesID removeAllObjects];
-        metadataNet.action = actionReadShareServer;
+        // Read External Sites
+        if (capabilities.isExternalSitesServerEnabled) {
+            
+            metadataNet.action = actionGetExternalSitesServer;
+            [appDelegate addNetworkingOperationQueue:appDelegate.netQueue delegate:self metadataNet:metadataNet];
+        }
+        
+        // Read Share
+        if (capabilities.isFilesSharingAPIEnabled) {
+            
+            [appDelegate.sharesID removeAllObjects];
+            metadataNet.action = actionReadShareServer;
+            [appDelegate addNetworkingOperationQueue:appDelegate.netQueue delegate:self metadataNet:metadataNet];
+        }
+        
+        // Read Notification
+        metadataNet.action = actionGetNotificationServer;
+        [appDelegate addNetworkingOperationQueue:appDelegate.netQueue delegate:self metadataNet:metadataNet];
+        
+        // Read Activity
+        metadataNet.action = actionGetActivityServer;
         [appDelegate addNetworkingOperationQueue:appDelegate.netQueue delegate:self metadataNet:metadataNet];
+        
+    } else {
+      
+        // Unauthorized
+        if (errorCode == kOCErrorServerUnauthorized)
+            [appDelegate openLoginView:self loginType:loginModifyPasswordUser];
+        
+        NSString *error = [NSString stringWithFormat:@"Get Capabilities failure error %d, %@", (int)errorCode, message];
+        NSLog(@"[LOG] %@", error);
+        
+        [[NCManageDatabase sharedInstance] addActivityClient:@"" fileID:@"" action:k_activityDebugActionCapabilities selector:@"Get Capabilities of Server" note:error type:k_activityTypeFailure verbose:k_activityVerboseHigh activeUrl:appDelegate.activeUrl];
+        
+        // Change Theming color
+        [appDelegate settingThemingColorBrand];
     }
-    
-    // Read Notification
-    metadataNet.action = actionGetNotificationServer;
-    [appDelegate addNetworkingOperationQueue:appDelegate.netQueue delegate:self metadataNet:metadataNet];
-    
-    // Read Activity
-    metadataNet.action = actionGetActivityServer;
-    [appDelegate addNetworkingOperationQueue:appDelegate.netQueue delegate:self metadataNet:metadataNet];
 }
 
 #pragma mark -

+ 1 - 2
iOSClient/Networking/OCNetworking.h

@@ -77,8 +77,7 @@
 - (void)getSharePermissionsFileFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode;
 
 // Capabilities
-- (void)getCapabilitiesOfServerSuccess:(CCMetadataNet *)metadataNet capabilities:(OCCapabilities *)capabilities;
-- (void)getCapabilitiesOfServerFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode;
+- (void)getCapabilitiesOfServerSuccessFailure:(CCMetadataNet *)metadataNet capabilities:(OCCapabilities *)capabilities message:(NSString *)message errorCode:(NSInteger)errorCode;
 
 // Activity
 - (void)getActivityServerSuccess:(CCMetadataNet *)metadataNet listOfActivity:(NSArray *)listOfActivity;

+ 7 - 7
iOSClient/Networking/OCNetworking.m

@@ -1662,15 +1662,15 @@
         // Test active account
         tableAccount *recordAccount = [[NCManageDatabase sharedInstance] getAccountActive];
         if (![recordAccount.account isEqualToString:_metadataNet.account]) {
-            if ([self.delegate respondsToSelector:@selector(getCapabilitiesOfServerFailure:message:errorCode:)])
-                [self.delegate getCapabilitiesOfServerFailure:_metadataNet message:NSLocalizedStringFromTable(@"_error_user_not_available_", @"Error", nil) errorCode:k_CCErrorUserNotAvailble];
+            if ([self.delegate respondsToSelector:@selector(getCapabilitiesOfServerSuccessFailure:capabilities:message:errorCode:)])
+                [self.delegate getCapabilitiesOfServerSuccessFailure:_metadataNet capabilities:nil message:NSLocalizedStringFromTable(@"_error_user_not_available_", @"Error", nil) errorCode:k_CCErrorUserNotAvailble];
             
             [self complete];
             return;
         }
         
-        if ([self.delegate respondsToSelector:@selector(getCapabilitiesOfServerSuccess:capabilities:)])
-            [self.delegate getCapabilitiesOfServerSuccess:_metadataNet capabilities:capabilities];
+        if ([self.delegate respondsToSelector:@selector(getCapabilitiesOfServerSuccessFailure:capabilities:message:errorCode:)])
+            [self.delegate getCapabilitiesOfServerSuccessFailure:_metadataNet capabilities:capabilities message:nil errorCode:0];
         
         [self complete];
         
@@ -1681,12 +1681,12 @@
             errorCode = error.code;
 
         // Error
-        if ([self.delegate respondsToSelector:@selector(getCapabilitiesOfServerFailure:message:errorCode:)]) {
+        if ([self.delegate respondsToSelector:@selector(getCapabilitiesOfServerSuccessFailure:capabilities:message:errorCode:)]) {
 
             if (errorCode == 503)
-                [self.delegate getCapabilitiesOfServerFailure:_metadataNet message:NSLocalizedStringFromTable(@"_server_error_retry_", @"Error", nil) errorCode:errorCode];
+                [self.delegate getCapabilitiesOfServerSuccessFailure:_metadataNet capabilities:nil message:NSLocalizedStringFromTable(@"_server_error_retry_", @"Error", nil) errorCode:errorCode];
             else
-                [self.delegate getCapabilitiesOfServerFailure:_metadataNet message:[error.userInfo valueForKey:@"NSLocalizedDescription"] errorCode:errorCode];
+                [self.delegate getCapabilitiesOfServerSuccessFailure:_metadataNet capabilities:nil message:[error.userInfo valueForKey:@"NSLocalizedDescription"] errorCode:errorCode];
         }
 
         // Request trusted certificated