From 85721ea345825d7a35929f45c15e53937462b10d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Coye=20de=20Brune=CC=81lis?= Date: Mon, 15 Jan 2024 12:53:32 +0100 Subject: [PATCH] fix: UIImage was wrongfully detected with files containing an image --- .../NSItemProvider+Detect.swift | 9 ++++----- .../InfomaniakCore/ItemProviderRepresentation/UTI.swift | 1 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Sources/InfomaniakCore/ItemProviderRepresentation/NSItemProvider+Detect.swift b/Sources/InfomaniakCore/ItemProviderRepresentation/NSItemProvider+Detect.swift index 39b222e..5b1e624 100644 --- a/Sources/InfomaniakCore/ItemProviderRepresentation/NSItemProvider+Detect.swift +++ b/Sources/InfomaniakCore/ItemProviderRepresentation/NSItemProvider+Detect.swift @@ -21,9 +21,8 @@ import InfomaniakDI /// Extending NSItemProvider for detecting file type, business logic. public extension NSItemProvider { - /// image identifiers supported by the app + /// image file identifiers supported by the app private static let imageUTIIdentifiers = [ - UTI.image.identifier, UTI.jpeg.identifier, UTI.tiff.identifier, UTI.gif.identifier, @@ -87,13 +86,13 @@ public extension NSItemProvider { return .isText } else if hasItemConformingToAnyOfTypeIdentifiers(Self.imageUTIIdentifiers) { return .isImageData + } else if registeredTypeIdentifiers.count == 1 && + registeredTypeIdentifiers.first == UTI.image.identifier { + return .isUIImage } else if hasItemConformingToAnyOfTypeIdentifiers(Self.directoryUTIIdentifiers) { return .isDirectory } else if hasItemConformingToAnyOfTypeIdentifiers(Self.compressedUTIIdentifiers) { return .isCompressedData(identifier: typeIdentifier) - } else if registeredTypeIdentifiers.count == 1 && - registeredTypeIdentifiers.first == UTI.image.identifier { - return .isUIImage } else { return .isMiscellaneous(identifier: typeIdentifier) } diff --git a/Sources/InfomaniakCore/ItemProviderRepresentation/UTI.swift b/Sources/InfomaniakCore/ItemProviderRepresentation/UTI.swift index e9fb271..2984c53 100644 --- a/Sources/InfomaniakCore/ItemProviderRepresentation/UTI.swift +++ b/Sources/InfomaniakCore/ItemProviderRepresentation/UTI.swift @@ -311,6 +311,7 @@ public struct UTI: RawRepresentable { public static let webArchive = UTI(rawValue: kUTTypeWebArchive) + /// Typical for UIImage public static let image = UTI(rawValue: kUTTypeImage) public static let jpeg = UTI(rawValue: kUTTypeJPEG)