simplify completion checking - make nonnull

pull/2/head
Michael Kirk 7 years ago
parent 13154fb828
commit 870caaa84a

@ -68,7 +68,7 @@ NS_ASSUME_NONNULL_BEGIN
quotedReplyModel:(nullable OWSQuotedReplyModel *)quotedReplyModel quotedReplyModel:(nullable OWSQuotedReplyModel *)quotedReplyModel
transaction:(YapDatabaseReadTransaction *)transaction transaction:(YapDatabaseReadTransaction *)transaction
messageSender:(OWSMessageSender *)messageSender messageSender:(OWSMessageSender *)messageSender
completion:(void (^_Nullable)(NSError *_Nullable error))completion; completion:(void (^)(NSError *_Nullable error))completion;
// Used by SAE, otherwise we should use the durable `enqueue` counterpart // Used by SAE, otherwise we should use the durable `enqueue` counterpart
+ (TSOutgoingMessage *)sendMessageNonDurablyWithText:(NSString *)fullMessageText + (TSOutgoingMessage *)sendMessageNonDurablyWithText:(NSString *)fullMessageText
@ -77,13 +77,13 @@ NS_ASSUME_NONNULL_BEGIN
quotedReplyModel:(nullable OWSQuotedReplyModel *)quotedReplyModel quotedReplyModel:(nullable OWSQuotedReplyModel *)quotedReplyModel
transaction:(YapDatabaseReadTransaction *)transaction transaction:(YapDatabaseReadTransaction *)transaction
messageSender:(OWSMessageSender *)messageSender messageSender:(OWSMessageSender *)messageSender
completion:(void (^_Nullable)(NSError *_Nullable error))completion; completion:(void (^)(NSError *_Nullable error))completion;
// Used by SAE, otherwise we should use the durable `enqueue` counterpart // Used by SAE, otherwise we should use the durable `enqueue` counterpart
+ (TSOutgoingMessage *)sendMessageNonDurablyWithContactShare:(OWSContact *)contactShare + (TSOutgoingMessage *)sendMessageNonDurablyWithContactShare:(OWSContact *)contactShare
inThread:(TSThread *)thread inThread:(TSThread *)thread
messageSender:(OWSMessageSender *)messageSender messageSender:(OWSMessageSender *)messageSender
completion:(void (^_Nullable)(NSError *_Nullable error))completion; completion:(void (^)(NSError *_Nullable error))completion;
#pragma mark - dynamic interactions #pragma mark - dynamic interactions

