From 0d514a46d7e8068155cdd5951ea028cfa35fb007 Mon Sep 17 00:00:00 2001 From: davotoula Date: Wed, 18 Mar 2026 10:36:56 +0100 Subject: [PATCH] feat: add privacy toggle to ImageVideoDescription Add stripMetadata state and SettingSwitchItem toggle. Extend onAdd callback signature with 6th Boolean parameter for stripMetadata. Co-Authored-By: Claude Opus 4.6 --- .../creators/uploads/ImageVideoDescription.kt | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/creators/uploads/ImageVideoDescription.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/creators/uploads/ImageVideoDescription.kt index 97cace540..d5cabd69d 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/creators/uploads/ImageVideoDescription.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/creators/uploads/ImageVideoDescription.kt @@ -79,7 +79,7 @@ fun ImageVideoDescription( uris: MultiOrchestrator, defaultServer: ServerName, isUploading: Boolean, - onAdd: (String, ServerName, Boolean, Int, Boolean) -> Unit, + onAdd: (String, ServerName, Boolean, Int, Boolean, Boolean) -> Unit, onDelete: (SelectedMediaProcessing) -> Unit, onCancel: () -> Unit, accountViewModel: AccountViewModel, @@ -108,6 +108,8 @@ fun ImageVideoDescription( // Codec selection: false = H264, true = H265 var useH265Codec by remember { mutableStateOf(false) } + var stripMetadata by remember { mutableStateOf(true) } + Column( modifier = Modifier @@ -248,6 +250,17 @@ fun ImageVideoDescription( ) } + SettingSwitchItem( + title = R.string.strip_metadata_label, + description = R.string.strip_metadata_description, + modifier = + Modifier + .fillMaxWidth() + .padding(top = 8.dp), + checked = stripMetadata, + onCheckedChange = { stripMetadata = it }, + ) + Row( verticalAlignment = Alignment.CenterVertically, modifier = @@ -321,7 +334,7 @@ fun ImageVideoDescription( .fillMaxWidth() .padding(vertical = 10.dp), enabled = !isUploading, - onClick = { onAdd(message, selectedServer, sensitiveContent, mediaQualitySlider, useH265Codec) }, + onClick = { onAdd(message, selectedServer, sensitiveContent, mediaQualitySlider, useH265Codec, stripMetadata) }, shape = QuoteBorder, colors = ButtonDefaults.buttonColors(