diff --git a/app/src/main/java/org/mozilla/fenix/IntentReceiverActivity.kt b/app/src/main/java/org/mozilla/fenix/IntentReceiverActivity.kt index fff6061a4..08f2add71 100644 --- a/app/src/main/java/org/mozilla/fenix/IntentReceiverActivity.kt +++ b/app/src/main/java/org/mozilla/fenix/IntentReceiverActivity.kt @@ -50,7 +50,13 @@ class IntentReceiverActivity : Activity() { private fun launch(intent: Intent, intentProcessorType: IntentProcessorType) { intent.setClassName(applicationContext, intentProcessorType.activityClassName) - intent.putExtra(HomeActivity.OPEN_TO_BROWSER, intentProcessorType.shouldOpenToBrowser(intent)) + + if (!intent.hasExtra(HomeActivity.OPEN_TO_BROWSER)) { + intent.putExtra( + HomeActivity.OPEN_TO_BROWSER, + intentProcessorType.shouldOpenToBrowser(intent) + ) + } startActivity(intent) finish() // must finish() after starting the other activity diff --git a/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt index 9b443df3c..bad6f7cd4 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt @@ -205,6 +205,7 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Session customTabSession = customTabSessionId?.let { sessionManager.findSessionById(it) }, openInFenixIntent = Intent(context, IntentReceiverActivity::class.java).apply { action = Intent.ACTION_VIEW + putExtra(HomeActivity.OPEN_TO_BROWSER, true) }, bookmarkTapped = { viewLifecycleOwner.lifecycleScope.launch { bookmarkTapped(it) } }, scope = viewLifecycleOwner.lifecycleScope,