Marino Faggiana 8 жил өмнө
parent
commit
eca60dd5b3

+ 1 - 1
Libraries external/OCCommunicationLib/OCCommunicationLib/OCCommunication.h

@@ -839,7 +839,7 @@ typedef enum {
  *
  */
 
-- (void) getActivityServer:(NSString*)serverPath onCommunication:(OCCommunication *)sharedOCComunication successRequest:(void(^)(NSHTTPURLResponse *response, NSArray *listOfActivity, NSString *redirectedServer)) successRequest failureRequest:(void(^)(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer)) failureRequest;
+- (void) getActivityServer:(NSString*)serverPath start:(NSString *)start onCommunication:(OCCommunication *)sharedOCComunication successRequest:(void(^)(NSHTTPURLResponse *response, NSArray *listOfActivity, NSString *redirectedServer)) successRequest failureRequest:(void(^)(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer)) failureRequest;
 
 #pragma mark -  User Profile
 

+ 2 - 2
Libraries external/OCCommunicationLib/OCCommunicationLib/OCCommunication.m

@@ -1507,7 +1507,7 @@
 
 #pragma mark - Activity
 
-- (void) getActivityServer:(NSString*)serverPath onCommunication:(OCCommunication *)sharedOCComunication successRequest:(void(^)(NSHTTPURLResponse *response, NSArray *listOfActivity, NSString *redirectedServer)) successRequest failureRequest:(void(^)(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer)) failureRequest {
+- (void) getActivityServer:(NSString*)serverPath start:(NSString *)start onCommunication:(OCCommunication *)sharedOCComunication successRequest:(void(^)(NSHTTPURLResponse *response, NSArray *listOfActivity, NSString *redirectedServer)) successRequest failureRequest:(void(^)(NSHTTPURLResponse *response, NSError *error, NSString *redirectedServer)) failureRequest {
 
     serverPath = [serverPath encodeString:NSUTF8StringEncoding];
     serverPath = [serverPath stringByAppendingString:k_url_acces_remote_activity_api];
@@ -1515,7 +1515,7 @@
     OCWebDAVClient *request = [OCWebDAVClient new];
     request = [self getRequestWithCredentials:request];
     
-    [request getActivityServer:serverPath onCommunication:sharedOCComunication success:^(NSHTTPURLResponse *response, id responseObject) {
+    [request getActivityServer:serverPath start:start onCommunication:sharedOCComunication success:^(NSHTTPURLResponse *response, id responseObject) {
         
         NSData *responseData = (NSData*) responseObject;
         

+ 1 - 1
Libraries external/OCCommunicationLib/OCCommunicationLib/OCWebDavClient/OCWebDAVClient.h

@@ -538,7 +538,7 @@ extern NSString * _Nullable OCWebDAVModificationDateKey;
  *
  */
 
-- (void) getActivityServer:(NSString * _Nonnull)serverPath onCommunication:(OCCommunication * _Nonnull)sharedOCComunication success:(void(^ _Nonnull)(NSHTTPURLResponse * _Nonnull operation, id _Nonnull response))success failure:(void(^ _Nonnull)(NSHTTPURLResponse * _Nonnull operation, id  _Nullable responseObject, NSError * _Nonnull error))failure;
+- (void) getActivityServer:(NSString * _Nonnull)serverPath start:(NSString * _Nonnull)start onCommunication:(OCCommunication * _Nonnull)sharedOCComunication success:(void(^ _Nonnull)(NSHTTPURLResponse * _Nonnull operation, id _Nonnull response))success failure:(void(^ _Nonnull)(NSHTTPURLResponse * _Nonnull operation, id  _Nullable responseObject, NSError * _Nonnull error))failure;
 
 ///-----------------------------------
 /// @name Get User Profile

+ 4 - 1
Libraries external/OCCommunicationLib/OCCommunicationLib/OCWebDavClient/OCWebDAVClient.m

@@ -737,13 +737,16 @@ NSString const *OCWebDAVModificationDateKey	= @"modificationdate";
 
 #pragma mark - Get Activity
 
-- (void) getActivityServer:(NSString*)serverPath onCommunication:(OCCommunication *)sharedOCCommunication success:(void(^)(NSHTTPURLResponse *operation, id response))success
+- (void) getActivityServer:(NSString*)serverPath start:(NSString *)start onCommunication:(OCCommunication *)sharedOCCommunication success:(void(^)(NSHTTPURLResponse *operation, id response))success
                        failure:(void(^)(NSHTTPURLResponse *operation, id  _Nullable responseObject, NSError *error))failure{
     
     _requestMethod = @"GET";
     
     NSString *jsonQuery = [NSString stringWithFormat:@"?format=json"];
+    NSString *startParamater = [NSString stringWithFormat:@"&start=%@", start];
+
     serverPath = [serverPath stringByAppendingString:jsonQuery];
+    serverPath = [serverPath stringByAppendingString:startParamater];
     
     NSMutableURLRequest *request = [self sharedRequestWithMethod:_requestMethod path:serverPath parameters:nil];
     

+ 14 - 17
iOSClient/FileSystem/CCCoreData.m

@@ -1826,21 +1826,20 @@
 
 + (void)addActivity:(OCActivity *)activity account:(NSString *)account
 {
-    NSManagedObjectContext *context = [NSManagedObjectContext MR_defaultContext];
-    
-    TableActivity *record = [TableActivity MR_createEntityInContext:context];
-    
-    [TableActivity MR_deleteAllMatchingPredicate:[NSPredicate predicateWithFormat:@"(account == %@) AND (idActivity == %d)", account, activity.idActivity] inContext:context];
-    [context MR_saveToPersistentStoreAndWait];
-    
-    record.account = account;
-    record.date = activity.date;
-    record.file = activity.file;
-    record.link = activity.link;
-    record.message = activity.message;
-    record.subject = activity.subject;
-    
-    [context MR_saveToPersistentStoreAndWait];
+    [MagicalRecord saveWithBlockAndWait:^(NSManagedObjectContext *localContext) {
+        
+        [TableActivity MR_deleteAllMatchingPredicate:[NSPredicate predicateWithFormat:@"(account == %@) AND (idActivity == %d)", account, activity.idActivity] inContext:localContext];
+        
+        TableActivity *record = [TableActivity MR_createEntityInContext:localContext];
+
+        record.account = account;
+        record.idActivity = [NSNumber numberWithInteger:activity.idActivity];
+        record.date = activity.date;
+        record.file = activity.file;
+        record.link = activity.link;
+        record.message = activity.message;
+        record.subject = activity.subject;
+    }];
 }
 
 + (NSArray *)getAllTableActivityWithPredicate:(NSPredicate *)predicate
@@ -1852,8 +1851,6 @@
 
 + (NSInteger)getLastIDActivityActiveAccount:(NSString *)activeAccount
 {
-    //NSManagedObjectContext *context = [NSManagedObjectContext MR_defaultContext];
-    
     NSNumber *lastID  = [TableActivity MR_aggregateOperation:@"max:" onAttribute:@"idActivity" withPredicate:[NSPredicate predicateWithFormat:@"(account == %@)", activeAccount]];
     
     return [lastID integerValue];

+ 1 - 0
iOSClient/Main/CCMain.m

@@ -1186,6 +1186,7 @@
     NSInteger lastID = [CCCoreData getLastIDActivityActiveAccount:app.activeAccount];
     
     metadataNet.action = actionGetActivityServer;
+    metadataNet.options = [@(lastID) stringValue];;
     [app addNetworkingOperationQueue:app.netQueue delegate:self metadataNet:metadataNet];
 }
 

+ 1 - 1
iOSClient/Networking/OCNetworking.m

@@ -1124,7 +1124,7 @@
     [communication setCredentialsWithUser:_activeUser andPassword:_activePassword];
     [communication setUserAgent:[CCUtility getUserAgent]];
     
-    [communication getActivityServer:[_activeUrl stringByAppendingString:@"/"] onCommunication:communication successRequest:^(NSHTTPURLResponse *response, NSArray *listOfActivity, NSString *redirectedServer) {
+    [communication getActivityServer:[_activeUrl stringByAppendingString:@"/"] start:_metadataNet.options onCommunication:communication successRequest:^(NSHTTPURLResponse *response, NSArray *listOfActivity, NSString *redirectedServer) {
         
         if ([self.delegate respondsToSelector:@selector(getActivityServerSuccess:)])
             [self.delegate getActivityServerSuccess:listOfActivity];