@ -268,8 +268,10 @@ typedef void (^BuildOutgoingMessageCompletionBlock)(TSOutgoingMessage *savedMess
quotedReplyModel:(nullable OWSQuotedReplyModel *)quotedReplyModel quotedReplyModel:(nullable OWSQuotedReplyModel *)quotedReplyModel
transaction:(YapDatabaseReadTransaction *)transaction transaction:(YapDatabaseReadTransaction *)transaction
messageSender:(OWSMessageSender *)messageSender messageSender:(OWSMessageSender *)messageSender
completion:(void (^_Nullable)(NSError *_Nullable error))completion completion:(void (^)(NSError *_Nullable error))completion
{ {
OWSAssertDebug(completion);
return [self sendMessageNonDurablyWithText:fullMessageText return [self sendMessageNonDurablyWithText:fullMessageText
mediaAttachments:@[] mediaAttachments:@[]
inThread:thread inThread:thread
@ -285,10 +287,11 @@ typedef void (^BuildOutgoingMessageCompletionBlock)(TSOutgoingMessage *savedMess
quotedReplyModel:(nullable OWSQuotedReplyModel *)quotedReplyModel quotedReplyModel:(nullable OWSQuotedReplyModel *)quotedReplyModel
transaction:(YapDatabaseReadTransaction *)transaction transaction:(YapDatabaseReadTransaction *)transaction
messageSender:(OWSMessageSender *)messageSender messageSender:(OWSMessageSender *)messageSender
completion:(void (^_Nullable)(NSError *_Nullable error))completion completion:(void (^)(NSError *_Nullable error))completion
{ {
OWSAssertIsOnMainThread(); OWSAssertIsOnMainThread();
OWSAssertDebug(thread); OWSAssertDebug(thread);
OWSAssertDebug(completion);
return return
[self buildOutgoingMessageWithText:fullMessageText [self buildOutgoingMessageWithText:fullMessageText
@ -303,39 +306,27 @@ typedef void (^BuildOutgoingMessageCompletionBlock)(TSOutgoingMessage *savedMess
if (attachmentInfos.count == 0) { if (attachmentInfos.count == 0) {
[messageSender sendMessage:savedMessage [messageSender sendMessage:savedMessage
success:^{ success:^{
OWSLogDebug(@"Successfully sent message attachment."); dispatch_async(dispatch_get_main_queue(), ^(void) {
if (completion) { completion(nil);
dispatch_async(dispatch_get_main_queue(), ^(void) { });
completion(nil);
});
}
} }
failure:^(NSError *error) { failure:^(NSError *error) {
OWSLogError(@"Failed to send message attachment with error: %@", error); dispatch_async(dispatch_get_main_queue(), ^(void) {
if (completion) { completion(error);
dispatch_async(dispatch_get_main_queue(), ^(void) { });
completion(error);
});
}
}]; }];
} else { } else {
[messageSender sendAttachments:attachmentInfos [messageSender sendAttachments:attachmentInfos
inMessage:savedMessage inMessage:savedMessage
success:^{ success:^{
OWSLogDebug(@"Successfully sent message attachment."); dispatch_async(dispatch_get_main_queue(), ^(void) {
if (completion) { completion(nil);
dispatch_async(dispatch_get_main_queue(), ^(void) { });
completion(nil);
});
}
} }
failure:^(NSError *error) { failure:^(NSError *error) {
OWSLogError(@"Failed to send message attachment with error: %@", error); dispatch_async(dispatch_get_main_queue(), ^(void) {
if (completion) { completion(error);
dispatch_async(dispatch_get_main_queue(), ^(void) { });
completion(error);
});
}
}]; }];
} }
}]; }];
@ -344,13 +335,14 @@ typedef void (^BuildOutgoingMessageCompletionBlock)(TSOutgoingMessage *savedMess
+ (TSOutgoingMessage *)sendMessageNonDurablyWithContactShare:(OWSContact *)contactShare + (TSOutgoingMessage *)sendMessageNonDurablyWithContactShare:(OWSContact *)contactShare
inThread:(TSThread *)thread inThread:(TSThread *)thread
messageSender:(OWSMessageSender *)messageSender messageSender:(OWSMessageSender *)messageSender
completion:(void (^_Nullable)(NSError *_Nullable error))completion completion:(void (^)(NSError *_Nullable error))completion
{ {
OWSAssertIsOnMainThread(); OWSAssertIsOnMainThread();
OWSAssertDebug(contactShare); OWSAssertDebug(contactShare);
OWSAssertDebug(contactShare.ows_isValid); OWSAssertDebug(contactShare.ows_isValid);
OWSAssertDebug(thread); OWSAssertDebug(thread);
OWSAssertDebug(messageSender); OWSAssertDebug(messageSender);
OWSAssertDebug(completion);
OWSDisappearingMessagesConfiguration *configuration = OWSDisappearingMessagesConfiguration *configuration =
[OWSDisappearingMessagesConfiguration fetchObjectWithUniqueID:thread.uniqueId]; [OWSDisappearingMessagesConfiguration fetchObjectWithUniqueID:thread.uniqueId];
@ -373,19 +365,15 @@ typedef void (^BuildOutgoingMessageCompletionBlock)(TSOutgoingMessage *savedMess
[messageSender sendMessage:message [messageSender sendMessage:message
success:^{ success:^{
OWSLogDebug(@"Successfully sent contact share."); OWSLogDebug(@"Successfully sent contact share.");
if (completion) { dispatch_async(dispatch_get_main_queue(), ^(void) {
dispatch_async(dispatch_get_main_queue(), ^(void) { completion(nil);
completion(nil); });
});
}
} }
failure:^(NSError *error) { failure:^(NSError *error) {
OWSLogError(@"Failed to send contact share with error: %@", error); OWSLogError(@"Failed to send contact share with error: %@", error);
if (completion) { dispatch_async(dispatch_get_main_queue(), ^(void) {
dispatch_async(dispatch_get_main_queue(), ^(void) { completion(error);
completion(error); });
});
}
}]; }];
return message; return message;

@ -234,7 +234,7 @@ void AssertIsOnSendingQueue()
- (void)didFailWithError:(NSError *)error - (void)didFailWithError:(NSError *)error
{ {
OWSLogDebug(@"failed with error: %@", error); OWSLogError(@"failed with error: %@", error);
self.failureHandler(error); self.failureHandler(error);
} }

Loading…
Cancel
Save