From 2cdf5d66733c1b9608fcef81869e4e2fef1708f9 Mon Sep 17 00:00:00 2001 From: David Kaspar Date: Sun, 16 Mar 2025 11:29:33 +0000 Subject: [PATCH 1/2] trim meta data from file name before saving file to disk --- .../vitorpamplona/amethyst/ui/actions/MediaSaverToDisk.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/MediaSaverToDisk.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/MediaSaverToDisk.kt index abed7ed57..78c6b6c7b 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/MediaSaverToDisk.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/MediaSaverToDisk.kt @@ -202,7 +202,7 @@ object MediaSaverToDisk { ) { val contentValues = ContentValues().apply { - put(MediaStore.MediaColumns.DISPLAY_NAME, displayName) + put(MediaStore.MediaColumns.DISPLAY_NAME, trimInlineMetaData(displayName)) put(MediaStore.MediaColumns.MIME_TYPE, contentType) put( MediaStore.MediaColumns.RELATIVE_PATH, @@ -246,7 +246,7 @@ object MediaSaverToDisk { subdirectory.mkdirs() } - val outputFile = File(subdirectory, fileName) + val outputFile = File(subdirectory, trimInlineMetaData(fileName)) outputFile.outputStream().use { contentSource.readAll(it.sink()) } @@ -255,5 +255,7 @@ object MediaSaverToDisk { MediaScannerConnection.scanFile(context, arrayOf(outputFile.toString()), null, null) } + private fun trimInlineMetaData(url: String): String = url.substringBefore("#") + private const val PICTURES_SUBDIRECTORY = "Amethyst" } From 221c58126c53349bb54ad0e69c5bea1782308246 Mon Sep 17 00:00:00 2001 From: David Kaspar Date: Sun, 16 Mar 2025 21:36:13 +0000 Subject: [PATCH 2/2] moved the trimming of inline meta-data to where File is created --- .../vitorpamplona/amethyst/ui/actions/MediaSaverToDisk.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/MediaSaverToDisk.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/MediaSaverToDisk.kt index 78c6b6c7b..5e7583c6f 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/MediaSaverToDisk.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/MediaSaverToDisk.kt @@ -131,14 +131,14 @@ object MediaSaverToDisk { } saveContentQ( - displayName = File(url).nameWithoutExtension, + displayName = File(trimInlineMetaData(url)).nameWithoutExtension, contentType = realType, contentSource = response.body.source(), contentResolver = context.contentResolver, ) } else { saveContentDefault( - fileName = File(url).name, + fileName = File(trimInlineMetaData(url)).name, contentSource = response.body.source(), context = context, ) @@ -202,7 +202,7 @@ object MediaSaverToDisk { ) { val contentValues = ContentValues().apply { - put(MediaStore.MediaColumns.DISPLAY_NAME, trimInlineMetaData(displayName)) + put(MediaStore.MediaColumns.DISPLAY_NAME, displayName) put(MediaStore.MediaColumns.MIME_TYPE, contentType) put( MediaStore.MediaColumns.RELATIVE_PATH, @@ -246,7 +246,7 @@ object MediaSaverToDisk { subdirectory.mkdirs() } - val outputFile = File(subdirectory, trimInlineMetaData(fileName)) + val outputFile = File(subdirectory, fileName) outputFile.outputStream().use { contentSource.readAll(it.sink()) }