|
@@ -86,9 +86,9 @@
|
|
|
metadataNet.priority = NSOperationQueuePriorityNormal;
|
|
|
|
|
|
if ([CCUtility getFavoriteOffline])
|
|
|
- selector = selectorReadFolder;
|
|
|
+ selector = selectorReadFolderWithDownload;
|
|
|
else
|
|
|
- selector = selectorReadFolderRefresh;
|
|
|
+ selector = selectorReadFolder;
|
|
|
|
|
|
metadataNet.selector = selector;
|
|
|
metadataNet.serverUrl = serverUrl;
|
|
@@ -139,15 +139,18 @@
|
|
|
NSString *selector;
|
|
|
|
|
|
if ([CCUtility getFavoriteOffline])
|
|
|
- selector = selectorReadFolder;
|
|
|
+ selector = selectorReadFolderWithDownload;
|
|
|
else
|
|
|
- selector = selectorReadFolderRefresh;
|
|
|
+ selector = selectorReadFolder;
|
|
|
|
|
|
[self readFolderServerUrl:serverUrl directoryID:directoryID selector:selector];
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- [self readFile:metadata];
|
|
|
+ if ([CCUtility getFavoriteOffline])
|
|
|
+ [self readFile:metadata withDownload:YES];
|
|
|
+ else
|
|
|
+ [self readFile:metadata withDownload:NO];
|
|
|
}
|
|
|
|
|
|
father = serverUrl;
|
|
@@ -200,7 +203,7 @@
|
|
|
|
|
|
for (CCMetadata *metadata in metadatas) {
|
|
|
|
|
|
- [self readFile:metadata];
|
|
|
+ [self readFile:metadata withDownload:YES];
|
|
|
}
|
|
|
});
|
|
|
}
|
|
@@ -343,7 +346,7 @@
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- if ([metadataNet.selector isEqualToString:selectorReadFolder]) {
|
|
|
+ if ([metadataNet.selector isEqualToString:selectorReadFolderWithDownload]) {
|
|
|
|
|
|
// It's in session
|
|
|
BOOL recordInSession = NO;
|
|
@@ -361,7 +364,7 @@
|
|
|
[metadatasForVerifyChange addObject:metadata];
|
|
|
}
|
|
|
|
|
|
- if ([metadataNet.selector isEqualToString:selectorReadFolderRefresh]) {
|
|
|
+ if ([metadataNet.selector isEqualToString:selectorReadFolder]) {
|
|
|
|
|
|
// Verify if do not exists this Metadata
|
|
|
if (![CCCoreData getTableMetadataWithPreficate:[NSPredicate predicateWithFormat:@"(account == %@) AND (fileID == %@)", metadataNet.account, metadata.fileID]]) {
|
|
@@ -375,7 +378,7 @@
|
|
|
}
|
|
|
|
|
|
if ([metadatasForVerifyChange count] > 0)
|
|
|
- [self verifyChangeMedatas:metadatasForVerifyChange serverUrl:metadataNet.serverUrl account:metadataNet.account synchronize:YES];
|
|
|
+ [self verifyChangeMedatas:metadatasForVerifyChange serverUrl:metadataNet.serverUrl account:metadataNet.account withDownload:YES];
|
|
|
});
|
|
|
}
|
|
|
|
|
@@ -383,7 +386,7 @@
|
|
|
#pragma mark ===== Read File =====
|
|
|
#pragma --------------------------------------------------------------------------------------------
|
|
|
|
|
|
-- (void)readFile:(CCMetadata *)metadata
|
|
|
+- (void)readFile:(CCMetadata *)metadata withDownload:(BOOL)withDownload
|
|
|
{
|
|
|
NSString *serverUrl = [CCCoreData getServerUrlFromDirectoryID:metadata.directoryID activeAccount:app.activeAccount];
|
|
|
if (serverUrl == nil) return;
|
|
@@ -394,10 +397,11 @@
|
|
|
metadataNet.fileID = metadata.fileID;
|
|
|
metadataNet.fileName = metadata.fileName;
|
|
|
metadataNet.fileNamePrint = metadata.fileNamePrint;
|
|
|
- metadataNet.serverUrl = serverUrl;
|
|
|
- metadataNet.selector = selectorReadFileOffline;
|
|
|
+ metadataNet.options = [NSNumber numberWithBool:withDownload] ;
|
|
|
metadataNet.priority = NSOperationQueuePriorityLow;
|
|
|
-
|
|
|
+ metadataNet.selector = selectorReadFile;
|
|
|
+ metadataNet.serverUrl = serverUrl;
|
|
|
+
|
|
|
[app addNetworkingOperationQueue:app.netQueue delegate:self metadataNet:metadataNet];
|
|
|
}
|
|
|
|
|
@@ -417,7 +421,9 @@
|
|
|
{
|
|
|
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
|
|
|
|
|
|
- [self verifyChangeMedatas:[[NSArray alloc] initWithObjects:metadata, nil] serverUrl:metadataNet.serverUrl account:app.activeAccount synchronize:NO];
|
|
|
+ BOOL withDownload = [metadataNet.options boolValue];
|
|
|
+
|
|
|
+ [self verifyChangeMedatas:[[NSArray alloc] initWithObjects:metadata, nil] serverUrl:metadataNet.serverUrl account:app.activeAccount withDownload:withDownload];
|
|
|
});
|
|
|
}
|
|
|
|
|
@@ -426,7 +432,7 @@
|
|
|
#pragma --------------------------------------------------------------------------------------------
|
|
|
|
|
|
// MULTI THREAD
|
|
|
-- (void)verifyChangeMedatas:(NSArray *)allRecordMetadatas serverUrl:(NSString *)serverUrl account:(NSString *)account synchronize:(BOOL)synchronize
|
|
|
+- (void)verifyChangeMedatas:(NSArray *)allRecordMetadatas serverUrl:(NSString *)serverUrl account:(NSString *)account withDownload:(BOOL)withDownload
|
|
|
{
|
|
|
NSMutableArray *metadatas = [[NSMutableArray alloc] init];
|
|
|
|
|
@@ -444,7 +450,7 @@
|
|
|
|
|
|
TableLocalFile *record = [TableLocalFile MR_findFirstWithPredicate:[NSPredicate predicateWithFormat:@"(account == %@) AND (fileID == %@)", app.activeAccount, metadata.fileID]];
|
|
|
|
|
|
- if (synchronize) {
|
|
|
+ if (withDownload) {
|
|
|
|
|
|
if (![record.rev isEqualToString:metadata.rev])
|
|
|
changeRev = YES;
|
|
@@ -476,15 +482,15 @@
|
|
|
|
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
|
if ([metadatas count])
|
|
|
- [self SynchronizeMetadatas:metadatas serverUrl:serverUrl synchronize:synchronize];
|
|
|
+ [self SynchronizeMetadatas:metadatas serverUrl:serverUrl withDownload:withDownload];
|
|
|
});
|
|
|
}
|
|
|
|
|
|
// MAIN THREAD
|
|
|
-- (void)SynchronizeMetadatas:(NSArray *)metadatas serverUrl:(NSString *)serverUrl synchronize:(BOOL)synchronize
|
|
|
+- (void)SynchronizeMetadatas:(NSArray *)metadatas serverUrl:(NSString *)serverUrl withDownload:(BOOL)withDownload
|
|
|
{
|
|
|
// HUD
|
|
|
- if ([metadatas count] > 50 && synchronize) {
|
|
|
+ if ([metadatas count] > 50 && withDownload) {
|
|
|
if (!_hud) _hud = [[CCHud alloc] initWithView:[[[UIApplication sharedApplication] delegate] window]];
|
|
|
[_hud visibleIndeterminateHud];
|
|
|
}
|