diff --git a/.package.resolved b/.package.resolved index 8802900ce..09bbeed44 100644 --- a/.package.resolved +++ b/.package.resolved @@ -86,8 +86,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/Infomaniak/ios-core", "state" : { - "revision" : "f0442baed7595fbd59119e5ae2ddcd82fee3832b", - "version" : "4.1.11" + "revision" : "749bcfa71388c0d46129d448f0aff3e7ae476da5", + "version" : "4.1.12" } }, { diff --git a/kDriveCore/Utils/Files/FileImportHelper+Upload.swift b/kDriveCore/Utils/Files/FileImportHelper+Upload.swift index f406949e2..4b6b621d6 100644 --- a/kDriveCore/Utils/Files/FileImportHelper+Upload.swift +++ b/kDriveCore/Utils/Files/FileImportHelper+Upload.swift @@ -145,9 +145,13 @@ public extension FileImportHelper { return url } - static func getDefaultFileName() -> String { + private static let fileNameDateFormatter: DateFormatter = { let formatter = DateFormatter() formatter.dateFormat = "yyyyMMdd_HHmmssSS" - return formatter.string(from: Date()) + return formatter + }() + + static func getDefaultFileName() -> String { + return Self.fileNameDateFormatter.string(from: Date()) } } diff --git a/kDriveCore/Utils/PHAsset+Exension.swift b/kDriveCore/Utils/PHAsset+Exension.swift index 1b6b8d1bd..8d9c94d91 100644 --- a/kDriveCore/Utils/PHAsset+Exension.swift +++ b/kDriveCore/Utils/PHAsset+Exension.swift @@ -39,7 +39,16 @@ public extension PHAsset { guard let resource = bestResource() else { return nil } let lastPathComponent = resource.originalFilename.split(separator: ".") - return "\(lastPathComponent[0]).\(uti.preferredFilenameExtension ?? "")" + let filename = lastPathComponent[0] + let preferredFilenameExtension = uti.preferredFilenameExtension ?? "" + + // Edited pictures on Photo.app have the same name, using modification date instead + guard filename != "FullSizeRender" else { + let editDate = modificationDate ?? Date() + return "\(URL.defaultFileName(date: editDate)).\(preferredFilenameExtension)" + } + + return "\(filename).\(preferredFilenameExtension)" } func bestResource() -> PHAssetResource? {