|
|
@ -1183,7 +1183,11 @@ typedef enum : NSUInteger {
|
|
|
|
return self.outgoingMessageFailedImageData;
|
|
|
|
return self.outgoingMessageFailedImageData;
|
|
|
|
case TSOutgoingMessageStateAttemptingOut:
|
|
|
|
case TSOutgoingMessageStateAttemptingOut:
|
|
|
|
return self.currentlyOutgoingBubbleImageData;
|
|
|
|
return self.currentlyOutgoingBubbleImageData;
|
|
|
|
default:
|
|
|
|
case TSOutgoingMessageStateSent_OBSOLETE:
|
|
|
|
|
|
|
|
case TSOutgoingMessageStateDelivered_OBSOLETE:
|
|
|
|
|
|
|
|
OWSAssert(0);
|
|
|
|
|
|
|
|
return self.outgoingBubbleImageData;
|
|
|
|
|
|
|
|
case TSOutgoingMessageStateSentToService:
|
|
|
|
return self.outgoingBubbleImageData;
|
|
|
|
return self.outgoingBubbleImageData;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -1490,13 +1494,10 @@ typedef enum : NSUInteger {
|
|
|
|
if (outgoingMessage.messageState == TSOutgoingMessageStateUnsent) {
|
|
|
|
if (outgoingMessage.messageState == TSOutgoingMessageStateUnsent) {
|
|
|
|
return [[NSAttributedString alloc] initWithString:NSLocalizedString(@"MESSAGE_STATUS_FAILED",
|
|
|
|
return [[NSAttributedString alloc] initWithString:NSLocalizedString(@"MESSAGE_STATUS_FAILED",
|
|
|
|
@"message footer for failed messages")];
|
|
|
|
@"message footer for failed messages")];
|
|
|
|
} else if (outgoingMessage.messageState == TSOutgoingMessageStateSent ||
|
|
|
|
} else if (outgoingMessage.messageState == TSOutgoingMessageStateSentToService) {
|
|
|
|
outgoingMessage.messageState == TSOutgoingMessageStateDelivered) {
|
|
|
|
NSString *text = (outgoingMessage.wasDelivered
|
|
|
|
NSString *text = (outgoingMessage.messageState == TSOutgoingMessageStateSent
|
|
|
|
? NSLocalizedString(@"MESSAGE_STATUS_DELIVERED", @"message footer for delivered messages")
|
|
|
|
? NSLocalizedString(@"MESSAGE_STATUS_SENT",
|
|
|
|
: NSLocalizedString(@"MESSAGE_STATUS_SENT", @"message footer for sent messages"));
|
|
|
|
@"message footer for sent messages")
|
|
|
|
|
|
|
|
: NSLocalizedString(@"MESSAGE_STATUS_DELIVERED",
|
|
|
|
|
|
|
|
@"message footer for delivered messages"));
|
|
|
|
|
|
|
|
NSAttributedString *result = [[NSAttributedString alloc] initWithString:text];
|
|
|
|
NSAttributedString *result = [[NSAttributedString alloc] initWithString:text];
|
|
|
|
|
|
|
|
|
|
|
|
// Show when it's the last message in the thread
|
|
|
|
// Show when it's the last message in the thread
|
|
|
@ -1507,9 +1508,7 @@ typedef enum : NSUInteger {
|
|
|
|
|
|
|
|
|
|
|
|
// Or when the next message is *not* an outgoing sent/delivered message.
|
|
|
|
// Or when the next message is *not* an outgoing sent/delivered message.
|
|
|
|
TSOutgoingMessage *nextMessage = [self nextOutgoingMessage:indexPath];
|
|
|
|
TSOutgoingMessage *nextMessage = [self nextOutgoingMessage:indexPath];
|
|
|
|
if (nextMessage &&
|
|
|
|
if (nextMessage && nextMessage.messageState != TSOutgoingMessageStateSentToService) {
|
|
|
|
nextMessage.messageState != TSOutgoingMessageStateSent &&
|
|
|
|
|
|
|
|
nextMessage.messageState != TSOutgoingMessageStateDelivered) {
|
|
|
|
|
|
|
|
[self updateLastDeliveredMessage:message];
|
|
|
|
[self updateLastDeliveredMessage:message];
|
|
|
|
return result;
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -2320,22 +2319,6 @@ typedef enum : NSUInteger {
|
|
|
|
(unsigned long)attachment.data.length,
|
|
|
|
(unsigned long)attachment.data.length,
|
|
|
|
[attachment mimeType]);
|
|
|
|
[attachment mimeType]);
|
|
|
|
[ThreadUtil sendMessageWithAttachment:attachment inThread:self.thread messageSender:self.messageSender];
|
|
|
|
[ThreadUtil sendMessageWithAttachment:attachment inThread:self.thread messageSender:self.messageSender];
|
|
|
|
|
|
|
|
|
|
|
|
TSOutgoingMessage *message;
|
|
|
|
|
|
|
|
OWSDisappearingMessagesConfiguration *configuration =
|
|
|
|
|
|
|
|
[OWSDisappearingMessagesConfiguration fetchObjectWithUniqueID:self.thread.uniqueId];
|
|
|
|
|
|
|
|
if (configuration.isEnabled) {
|
|
|
|
|
|
|
|
message = [[TSOutgoingMessage alloc] initWithTimestamp:[NSDate ows_millisecondTimeStamp]
|
|
|
|
|
|
|
|
inThread:self.thread
|
|
|
|
|
|
|
|
messageBody:nil
|
|
|
|
|
|
|
|
attachmentIds:[NSMutableArray new]
|
|
|
|
|
|
|
|
expiresInSeconds:configuration.durationSeconds];
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
message = [[TSOutgoingMessage alloc] initWithTimestamp:[NSDate ows_millisecondTimeStamp]
|
|
|
|
|
|
|
|
inThread:self.thread
|
|
|
|
|
|
|
|
messageBody:nil
|
|
|
|
|
|
|
|
attachmentIds:[NSMutableArray new]];
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
- (NSURL *)videoTempFolder {
|
|
|
|
- (NSURL *)videoTempFolder {
|
|
|
@ -2703,10 +2686,8 @@ typedef enum : NSUInteger {
|
|
|
|
[groupThread saveWithTransaction:transaction];
|
|
|
|
[groupThread saveWithTransaction:transaction];
|
|
|
|
message = [[TSOutgoingMessage alloc] initWithTimestamp:[NSDate ows_millisecondTimeStamp]
|
|
|
|
message = [[TSOutgoingMessage alloc] initWithTimestamp:[NSDate ows_millisecondTimeStamp]
|
|
|
|
inThread:groupThread
|
|
|
|
inThread:groupThread
|
|
|
|
messageBody:@""
|
|
|
|
groupMetaMessage:TSGroupMessageUpdate];
|
|
|
|
attachmentIds:[NSMutableArray new]];
|
|
|
|
[message updateWithCustomMessage:updateGroupInfo transaction:transaction];
|
|
|
|
message.groupMetaMessage = TSGroupMessageUpdate;
|
|
|
|
|
|
|
|
message.customMessage = updateGroupInfo;
|
|
|
|
|
|
|
|
}];
|
|
|
|
}];
|
|
|
|
|
|
|
|
|
|
|
|
if (newGroupModel.groupImage) {
|
|
|
|
if (newGroupModel.groupImage) {
|
|
|
|