[Share Extension] Do not offer the possibility to resize an image to large size if one dimension is too high in order to prevent the risk of memory limit exception.

This commit is contained in:
SBiOSoftWhare
2019-03-21 12:50:02 +01:00
parent 9a470fb5d4
commit ecaddf633d
@@ -23,6 +23,8 @@
NSString *const kShareExtensionManagerDidUpdateAccountDataNotification = @"kShareExtensionManagerDidUpdateAccountDataNotification";
static const CGFloat kLargeImageSizeMaxDimension = 2048.0;
typedef NS_ENUM(NSInteger, ImageCompressionMode)
{
ImageCompressionModeNone,
@@ -560,7 +562,9 @@ typedef NS_ENUM(NSInteger, ImageCompressionMode)
}]];
}
if (compressionSizes.large.fileSize)
// Do not offer the possibility to resize an image with a dimension above kLargeImageSizeMaxDimension, to prevent the risk of memory limit exception.
// TODO: Remove this condition when issue https://github.com/vector-im/riot-ios/issues/2341 will be fixed.
if (compressionSizes.large.fileSize && (MAX(compressionSizes.large.imageSize.width, compressionSizes.large.imageSize.height) <= kLargeImageSizeMaxDimension))
{
NSString *resolution = [NSString stringWithFormat:@"%@ (%d x %d)", [MXTools fileSizeToString:compressionSizes.large.fileSize round:NO], (int)compressionSizes.large.imageSize.width, (int)compressionSizes.large.imageSize.height];