From ad4e65e6e141e0e027e2698589fba49ef1718cb5 Mon Sep 17 00:00:00 2001 From: ryanzhao Date: Mon, 4 Oct 2021 14:57:07 +1100 Subject: [PATCH] improve attachment image quality --- .../Media Viewing & Editing/GIFs/GifPickerViewController.swift | 2 +- Session/Media Viewing & Editing/PhotoCapture.swift | 2 +- Session/Media Viewing & Editing/PhotoLibrary.swift | 2 +- .../Sending & Receiving/Attachments/SignalAttachment.swift | 3 +++ SessionShareExtension/ShareVC.swift | 2 +- .../Attachment Approval/AttachmentApprovalViewController.swift | 2 +- 6 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift b/Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift index 350ecf378..7726568ed 100644 --- a/Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift +++ b/Session/Media Viewing & Editing/GIFs/GifPickerViewController.swift @@ -388,7 +388,7 @@ class GifPickerViewController: OWSViewController, UISearchBarDelegate, UICollect owsFailDebug("couldn't load asset.") return } - let attachment = SignalAttachment.attachment(dataSource: dataSource, dataUTI: rendition.utiType, imageQuality: .medium) + let attachment = SignalAttachment.attachment(dataSource: dataSource, dataUTI: rendition.utiType, imageQuality: .high) strongSelf.dismiss(animated: true) { // Delegate presents view controllers, so it's important that *this* controller be dismissed before that occurs. diff --git a/Session/Media Viewing & Editing/PhotoCapture.swift b/Session/Media Viewing & Editing/PhotoCapture.swift index 6c0eda63b..6e7693b1c 100644 --- a/Session/Media Viewing & Editing/PhotoCapture.swift +++ b/Session/Media Viewing & Editing/PhotoCapture.swift @@ -396,7 +396,7 @@ extension PhotoCapture: CaptureOutputDelegate { let dataSource = DataSourceValue.dataSource(with: photoData, utiType: kUTTypeJPEG as String) - let attachment = SignalAttachment.attachment(dataSource: dataSource, dataUTI: kUTTypeJPEG as String, imageQuality: .medium) + let attachment = SignalAttachment.attachment(dataSource: dataSource, dataUTI: kUTTypeJPEG as String, imageQuality: .high) delegate?.photoCapture(self, didFinishProcessingAttachment: attachment) } diff --git a/Session/Media Viewing & Editing/PhotoLibrary.swift b/Session/Media Viewing & Editing/PhotoLibrary.swift index 164c8b542..79d81986a 100644 --- a/Session/Media Viewing & Editing/PhotoLibrary.swift +++ b/Session/Media Viewing & Editing/PhotoLibrary.swift @@ -207,7 +207,7 @@ class PhotoCollectionContents { switch asset.mediaType { case .image: return requestImageDataSource(for: asset).map { (dataSource: DataSource, dataUTI: String) in - return SignalAttachment.attachment(dataSource: dataSource, dataUTI: dataUTI, imageQuality: .medium) + return SignalAttachment.attachment(dataSource: dataSource, dataUTI: dataUTI, imageQuality: .high) } case .video: return requestVideoDataSource(for: asset).map { (dataSource: DataSource, dataUTI: String) in diff --git a/SessionMessagingKit/Sending & Receiving/Attachments/SignalAttachment.swift b/SessionMessagingKit/Sending & Receiving/Attachments/SignalAttachment.swift index 6ef9d9598..b0061f696 100644 --- a/SessionMessagingKit/Sending & Receiving/Attachments/SignalAttachment.swift +++ b/SessionMessagingKit/Sending & Receiving/Attachments/SignalAttachment.swift @@ -75,6 +75,7 @@ public enum TSImageQualityTier: UInt { @objc public enum TSImageQuality: UInt { case original + case high case medium case compact @@ -82,6 +83,8 @@ public enum TSImageQuality: UInt { switch self { case .original: return .original + case .high: + return .high case .medium: return .mediumHigh case .compact: diff --git a/SessionShareExtension/ShareVC.swift b/SessionShareExtension/ShareVC.swift index 41cfa31a7..78e2974fb 100644 --- a/SessionShareExtension/ShareVC.swift +++ b/SessionShareExtension/ShareVC.swift @@ -552,7 +552,7 @@ final class ShareVC : UINavigationController, ShareViewDelegate, AppModeManagerD return promise } - let attachment = SignalAttachment.attachment(dataSource: dataSource, dataUTI: specificUTIType, imageQuality: .medium) + let attachment = SignalAttachment.attachment(dataSource: dataSource, dataUTI: specificUTIType, imageQuality: .high) if loadedItem.isConvertibleToContactShare { Logger.info("isConvertibleToContactShare") attachment.isConvertibleToContactShare = true diff --git a/SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalViewController.swift b/SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalViewController.swift index 66d0dc51e..a72a98326 100644 --- a/SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalViewController.swift +++ b/SignalUtilitiesKit/Media Viewing & Editing/Attachment Approval/AttachmentApprovalViewController.swift @@ -623,7 +623,7 @@ public class AttachmentApprovalViewController: UIPageViewController, UIPageViewC } dataSource.sourceFilename = filename - let dstAttachment = SignalAttachment.attachment(dataSource: dataSource, dataUTI: dataUTI, imageQuality: .medium) + let dstAttachment = SignalAttachment.attachment(dataSource: dataSource, dataUTI: dataUTI, imageQuality: .high) if let attachmentError = dstAttachment.error { owsFailDebug("Could not prepare attachment for output: \(attachmentError).") return attachmentItem.attachment