Browse Source

improved code

Marino Faggiana 6 years ago
parent
commit
230d5945d1

+ 5 - 0
iOSClient/Main/CCDetail.m

@@ -134,6 +134,11 @@
             [[NCViewerMedia sharedInstance] removeObserver];
         }@catch(id anException) { }
     }
+    
+    // document ? cancel preview
+    if ([self.metadataDetail.typeFile isEqualToString:k_metadataTypeFile_document]) {
+        [[NSFileManager defaultManager] removeItemAtPath:[CCUtility getDirectoryProviderStorageIconFileID:self.metadataDetail.fileID fileNameView:self.metadataDetail.fileNameView] error:nil];
+    }
 }
 
 - (void)changeTheming

+ 4 - 4
iOSClient/Main/NCMainCommon.swift

@@ -202,7 +202,7 @@ class NCMainCommon: NSObject {
         }
         
         // Download preview
-        NCNetworkingMain.sharedInstance.downloadThumbnail(with: metadata, serverUrl: serverUrl, view: collectionView, indexPath: indexPath)
+        NCNetworkingMain.sharedInstance.downloadThumbnail(with: metadata, serverUrl: serverUrl, view: collectionView, indexPath: indexPath, forceDownload: false)
         
         // Share
         let sharesLink = appDelegate.sharesLink.object(forKey: serverUrl + metadata.fileName)
@@ -437,7 +437,7 @@ class NCMainCommon: NSObject {
         }
         
         // Download preview
-        NCNetworkingMain.sharedInstance.downloadThumbnail(with: metadata, serverUrl: serverUrl, view: tableView, indexPath: indexPath)
+        NCNetworkingMain.sharedInstance.downloadThumbnail(with: metadata, serverUrl: serverUrl, view: tableView, indexPath: indexPath, forceDownload: false)
         
         // CCCell
         if metadata.status == k_metadataStatusNormal {
@@ -1130,9 +1130,9 @@ class NCNetworkingMain: NSObject, CCNetworkingDelegate {
         }
     }
     
-    @objc func downloadThumbnail(with metadata: tableMetadata, serverUrl: String, view: Any, indexPath: IndexPath) {
+    @objc func downloadThumbnail(with metadata: tableMetadata, serverUrl: String, view: Any, indexPath: IndexPath, forceDownload: Bool) {
         
-        if metadata.hasPreview == 1 && !CCUtility.fileProviderStorageIconExists(metadata.fileID, fileNameView: metadata.fileName) {
+        if metadata.hasPreview == 1 && (!CCUtility.fileProviderStorageIconExists(metadata.fileID, fileNameView: metadata.fileName) || forceDownload) {
             let width = NCUtility.sharedInstance.getScreenWidthForPreview()
             let height = NCUtility.sharedInstance.getScreenHeightForPreview()
             

+ 18 - 25
iOSClient/Networking/OCNetworking.m

@@ -483,40 +483,33 @@
 {
     NSString *file = [NSString stringWithFormat:@"%@/%@.ico", [CCUtility getDirectoryProviderStorageFileID:metadata.fileID], metadata.fileNameView];
     
-    if ([[NSFileManager defaultManager] fileExistsAtPath:file]) {
-    
-        completion(nil, 0);
-    
-    } else {
-    
-        OCCommunication *communication = [CCNetworking sharedNetworking].sharedOCCommunication;
+    OCCommunication *communication = [CCNetworking sharedNetworking].sharedOCCommunication;
 
-        [communication setCredentialsWithUser:_activeUser andUserID:_activeUserID andPassword:_activePassword];
-        [communication setUserAgent:[CCUtility getUserAgent]];
+    [communication setCredentialsWithUser:_activeUser andUserID:_activeUserID andPassword:_activePassword];
+    [communication setUserAgent:[CCUtility getUserAgent]];
         
-        [communication getRemotePreviewByServer:_activeUrl ofFilePath:[CCUtility returnFileNamePathFromFileName:metadata.fileName serverUrl:serverUrl activeUrl:_activeUrl] withWidth:width andHeight:height andA:1 andMode:@"cover" onCommunication:communication successRequest:^(NSHTTPURLResponse *response, NSData *preview, NSString *redirectedServer) {
+    [communication getRemotePreviewByServer:_activeUrl ofFilePath:[CCUtility returnFileNamePathFromFileName:metadata.fileName serverUrl:serverUrl activeUrl:_activeUrl] withWidth:width andHeight:height andA:1 andMode:@"cover" onCommunication:communication successRequest:^(NSHTTPURLResponse *response, NSData *preview, NSString *redirectedServer) {
 
-            [preview writeToFile:file atomically:YES];
+        [preview writeToFile:file atomically:YES];
             
-            completion(nil, 0);
+        completion(nil, 0);
             
-        } failureRequest:^(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer) {
+    } failureRequest:^(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer) {
             
-            NSString *message;
+        NSString *message;
             
-            NSInteger errorCode = response.statusCode;
-            if (errorCode == 0 || (errorCode >= 200 && errorCode < 300))
-                errorCode = error.code;
+        NSInteger errorCode = response.statusCode;
+        if (errorCode == 0 || (errorCode >= 200 && errorCode < 300))
+            errorCode = error.code;
             
-            // Error
-            if (errorCode == 503)
-                message = NSLocalizedString(@"_server_error_retry_", nil);
-            else
-                message = [error.userInfo valueForKey:@"NSLocalizedDescription"];
+        // Error
+        if (errorCode == 503)
+            message = NSLocalizedString(@"_server_error_retry_", nil);
+        else
+            message = [error.userInfo valueForKey:@"NSLocalizedDescription"];
             
-            completion(message, errorCode);
-        }];
-    }
+        completion(message, errorCode);
+    }];
 }
 
 #pragma --------------------------------------------------------------------------------------------

+ 3 - 3
iOSClient/Shares/NCShares.m

@@ -312,10 +312,10 @@
 
             if (cell.fileImageView.image == nil) {
                 
-                if (metadata.hasPreview == 1 && ![CCUtility fileProviderStorageIconExists:metadata.fileID fileNameView:metadata.fileNameView]) {
-                    [[NCNetworkingMain sharedInstance] downloadThumbnailWith:tableView serverUrl:table.serverUrl view:tableView indexPath:indexPath];
-                } else {
+                if ([CCUtility fileProviderStorageIconExists:metadata.fileID fileNameView:metadata.fileNameView]) {
                     cell.fileImageView.image = [UIImage imageNamed:metadata.iconName];
+                } else {
+                    [[NCNetworkingMain sharedInstance] downloadThumbnailWith:tableView serverUrl:table.serverUrl view:tableView indexPath:indexPath forceDownload:false];
                 }
             }
         }

+ 1 - 1
iOSClient/Transfers/CCTransfers.m

@@ -447,7 +447,7 @@
     tableMetadata *metadataFolder = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", directory.fileID]];
     
     // Download thumbnail
-    [[NCNetworkingMain sharedInstance] downloadThumbnailWith:metadata serverUrl:serverUrl view:tableView indexPath:indexPath];
+    [[NCNetworkingMain sharedInstance] downloadThumbnailWith:metadata serverUrl:serverUrl view:tableView indexPath:indexPath forceDownload:false];
     
     UITableViewCell *cell = [[NCMainCommon sharedInstance] cellForRowAtIndexPath:indexPath tableView:tableView metadata:metadata metadataFolder:metadataFolder serverUrl:serverUrl autoUploadFileName:@"" autoUploadDirectory:@""];