This commit is contained in:
Frederic Jacobs 2015-01-25 19:40:19 -10:00
parent 5ccbc4131b
commit a9ad6643a0
5 changed files with 21 additions and 7 deletions

View File

@ -70,6 +70,7 @@
}
}
}];
[self removeWithTransaction:transaction];
}];
for (IncomingPushMessageSignal *aSignal in messagesToDecrypt) {

View File

@ -51,10 +51,6 @@ dispatch_queue_t attachmentsQueue() {
if ([attachmentPointer.contentType hasPrefix:@"image/"]||[attachmentPointer.contentType hasPrefix:@"video/"] || [attachmentPointer.contentType hasPrefix:@"audio/"]) {
[attachmentPointer saveWithTransaction:transaction];
dispatch_async(attachmentsQueue(), ^{
[self retrieveAttachment:attachmentPointer messageId:[TSInteraction stringFromTimeStamp:message.timestamp]];
});
[retrievedAttachments addObject:attachmentPointer.uniqueId];
shouldProcessMessage = YES;
}
@ -70,7 +66,16 @@ dispatch_queue_t attachmentsQueue() {
}];
if (shouldProcessMessage) {
[self handleReceivedMessage:message withContent:content attachments:retrievedAttachments];
[self handleReceivedMessage:message withContent:content attachments:retrievedAttachments completionBlock:^(NSString *messageIdentifier) {
for (NSString *pointerId in retrievedAttachments) {
dispatch_async(attachmentsQueue(), ^{
[self.dbConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) {
TSAttachmentPointer *pointer = [TSAttachmentPointer fetchObjectWithUniqueID:pointerId transaction:transaction];
[self retrieveAttachment:pointer messageId:messageIdentifier];
}];
});
}
}];
}
}

View File

@ -22,6 +22,7 @@
- (void)processException:(NSException*)exception outgoingMessage:(TSOutgoingMessage*)message;
- (void)handleReceivedMessage:(IncomingPushMessageSignal*)message withContent:(PushMessageContent*)content attachments:(NSArray*)attachments;
- (void)handleReceivedMessage:(IncomingPushMessageSignal*)message withContent:(PushMessageContent*)content attachments:(NSArray*)attachments completionBlock:(void (^)(NSString* messageIdentifier))completionBlock ;
-(void)handleSendToMyself:(TSOutgoingMessage*)outgoingMessage;

View File

@ -238,7 +238,11 @@
}];
}
- (void)handleReceivedMessage:(IncomingPushMessageSignal*)message withContent:(PushMessageContent*)content attachments:(NSArray*)attachments {
- (void)handleReceivedMessage:(IncomingPushMessageSignal *)message withContent:(PushMessageContent *)content attachments:(NSArray *)attachments{
[self handleReceivedMessage:message withContent:content attachments:attachments completionBlock:nil];
}
- (void)handleReceivedMessage:(IncomingPushMessageSignal*)message withContent:(PushMessageContent*)content attachments:(NSArray*)attachments completionBlock:(void (^)(NSString* messageIdentifier))completionBlock {
uint64_t timeStamp = message.timestamp;
NSString *body = content.body;
NSData *groupId = content.hasGroup?content.group.id:nil;
@ -294,6 +298,9 @@
incomingMessage = [[TSIncomingMessage alloc] initWithTimestamp:timeStamp inThread:cThread messageBody:body attachments:attachments];
[incomingMessage saveWithTransaction:transaction];
thread = cThread;
if (completionBlock) {
completionBlock(incomingMessage.uniqueId);
}
}
NSString *name = [thread name];
[self notifyUserForIncomingMessage:incomingMessage from:name];

View File

@ -11,7 +11,7 @@
@implementation TSAttachmentRequest
-(TSRequest*) initWithId:(NSNumber*) attachmentId relay:(NSString*)relay {
-(TSRequest*) initWithId:(NSNumber*)attachmentId relay:(NSString*)relay {
NSString *path = [NSString stringWithFormat:@"%@/%@", textSecureAttachmentsAPI, attachmentId];