diff --git a/Signal/src/ViewControllers/MessagesViewController.m b/Signal/src/ViewControllers/MessagesViewController.m index 484865894..53aa1c54b 100644 --- a/Signal/src/ViewControllers/MessagesViewController.m +++ b/Signal/src/ViewControllers/MessagesViewController.m @@ -3165,8 +3165,9 @@ typedef enum : NSUInteger { NSString *filename = [NSLocalizedString(@"VOICE_MESSAGE_FILE_NAME", @"Filename for voice messages.") stringByAppendingPathExtension:@".m4a"]; - SignalAttachment *attachment = - [SignalAttachment attachmentWithData:audioData dataUTI:(NSString *)kUTTypeMPEG4Audio filename:filename]; + SignalAttachment *attachment = [SignalAttachment voiceMessageAttachmentWithData:audioData + dataUTI:(NSString *)kUTTypeMPEG4Audio + filename:filename]; if (!attachment || [attachment hasError]) { DDLogWarn(@"%@ %s Invalid attachment: %@.", self.tag, diff --git a/Signal/src/ViewControllers/SignalAttachment.swift b/Signal/src/ViewControllers/SignalAttachment.swift index 4d78694ac..1337423a8 100644 --- a/Signal/src/ViewControllers/SignalAttachment.swift +++ b/Signal/src/ViewControllers/SignalAttachment.swift @@ -89,6 +89,8 @@ class SignalAttachment: NSObject { // possible. public var image: UIImage? + private(set) public var isVoiceMessage = false + // MARK: Constants /** @@ -632,6 +634,14 @@ class SignalAttachment: NSObject { filename : filename) } + // MARK: Voice Messages + + public class func voiceMessageAttachment(data: Data?, dataUTI: String, filename: String?) -> SignalAttachment { + let attachment = audioAttachment(data : data, dataUTI : dataUTI, filename: filename) + attachment.isVoiceMessage = true + return attachment + } + // MARK: Attachments // Factory method for attachments of any kind. diff --git a/Signal/src/util/ThreadUtil.m b/Signal/src/util/ThreadUtil.m index 9feabdab8..cf1e61d7c 100644 --- a/Signal/src/util/ThreadUtil.m +++ b/Signal/src/util/ThreadUtil.m @@ -59,8 +59,7 @@ NS_ASSUME_NONNULL_BEGIN TSOutgoingMessage *message = [[TSOutgoingMessage alloc] initWithTimestamp:[NSDate ows_millisecondTimeStamp] inThread:thread - messageBody:nil - attachmentIds:[NSMutableArray new] + isVoiceMessage:[attachment isVoiceMessage] expiresInSeconds:(configuration.isEnabled ? configuration.durationSeconds : 0)]; [messageSender sendAttachmentData:attachment.data contentType:attachment.mimeType