Send oversize text messages as attachments.

// FREEBIE
pull/1/head
Matthew Chen 9 years ago
parent 9882eeea93
commit db7cb8d388

@ -1098,28 +1098,15 @@ typedef enum : NSUInteger {
text = [text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; text = [text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
// Limit outgoing text messages to 64kb. // Limit outgoing text messages to 16kb.
// //
// TODO: Convert large text messages to attachments // We convert large text messages to attachments
// which are presented as normal text messages. // which are presented as normal text messages.
const NSUInteger kMaxTextMessageSize = 64 * 1024; const NSUInteger kOversizeTextMessageSizeThreshold = 16 * 1024;
if ([text lengthOfBytesUsingEncoding:NSUTF8StringEncoding] > kMaxTextMessageSize) { if ([text lengthOfBytesUsingEncoding:NSUTF8StringEncoding] >= kOversizeTextMessageSizeThreshold) {
UIAlertController *controller = SignalAttachment *attachment = [SignalAttachment oversizeTextAttachmentWithText:text];
[UIAlertController alertControllerWithTitle:NSLocalizedString(@"CONVERSATION_VIEW_TEXT_MESSAGE_TOO_LARGE_ALERT_TITLE", [ThreadUtil sendMessageWithAttachment:attachment inThread:self.thread messageSender:self.messageSender];
@"The title of the 'text message too large' alert.") } else if (text.length > 0) {
message:NSLocalizedString(@"CONVERSATION_VIEW_TEXT_MESSAGE_TOO_LARGE_ALERT_MESSAGE",
@"The message of the 'text message too large' alert.")
preferredStyle:UIAlertControllerStyleAlert];
[controller addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil)
style:UIAlertActionStyleDefault
handler:nil]];
[self presentViewController:controller
animated:YES
completion:nil];
return;
}
if (text.length > 0) {
if ([Environment.preferences soundInForeground]) { if ([Environment.preferences soundInForeground]) {
[JSQSystemSoundPlayer jsq_playMessageSentSound]; [JSQSystemSoundPlayer jsq_playMessageSentSound];
} }

Loading…
Cancel
Save