Marino Faggiana 6 жил өмнө
parent
commit
7064350c89

+ 1 - 1
iOSClient/Activity/CCActivity.m

@@ -351,7 +351,7 @@
     tableActivity *activity = [_sectionDataSource objectAtIndex:indexPath.section];
     tableActivity *activity = [_sectionDataSource objectAtIndex:indexPath.section];
     tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", activity.fileID]];
     tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", activity.fileID]];
     
     
-    BOOL existsFile = [[NSFileManager defaultManager] fileExistsAtPath:[CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView]];
+    BOOL existsFile = [CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView];
     
     
     if (metadata && existsFile) {
     if (metadata && existsFile) {
         
         

+ 4 - 6
iOSClient/Favorites/CCFavorites.m

@@ -333,11 +333,9 @@
 
 
 - (void)openWith:(tableMetadata *)metadata
 - (void)openWith:(tableMetadata *)metadata
 {
 {
-    NSString *fileNamePath = [CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView];
-    
-    if ([[NSFileManager defaultManager] fileExistsAtPath:fileNamePath]) {
+    if ([CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView]) {
         
         
-        NSURL *url = [NSURL fileURLWithPath:fileNamePath];
+        NSURL *url = [NSURL fileURLWithPath:[CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView]];
         
         
         _docController = [UIDocumentInteractionController interactionControllerWithURL:url];
         _docController = [UIDocumentInteractionController interactionControllerWithURL:url];
         _docController.delegate = self;
         _docController.delegate = self;
@@ -647,7 +645,7 @@
         
         
         NSString *date = [CCUtility dateDiff:metadata.date];
         NSString *date = [CCUtility dateDiff:metadata.date];
         NSString *length = [CCUtility transformedSize:metadata.size];
         NSString *length = [CCUtility transformedSize:metadata.size];
-        BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:[CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView]];
+        BOOL fileExists = [CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView];
             
             
         if (fileExists)
         if (fileExists)
             cell.local.image = [UIImage imageNamed:@"local"];
             cell.local.image = [UIImage imageNamed:@"local"];
@@ -721,7 +719,7 @@
         NSString *serverUrl = [[NCManageDatabase sharedInstance] getServerUrl:_metadata.directoryID];
         NSString *serverUrl = [[NCManageDatabase sharedInstance] getServerUrl:_metadata.directoryID];
 
 
         if (serverUrl) {
         if (serverUrl) {
-            if ([[NSFileManager defaultManager] fileExistsAtPath:[CCUtility getDirectoryProviderStorageFileID:_metadata.fileID fileNameView:_metadata.fileNameView]]) {
+            if ([CCUtility fileProviderStorageExists:_metadata.fileID fileNameView:_metadata.fileNameView]) {
             
             
                 [self downloadFileSuccessFailure:_metadata.fileName fileID:_metadata.fileID serverUrl:serverUrl selector:selectorLoadFileView selectorPost:@"" errorMessage:@"" errorCode:0];
                 [self downloadFileSuccessFailure:_metadata.fileName fileID:_metadata.fileID serverUrl:serverUrl selector:selectorLoadFileView selectorPost:@"" errorMessage:@"" errorCode:0];
                             
                             

+ 7 - 8
iOSClient/Main/CCDetail.m

@@ -277,14 +277,13 @@
 - (void)viewDocument
 - (void)viewDocument
 {
 {
     CGFloat safeAreaBottom = 0;
     CGFloat safeAreaBottom = 0;
+    NSString *fileNamePath = [CCUtility getDirectoryProviderStorageFileID:self.metadataDetail.fileID fileNameView:self.metadataDetail.fileNameView];
     
     
     if (@available(iOS 11, *)) {
     if (@available(iOS 11, *)) {
         safeAreaBottom = [UIApplication sharedApplication].delegate.window.safeAreaInsets.bottom;
         safeAreaBottom = [UIApplication sharedApplication].delegate.window.safeAreaInsets.bottom;
     }
     }
     
     
-    NSString *fileNamePath = [CCUtility getDirectoryProviderStorageFileID:self.metadataDetail.fileID fileNameView:self.metadataDetail.fileNameView];
-    
-    if ([[NSFileManager defaultManager] fileExistsAtPath:fileNamePath] == NO) {
+    if ([CCUtility fileProviderStorageExists:self.metadataDetail.fileID fileNameView:self.metadataDetail.fileNameView] == NO) {
         
         
         [self backNavigationController];
         [self backNavigationController];
         return;
         return;
@@ -426,7 +425,7 @@
         
         
         tableMetadata *metadataDB = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", metadata.fileID]];
         tableMetadata *metadataDB = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", metadata.fileID]];
 
 
-        if ([[NSFileManager defaultManager] fileExistsAtPath:[CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView]] == NO && [metadataDB.session length] == 0)
+        if ([CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView] == NO && [metadataDB.session length] == 0)
             [self downloadPhotoBrowser:metadata];
             [self downloadPhotoBrowser:metadata];
     }
     }
     
     
@@ -473,7 +472,7 @@
             
             
             if ([metadata.typeFile isEqualToString: k_metadataTypeFile_video]) {
             if ([metadata.typeFile isEqualToString: k_metadataTypeFile_video]) {
                 
                 
-                if ([[NSFileManager defaultManager] fileExistsAtPath:[CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView]]) {
+                if ([CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView]) {
                     
                     
                     NSURL *url = [NSURL fileURLWithPath:[CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView]];
                     NSURL *url = [NSURL fileURLWithPath:[CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView]];
                     
                     
@@ -493,7 +492,7 @@
             
             
             if ([metadata.typeFile isEqualToString: k_metadataTypeFile_audio]) {
             if ([metadata.typeFile isEqualToString: k_metadataTypeFile_audio]) {
                 
                 
-                if ([[NSFileManager defaultManager] fileExistsAtPath:[CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView]]) {
+                if ([CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView]) {
                     
                     
                     MWPhoto *audio;
                     MWPhoto *audio;
                     UIImage *audioImage;
                     UIImage *audioImage;
@@ -567,7 +566,7 @@
 - (void)photoBrowser:(MWPhotoBrowser *)photoBrowser deleteButtonPressedForPhotoAtIndex:(NSUInteger)index deleteButton:(UIBarButtonItem *)deleteButton
 - (void)photoBrowser:(MWPhotoBrowser *)photoBrowser deleteButtonPressedForPhotoAtIndex:(NSUInteger)index deleteButton:(UIBarButtonItem *)deleteButton
 {
 {
     tableMetadata *metadata = [self.dataSourceImagesVideos objectAtIndex:index];
     tableMetadata *metadata = [self.dataSourceImagesVideos objectAtIndex:index];
-    if (metadata == nil || [[NSFileManager defaultManager] fileExistsAtPath:[CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView]] == NO) {
+    if (metadata == nil || [CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView] == NO) {
         
         
         [appDelegate messageNotification:@"_info_" description:@"_file_not_found_" visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeInfo errorCode:0];
         [appDelegate messageNotification:@"_info_" description:@"_file_not_found_" visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeInfo errorCode:0];
         
         
@@ -728,7 +727,7 @@
 {
 {
     NSString *fileNamePath = [CCUtility getDirectoryProviderStorageFileID:self.metadataDetail.fileID fileNameView:self.metadataDetail.fileNameView];
     NSString *fileNamePath = [CCUtility getDirectoryProviderStorageFileID:self.metadataDetail.fileID fileNameView:self.metadataDetail.fileNameView];
     
     
-    if ([[NSFileManager defaultManager] fileExistsAtPath:fileNamePath isDirectory:nil] == NO) {
+    if ([CCUtility fileProviderStorageExists:self.metadataDetail.fileID fileNameView:self.metadataDetail.fileNameView] == NO) {
         
         
         // read file error
         // read file error
         UIAlertController *alertController = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"_error_", nil) message:NSLocalizedString(@"_read_file_error_", nil) preferredStyle:UIAlertControllerStyleAlert];
         UIAlertController *alertController = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"_error_", nil) message:NSLocalizedString(@"_read_file_error_", nil) preferredStyle:UIAlertControllerStyleAlert];

+ 20 - 10
iOSClient/Main/CCMain.m

@@ -3402,8 +3402,12 @@
             NSString *fileID = [NSKeyedUnarchiver unarchiveObjectWithData:dataFileID];
             NSString *fileID = [NSKeyedUnarchiver unarchiveObjectWithData:dataFileID];
             
             
             if (fileID) {
             if (fileID) {
-                if ([[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithFormat:@"%@/%@", [CCUtility getDirectoryProviderStorage], fileID]])
-                    return YES;
+                tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", fileID]];
+                if (metadata) {
+                    return [CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView];
+                } else {
+                    return NO;
+                }
             }
             }
         }
         }
             
             
@@ -3427,8 +3431,14 @@
             NSString *fileID = [NSKeyedUnarchiver unarchiveObjectWithData:dataFileID];
             NSString *fileID = [NSKeyedUnarchiver unarchiveObjectWithData:dataFileID];
 
 
             if (fileID) {
             if (fileID) {
-                if ([[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithFormat:@"%@/%@", [CCUtility getDirectoryProviderStorage], fileID]]) {
-                    isValid = YES;
+                tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", fileID]];
+                if (metadata) {
+                    if ([CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView]) {
+                        isValid = YES;
+                    } else {
+                        isValid = NO;
+                        break;
+                    }
                 } else {
                 } else {
                     isValid = NO;
                     isValid = NO;
                     break;
                     break;
@@ -3453,7 +3463,7 @@
     UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
     UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
     pasteboard.items = [[NSArray alloc] init];
     pasteboard.items = [[NSArray alloc] init];
     
     
-    if ([[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithFormat:@"%@/%@", [CCUtility getDirectoryProviderStorageFileID:_metadata.fileID],_metadata.fileNameView]]) {
+    if ([CCUtility fileProviderStorageExists:_metadata.fileID fileNameView:_metadata.fileNameView]) {
         
         
         [self copyFileToPasteboard:_metadata];
         [self copyFileToPasteboard:_metadata];
         
         
@@ -3486,7 +3496,7 @@
     
     
     for (tableMetadata *metadata in selectedMetadatas) {
     for (tableMetadata *metadata in selectedMetadatas) {
         
         
-        if ([[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithFormat:@"%@/%@", [CCUtility getDirectoryProviderStorageFileID:_metadata.fileID],_metadata.fileNameView]]) {
+        if ([CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView]) {
             
             
             [self copyFileToPasteboard:metadata];
             [self copyFileToPasteboard:metadata];
             
             
@@ -3561,7 +3571,7 @@
         
         
         if (metadata) {
         if (metadata) {
             
             
-            if ([[NSFileManager defaultManager] fileExistsAtPath:[CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView]]) {
+            if ([CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView]) {
                 
                 
                 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, timer * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
                 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, timer * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
                         
                         
@@ -3798,7 +3808,7 @@
         [self performSelector:@selector(deleteFile) withObject:nil];
         [self performSelector:@selector(deleteFile) withObject:nil];
     }]];
     }]];
     
     
-    if (localFile || [[NSFileManager defaultManager] fileExistsAtPath:[CCUtility getDirectoryProviderStorageFileID:_metadata.fileID fileNameView:_metadata.fileNameView]]) {
+    if (localFile || [CCUtility fileProviderStorageExists:_metadata.fileID fileNameView:_metadata.fileNameView]) {
         [alertController addAction: [UIAlertAction actionWithTitle:NSLocalizedString(@"_remove_local_file_", nil) style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {
         [alertController addAction: [UIAlertAction actionWithTitle:NSLocalizedString(@"_remove_local_file_", nil) style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {
             [self performSelector:@selector(removeLocalFile:) withObject:_metadata];
             [self performSelector:@selector(removeLocalFile:) withObject:_metadata];
         }]];
         }]];
@@ -4645,7 +4655,7 @@
         [dateFormatter setDateStyle:NSDateFormatterShortStyle];
         [dateFormatter setDateStyle:NSDateFormatterShortStyle];
         [dateFormatter setTimeStyle:NSDateFormatterShortStyle];
         [dateFormatter setTimeStyle:NSDateFormatterShortStyle];
         
         
-        if (localFile && [[NSFileManager defaultManager] fileExistsAtPath:[CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView]])
+        if (localFile && [CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView])
             cell.local.image = [UIImage imageNamed:@"local"];
             cell.local.image = [UIImage imageNamed:@"local"];
         else
         else
             cell.local.image = nil;
             cell.local.image = nil;
@@ -5073,7 +5083,7 @@
     if (_metadata.directory == NO) {
     if (_metadata.directory == NO) {
         
         
         // se il file esiste andiamo direttamente al delegato altrimenti carichiamolo
         // se il file esiste andiamo direttamente al delegato altrimenti carichiamolo
-        if ([[NSFileManager defaultManager] fileExistsAtPath:[CCUtility getDirectoryProviderStorageFileID:_metadata.fileID fileNameView:_metadata.fileNameView]]) {
+        if ([CCUtility fileProviderStorageExists:_metadata.fileID fileNameView:_metadata.fileNameView]) {
             
             
             [self downloadFileSuccessFailure:_metadata.fileName fileID:_metadata.fileID serverUrl:serverUrl selector:selectorLoadFileView selectorPost:@"" errorMessage:@"" errorCode:0];
             [self downloadFileSuccessFailure:_metadata.fileName fileID:_metadata.fileID serverUrl:serverUrl selector:selectorLoadFileView selectorPost:@"" errorMessage:@"" errorCode:0];
             
             

+ 2 - 2
iOSClient/Networking/CCNetworking.m

@@ -501,7 +501,7 @@
     // File exists ?
     // File exists ?
     tableLocalFile *localfile = [[NCManageDatabase sharedInstance] getTableLocalFileWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", metadata.fileID]];
     tableLocalFile *localfile = [[NCManageDatabase sharedInstance] getTableLocalFileWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", metadata.fileID]];
         
         
-    if (localfile != nil && [[NSFileManager defaultManager] fileExistsAtPath:[CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView]]) {
+    if (localfile != nil && [CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView]) {
             
             
         [[NCManageDatabase sharedInstance] setMetadataSession:@"" sessionError:@"" sessionSelector:@"" sessionSelectorPost:@"" sessionTaskIdentifier:k_taskIdentifierDone status:k_metadataStatusNormal predicate:[NSPredicate predicateWithFormat:@"fileID == %@", metadata.fileID]];
         [[NCManageDatabase sharedInstance] setMetadataSession:@"" sessionError:@"" sessionSelector:@"" sessionSelectorPost:@"" sessionTaskIdentifier:k_taskIdentifierDone status:k_metadataStatusNormal predicate:[NSPredicate predicateWithFormat:@"fileID == %@", metadata.fileID]];
             
             
@@ -702,7 +702,7 @@
     
     
     NSString *serverUrl = [[NCManageDatabase sharedInstance] getServerUrl:metadata.directoryID];
     NSString *serverUrl = [[NCManageDatabase sharedInstance] getServerUrl:metadata.directoryID];
     
     
-    if (![[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithFormat:@"%@/%@", metadata.path, metadata.fileName]]) {
+    if ([CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView]) {
     
     
         PHFetchResult *result = [PHAsset fetchAssetsWithLocalIdentifiers:@[metadata.assetLocalIdentifier] options:nil];
         PHFetchResult *result = [PHAsset fetchAssetsWithLocalIdentifiers:@[metadata.assetLocalIdentifier] options:nil];
         
         

+ 1 - 1
iOSClient/Photos/CCPhotos.m

@@ -370,7 +370,7 @@
     
     
         NSString *fileNamePath = [CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView];
         NSString *fileNamePath = [CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView];
                 
                 
-        if ([[NSFileManager defaultManager] fileExistsAtPath:fileNamePath]) {
+        if ([CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView]) {
             
             
             if ([metadata.typeFile isEqualToString: k_metadataTypeFile_image]) {
             if ([metadata.typeFile isEqualToString: k_metadataTypeFile_image]) {
                 
                 

+ 1 - 1
iOSClient/Utility/CCExifGeo.m

@@ -54,7 +54,7 @@
     
     
     NSDate *date = [NSDate new];
     NSDate *date = [NSDate new];
     
     
-    if (![[NSFileManager defaultManager] fileExistsAtPath:[CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView]])
+    if (![CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView])
         return;
         return;
 
 
     NSURL *url = [NSURL fileURLWithPath:[CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView]];
     NSURL *url = [NSURL fileURLWithPath:[CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView]];

+ 1 - 1
iOSClient/Utility/CCGraphics.m

@@ -155,7 +155,7 @@
     NSString *ext = [extension lowercaseString];
     NSString *ext = [extension lowercaseString];
     NSString *fileNamePath = [CCUtility getDirectoryProviderStorageFileID:fileID fileNameView:fileNameView];
     NSString *fileNamePath = [CCUtility getDirectoryProviderStorageFileID:fileID fileNameView:fileNameView];
     
     
-    if (![[NSFileManager defaultManager] fileExistsAtPath:fileNamePath]) return nil;
+    if (![CCUtility fileProviderStorageExists:fileID fileNameView:fileNameView]) return nil;
     
     
     // only viedo / image
     // only viedo / image
     if (![typeFile isEqualToString: k_metadataTypeFile_image] && ![typeFile isEqualToString: k_metadataTypeFile_video]) return nil;
     if (![typeFile isEqualToString: k_metadataTypeFile_image] && ![typeFile isEqualToString: k_metadataTypeFile_video]) return nil;

+ 1 - 0
iOSClient/Utility/CCUtility.h

@@ -175,6 +175,7 @@
 + (NSString *)getDirectoryProviderStorageFileID:(NSString *)fileID;
 + (NSString *)getDirectoryProviderStorageFileID:(NSString *)fileID;
 + (NSString *)getDirectoryProviderStorageFileID:(NSString *)fileID fileNameView:(NSString *)fileNameView;
 + (NSString *)getDirectoryProviderStorageFileID:(NSString *)fileID fileNameView:(NSString *)fileNameView;
 + (NSString *)getDirectoryProviderStorageIconFileID:(NSString *)fileID fileNameView:(NSString *)fileNameView;
 + (NSString *)getDirectoryProviderStorageIconFileID:(NSString *)fileID fileNameView:(NSString *)fileNameView;
++ (BOOL)fileProviderStorageExists:(NSString *)fileID fileNameView:(NSString *)fileNameView;
 
 
 + (NSString *)getTitleSectionDate:(NSDate *)date;
 + (NSString *)getTitleSectionDate:(NSDate *)date;
 
 

+ 10 - 0
iOSClient/Utility/CCUtility.m

@@ -850,6 +850,16 @@
     return [NSString stringWithFormat:@"%@/%@/%@", [self getDirectoryProviderStorage], fileID, fileNameView];
     return [NSString stringWithFormat:@"%@/%@/%@", [self getDirectoryProviderStorage], fileID, fileNameView];
 }
 }
 
 
++ (BOOL)fileProviderStorageExists:(NSString *)fileID fileNameView:(NSString *)fileNameView
+{
+    NSString *fileNamePath = [self getDirectoryProviderStorageFileID:fileID fileNameView:fileNameView];
+    
+    unsigned long long fileSize = [[[NSFileManager defaultManager] attributesOfItemAtPath:fileNamePath error:nil] fileSize];
+    
+    if (fileSize > 0) return true;
+    else return false;
+}
+
 + (NSString *)getTitleSectionDate:(NSDate *)date
 + (NSString *)getTitleSectionDate:(NSDate *)date
 {
 {
     NSString * title;
     NSString * title;