Fix sending attachments from the camera.

// FREEBIE
pull/1/head
Matthew Chen 9 years ago
parent 1e3f0fffeb
commit b9705cfe06

@ -1916,6 +1916,8 @@ typedef enum : NSUInteger {
- (void)imagePickerController:(UIImagePickerController *)picker - (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary<NSString *, id> *)info didFinishPickingMediaWithInfo:(NSDictionary<NSString *, id> *)info
{ {
OWSAssert([NSThread isMainThread]);
[UIUtil modalCompletionBlock](); [UIUtil modalCompletionBlock]();
[self resetFrame]; [self resetFrame];
@ -1928,27 +1930,36 @@ typedef enum : NSUInteger {
// Video picked from library or captured with camera // Video picked from library or captured with camera
NSURL *videoURL = info[UIImagePickerControllerMediaURL]; NSURL *videoURL = info[UIImagePickerControllerMediaURL];
[self sendQualityAdjustedAttachmentForVideo:videoURL]; [self dismissViewControllerAnimated:YES
completion:^{
[self sendQualityAdjustedAttachmentForVideo:videoURL];
}];
} else if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) { } else if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) {
// Static Image captured from camera // Static Image captured from camera
UIImage *imageFromCamera = [info[UIImagePickerControllerOriginalImage] normalizedImage]; UIImage *imageFromCamera = [info[UIImagePickerControllerOriginalImage] normalizedImage];
if (imageFromCamera) {
SignalAttachment *attachment = [SignalAttachment imageAttachmentWithImage:imageFromCamera [self dismissViewControllerAnimated:YES
dataUTI:(NSString *) kUTTypeJPEG]; completion:^{
if (!attachment || OWSAssert([NSThread isMainThread]);
[attachment hasError]) {
DDLogWarn(@"%@ %s Invalid attachment: %@.", if (imageFromCamera) {
self.tag, SignalAttachment *attachment = [SignalAttachment imageAttachmentWithImage:imageFromCamera
__PRETTY_FUNCTION__, dataUTI:(NSString *) kUTTypeJPEG];
attachment ? [attachment errorMessage] : @"Missing data"); if (!attachment ||
failedToPickAttachment(nil); [attachment hasError]) {
} else { DDLogWarn(@"%@ %s Invalid attachment: %@.",
[self sendMessageAttachment:attachment]; self.tag,
} __PRETTY_FUNCTION__,
} else { attachment ? [attachment errorMessage] : @"Missing data");
failedToPickAttachment(nil); failedToPickAttachment(nil);
} } else {
[self sendMessageAttachment:attachment];
}
} else {
failedToPickAttachment(nil);
}
}];
} else { } else {
// Non-Video image picked from library // Non-Video image picked from library

Loading…
Cancel
Save