Skip to content

Commit b273a7b

Browse files
committed
Add DNG as a valid photo filetype
1 parent 5590f09 commit b273a7b

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

SignalServiceKit/Util/ImageMetadata/ImageMetadata.swift

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ public enum ImageFormat: CustomStringConvertible {
1212
case tiff
1313
case jpeg
1414
case bmp
15+
case dng
1516
case webp
1617
case heic
1718
case heif
@@ -30,6 +31,8 @@ public enum ImageFormat: CustomStringConvertible {
3031
"ImageFormat_Jpeg"
3132
case .bmp:
3233
"ImageFormat_Bmp"
34+
case .dng:
35+
"ImageFormat_Dng"
3336
case .webp:
3437
"ImageFormat_Webp"
3538
case .heic:
@@ -51,6 +54,8 @@ public enum ImageFormat: CustomStringConvertible {
5154
return MimeType.imageJpeg
5255
case .bmp:
5356
return MimeType.imageBmp
57+
case .dng:
58+
return MimeType.imageDng
5459
case .webp:
5560
return MimeType.imageWebp
5661
case .heic:
@@ -66,7 +71,7 @@ public enum ImageFormat: CustomStringConvertible {
6671
switch self {
6772
case .unknown:
6873
return false
69-
case .png, .tiff, .jpeg, .bmp, .webp, .heic, .heif:
74+
case .png, .tiff, .jpeg, .bmp, .dng, .webp, .heic, .heif:
7075
return true
7176
case .gif:
7277
return source.ows_hasValidGifSize
@@ -98,6 +103,9 @@ public enum ImageFormat: CustomStringConvertible {
98103
guard let mimeType else { return true }
99104
return (mimeType.caseInsensitiveCompare(MimeType.imageBmp.rawValue) == .orderedSame ||
100105
mimeType.caseInsensitiveCompare(MimeType.imageXWindowsBmp.rawValue) == .orderedSame)
106+
case .dng:
107+
guard let mimeType else { return true }
108+
return mimeType.caseInsensitiveCompare(MimeType.imageDng.rawValue) == .orderedSame
101109
case .webp:
102110
guard let mimeType else { return true }
103111
return mimeType.caseInsensitiveCompare(MimeType.imageWebp.rawValue) == .orderedSame

SignalServiceKit/Util/MimeTypeUtil.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ public enum MimeType: String {
1515
case applicationZip = "application/zip"
1616
case imageApng = "image/apng"
1717
case imageBmp = "image/bmp"
18+
case imageDng = "image/x-adobe-dng"
1819
case imageGif = "image/gif"
1920
case imageHeic = "image/heic"
2021
case imageHeif = "image/heif"
@@ -74,7 +75,7 @@ public enum MimeTypeUtil {
7475
public static let supportedAudioUtiTypes: Set<String> = Set(utiTypesForMimeTypes(supportedAudioMimeTypesToExtensionTypes.keys))
7576
public static let supportedInputImageUtiTypes: Set<String> = Set(utiTypesForMimeTypes(supportedImageMimeTypesToExtensionTypes.keys))
7677
public static let supportedOutputImageUtiTypes: Set<String> = Set(utiTypesForMimeTypes(supportedImageMimeTypesToExtensionTypes.keys,
77-
excluding: [MimeType.imageWebp.rawValue, MimeType.imageHeic.rawValue, MimeType.imageHeif.rawValue]))
78+
excluding: [MimeType.imageWebp.rawValue, MimeType.imageHeic.rawValue, MimeType.imageHeif.rawValue, MimeType.imageDng.rawValue]))
7879
public static let supportedAnimatedImageUtiTypes: Set<String> = Set(utiTypesForMimeTypes(supportedMaybeAnimatedMimeTypesToExtensionTypes.keys))
7980
private static func utiTypesForMimeTypes<S: Sequence<String>>(_ mimeTypes: S, excluding excludedMimeTypes: Set<String>? = nil) -> Set<String> {
8081
var result = Set<String>()
@@ -188,6 +189,7 @@ public enum MimeTypeUtil {
188189
MimeType.imageXTiff.rawValue: "tif",
189190
MimeType.imageBmp.rawValue: "bmp",
190191
MimeType.imageXWindowsBmp.rawValue: "bmp",
192+
MimeType.imageDng.rawValue: "dng",
191193
MimeType.imageHeic.rawValue: "heic",
192194
MimeType.imageHeif.rawValue: "heif",
193195
MimeType.imageWebp.rawValue: "webp",

0 commit comments

Comments
 (0)