From 21bd37943877b2e223e67cb2a9f2e4f205859c17 Mon Sep 17 00:00:00 2001 From: Sebastian Kaspari Date: Tue, 26 May 2020 13:56:36 +0200 Subject: [PATCH] Issue #9815: Allow Intents to set HomeActivity.OPEN_TO_BROWSER. --- .../main/java/org/mozilla/fenix/IntentReceiverActivity.kt | 8 +++++++- .../java/org/mozilla/fenix/browser/BaseBrowserFragment.kt | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) 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,