catch exception when sharing image

Show toast
This commit is contained in:
davotoula
2025-09-12 21:39:57 +02:00
parent 4fb629e893
commit 6dd2f47fc9
2 changed files with 20 additions and 12 deletions

View File

@@ -22,6 +22,8 @@ package com.vitorpamplona.amethyst.ui.components
import android.content.Context
import android.content.Intent
import android.util.Log
import android.widget.Toast
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.AnimatedVisibilityScope
import androidx.compose.animation.fadeIn
@@ -786,21 +788,26 @@ private suspend fun shareImageFile(
videoUri: String,
mimeType: String?,
) {
// Get sharable URI and file extension
val (uri, fileExtension) = ShareHelper.getSharableUriFromUrl(context, videoUri)
try {
// Get sharable URI and file extension
val (uri, fileExtension) = ShareHelper.getSharableUriFromUrl(context, videoUri)
// Determine mime type, use provided or derive from extension
val determinedMimeType = mimeType ?: "image/$fileExtension"
// Determine mime type, use provided or derive from extension
val determinedMimeType = mimeType ?: "image/$fileExtension"
// Create share intent
val shareIntent =
Intent(Intent.ACTION_SEND).apply {
type = determinedMimeType
putExtra(Intent.EXTRA_STREAM, uri)
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
}
// Create share intent
val shareIntent =
Intent(Intent.ACTION_SEND).apply {
type = determinedMimeType
putExtra(Intent.EXTRA_STREAM, uri)
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
}
context.startActivity(Intent.createChooser(shareIntent, null))
context.startActivity(Intent.createChooser(shareIntent, null))
} catch (e: Exception) {
Log.w("ZoomableContentView", "Failed to share image: $videoUri", e)
Toast.makeText(context, context.getString(R.string.unable_to_share_image), Toast.LENGTH_SHORT).show()
}
}
private fun verifyHash(content: MediaUrlContent): Boolean? {

View File

@@ -1238,6 +1238,7 @@
<string name="group_relay">Chat Relay</string>
<string name="group_relay_explanation">The relay that all users of this chat connect to</string>
<string name="share_image">Share image…</string>
<string name="unable_to_share_image">Unable to share image, please try again later…</string>
<string name="search_by_hashtag">Search hashtag: #%1$s</string>