diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/VideoView.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/VideoView.kt index 99da3c2fd..77a52c90a 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/VideoView.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/VideoView.kt @@ -28,6 +28,7 @@ import android.net.Uri import android.os.Build import android.util.Log import android.view.View +import android.widget.Toast import androidx.annotation.OptIn import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.core.LinearEasing @@ -1189,9 +1190,17 @@ fun SaveButton(onSaveClick: (localContext: Context) -> Unit) { onSaveClick(localContext) } } - + val scope = rememberCoroutineScope() IconButton( onClick = { + scope.launch { + Toast + .makeText( + localContext, + stringRes(localContext, R.string.video_download_has_started_toast), + Toast.LENGTH_SHORT, + ).show() + } if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q || writeStoragePermissionState.status.isGranted diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableContentDialog.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableContentDialog.kt index 6413a3876..17d98c244 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableContentDialog.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableContentDialog.kt @@ -24,6 +24,7 @@ import android.Manifest import android.content.Context import android.os.Build import android.view.WindowManager +import android.widget.Toast import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut @@ -54,6 +55,7 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.layout.ContentScale @@ -235,10 +237,20 @@ private fun DialogContent( if (myContent !is MediaUrlContent || !myContent.url.endsWith(".m3u8")) { val localContext = LocalContext.current + val scope = rememberCoroutineScope() + val writeStoragePermissionState = rememberPermissionState(Manifest.permission.WRITE_EXTERNAL_STORAGE) { isGranted -> if (isGranted) { saveMediaToGallery(myContent, localContext, accountViewModel) + scope.launch { + Toast + .makeText( + localContext, + stringRes(localContext, R.string.media_download_has_started_toast), + Toast.LENGTH_SHORT, + ).show() + } } } @@ -249,6 +261,14 @@ private fun DialogContent( writeStoragePermissionState.status.isGranted ) { saveMediaToGallery(myContent, localContext, accountViewModel) + scope.launch { + Toast + .makeText( + localContext, + stringRes(localContext, R.string.media_download_has_started_toast), + Toast.LENGTH_SHORT, + ).show() + } } else { writeStoragePermissionState.launchPermissionRequest() } diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableContentView.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableContentView.kt index 4383e9b60..020953990 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableContentView.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/components/ZoomableContentView.kt @@ -676,10 +676,10 @@ fun ShareImageAction( text = { Text(stringRes(R.string.add_media_to_gallery)) }, onClick = { if (videoUri != null) { - var n19 = Nip19Bech32.uriToRoute(postNostrUri)?.entity as? Nip19Bech32.NEvent + val n19 = Nip19Bech32.uriToRoute(postNostrUri)?.entity as? Nip19Bech32.NEvent if (n19 != null) { accountViewModel.addMediaToGallery(n19.hex, videoUri, n19.relay[0], blurhash, dim, hash, mimeType) // TODO Whole list or first? - accountViewModel.toast(R.string.image_saved_to_the_gallery, R.string.image_saved_to_the_gallery) + accountViewModel.toast(R.string.media_added, R.string.media_added_to_profile_gallery) } } diff --git a/amethyst/src/main/res/values-cs/strings.xml b/amethyst/src/main/res/values-cs/strings.xml index 51cdbf94f..cd1ba2510 100644 --- a/amethyst/src/main/res/values-cs/strings.xml +++ b/amethyst/src/main/res/values-cs/strings.xml @@ -905,4 +905,10 @@ Pro otevření a stažení souboru nejsou nainstalovány žádné torrent aplikace. Vyberte seznam pro filtrování kanálu Odhlásit se na zámek zařízení + + Stahování videa bylo zahájeno… + Stahování médií bylo zahájeno… + Média přidána + Média přidána do vaší profilové galerie + diff --git a/amethyst/src/main/res/values-de/strings.xml b/amethyst/src/main/res/values-de/strings.xml index 7d32f82d5..0d90d8d27 100644 --- a/amethyst/src/main/res/values-de/strings.xml +++ b/amethyst/src/main/res/values-de/strings.xml @@ -910,4 +910,10 @@ anz der Bedingungen ist erforderlich Keine Torrent-Apps installiert, um die Datei zu öffnen und herunterzuladen. Liste zum Filtern des Feeds auswählen Beim Sperren des Geräts abmelden + + Der Videodownload wurde gestartet… + Der Mediendownload wurde gestartet… + Medien hinzugefügt + Medien wurden zu Ihrer Profilgalerie hinzugefügt + diff --git a/amethyst/src/main/res/values-pt-rBR/strings.xml b/amethyst/src/main/res/values-pt-rBR/strings.xml index eb1acea8a..34900eda0 100644 --- a/amethyst/src/main/res/values-pt-rBR/strings.xml +++ b/amethyst/src/main/res/values-pt-rBR/strings.xml @@ -905,4 +905,10 @@ Nenhum aplicativo torrent instalado para abrir e baixar o arquivo. Selecione uma lista para filtrar o feed Terminar sessão no bloqueio do dispositivo + + O download do vídeo foi iniciado… + O download da mídia foi iniciado… + Mídia adicionada + Mídia adicionada à sua Galeria de Perfil + diff --git a/amethyst/src/main/res/values-sv-rSE/strings.xml b/amethyst/src/main/res/values-sv-rSE/strings.xml index 98bcc4302..45f2a19e0 100644 --- a/amethyst/src/main/res/values-sv-rSE/strings.xml +++ b/amethyst/src/main/res/values-sv-rSE/strings.xml @@ -904,4 +904,10 @@ Inga torrent-appar installerade för att öppna och ladda ner filen. Välj en lista för att filtrera flödet Logga ut när enheten låses + + Nedladdning av video har startat… + Nedladdning av media har startat… + Media tillagd + Media har lagts till i ditt profilgalleri + diff --git a/amethyst/src/main/res/values/strings.xml b/amethyst/src/main/res/values/strings.xml index cd766d436..2b20ea93e 100644 --- a/amethyst/src/main/res/values/strings.xml +++ b/amethyst/src/main/res/values/strings.xml @@ -126,6 +126,8 @@ LN URL (outdated) Save to Gallery Image saved to the phone\'s photo gallery + Video download has started… + Media download has started… Failed to save the image Video saved to the phone\'s video gallery Failed to save the video @@ -709,6 +711,8 @@ Copy URL to clipboard Copy Note ID to clipboard Add Media to Gallery + Media added + Media added to your Profile Gallery Created at Rules