|
|
|
@ -444,6 +444,7 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException";
|
|
|
|
|
[self sendAttachment:dataSource
|
|
|
|
|
contentType:contentType
|
|
|
|
|
sourceFilename:nil
|
|
|
|
|
albumMessageId:nil
|
|
|
|
|
inMessage:message
|
|
|
|
|
success:successWithDeleteHandler
|
|
|
|
|
failure:failureWithDeleteHandler];
|
|
|
|
@ -452,26 +453,41 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException";
|
|
|
|
|
- (void)sendAttachment:(DataSource *)dataSource
|
|
|
|
|
contentType:(NSString *)contentType
|
|
|
|
|
sourceFilename:(nullable NSString *)sourceFilename
|
|
|
|
|
albumMessageId:(nullable NSString *)albumMessageId
|
|
|
|
|
inMessage:(TSOutgoingMessage *)message
|
|
|
|
|
success:(void (^)(void))successHandler
|
|
|
|
|
failure:(void (^)(NSError *error))failureHandler
|
|
|
|
|
success:(void (^)(void))success
|
|
|
|
|
failure:(void (^)(NSError *error))failure
|
|
|
|
|
{
|
|
|
|
|
OWSAssertDebug(dataSource);
|
|
|
|
|
|
|
|
|
|
NSString *albumMessageId = message.uniqueId;
|
|
|
|
|
OWSOutgoingAttachmentInfo *attachmentInfo = [[OWSOutgoingAttachmentInfo alloc] initWithDataSource:dataSource
|
|
|
|
|
contentType:contentType
|
|
|
|
|
sourceFilename:sourceFilename
|
|
|
|
|
caption:nil
|
|
|
|
|
albumMessageId:albumMessageId];
|
|
|
|
|
[OutgoingMessagePreparer prepareAttachments:@[ attachmentInfo ]
|
|
|
|
|
[self sendAttachments:@[
|
|
|
|
|
attachmentInfo,
|
|
|
|
|
]
|
|
|
|
|
inMessage:message
|
|
|
|
|
success:success
|
|
|
|
|
failure:failure];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
- (void)sendAttachments:(NSArray<OWSOutgoingAttachmentInfo *> *)attachmentInfos
|
|
|
|
|
inMessage:(TSOutgoingMessage *)message
|
|
|
|
|
success:(void (^)(void))success
|
|
|
|
|
failure:(void (^)(NSError *error))failure
|
|
|
|
|
{
|
|
|
|
|
OWSAssertDebug(attachmentInfos.count > 0);
|
|
|
|
|
|
|
|
|
|
[OutgoingMessagePreparer prepareAttachments:attachmentInfos
|
|
|
|
|
inMessage:message
|
|
|
|
|
completionHandler:^(NSError *_Nullable error) {
|
|
|
|
|
if (error) {
|
|
|
|
|
failureHandler(error);
|
|
|
|
|
failure(error);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
[self sendMessage:message success:successHandler failure:failureHandler];
|
|
|
|
|
[self sendMessage:message success:success failure:failure];
|
|
|
|
|
}];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|