From 4d15fbf2dc9116b3d94ea726852e1b3a234d4708 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Mon, 24 Apr 2017 17:40:00 -0400 Subject: [PATCH 1/2] cherry-pick (rebased) charlesmchen/stressTesting/Signal/src/ViewControllers/SignalAttachment.swift // FREEBIE --- .../ViewControllers/SignalAttachment.swift | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/Signal/src/ViewControllers/SignalAttachment.swift b/Signal/src/ViewControllers/SignalAttachment.swift index 62ba4a0f2..1483edecd 100644 --- a/Signal/src/ViewControllers/SignalAttachment.swift +++ b/Signal/src/ViewControllers/SignalAttachment.swift @@ -586,7 +586,25 @@ class SignalAttachment: NSObject { dataUTI : dataUTI, validUTISet : nil, maxFileSize : kMaxFileSizeGeneric, - filename : filename) + filename : filename) + } + + // MARK: Attachments + + // Factory method for attachments of any kind. + // + // NOTE: The attachment returned by this method may not be valid. + // Check the attachment's error property. + public class func attachment(data: Data?, dataUTI: String, filename: String?) -> SignalAttachment { + if inputImageUTISet.contains(dataUTI) { + return imageAttachment(data : data, dataUTI : dataUTI, filename: filename) + } else if videoUTISet.contains(dataUTI) { + return videoAttachment(data : data, dataUTI : dataUTI, filename: filename) + } else if audioUTISet.contains(dataUTI) { + return audioAttachment(data : data, dataUTI : dataUTI, filename: filename) + } else { + return genericAttachment(data : data, dataUTI : dataUTI, filename: filename) + } } // MARK: Helper Methods From 66e858a35a91c787a768ecce1fc52bee22b74300 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Mon, 24 Apr 2017 17:43:49 -0400 Subject: [PATCH 2/2] Validate all picked attachments/ show preview // FREEBIE --- Signal/src/ViewControllers/MessagesViewController.m | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Signal/src/ViewControllers/MessagesViewController.m b/Signal/src/ViewControllers/MessagesViewController.m index 9db3bdadc..9853a64d5 100644 --- a/Signal/src/ViewControllers/MessagesViewController.m +++ b/Signal/src/ViewControllers/MessagesViewController.m @@ -2263,8 +2263,7 @@ typedef enum : NSUInteger { OWSAssert(attachmentData); OWSAssert(type); OWSAssert(filename); - SignalAttachment *attachment = - [[SignalAttachment alloc] initWithData:attachmentData dataUTI:type filename:filename]; + SignalAttachment *attachment = [SignalAttachment attachmentWithData:attachmentData dataUTI:type filename:filename]; [self tryToSendAttachmentIfApproved:attachment]; }