diff --git a/app/src/main/java/org/mozilla/fenix/share/ShareController.kt b/app/src/main/java/org/mozilla/fenix/share/ShareController.kt
index 9e293bbbe..8c9b40b36 100644
--- a/app/src/main/java/org/mozilla/fenix/share/ShareController.kt
+++ b/app/src/main/java/org/mozilla/fenix/share/ShareController.kt
@@ -13,11 +13,14 @@ import androidx.annotation.VisibleForTesting
import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.Fragment
import androidx.navigation.NavController
+import com.google.android.material.snackbar.Snackbar
import mozilla.components.concept.sync.Device
import mozilla.components.concept.sync.TabData
import mozilla.components.feature.sendtab.SendTabUseCases
import org.mozilla.fenix.R
+import org.mozilla.fenix.components.FenixSnackbar
import org.mozilla.fenix.components.metrics.Event
+import org.mozilla.fenix.ext.getRootView
import org.mozilla.fenix.ext.metrics
import org.mozilla.fenix.ext.nav
import org.mozilla.fenix.share.listadapters.AppShareOption
@@ -71,7 +74,16 @@ class DefaultShareController(
flags = FLAG_ACTIVITY_NEW_TASK
setClassName(app.packageName, app.activityName)
}
- fragment.startActivity(intent)
+
+ try {
+ fragment.startActivity(intent)
+ } catch (e: SecurityException) {
+ context.getRootView()?.let {
+ FenixSnackbar.make(it, Snackbar.LENGTH_LONG)
+ .setText(context.getString(R.string.share_error_snackbar))
+ .show()
+ }
+ }
dismiss()
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 3cf37f4a2..1aa42ac25 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -593,6 +593,8 @@
To send a tab, sign in to Firefox on at least one other device.
Got it
+
+ Cannot share to this app