From 82cbafabaf619c21c642e97f364a226aadc18905 Mon Sep 17 00:00:00 2001 From: Jeff Boek Date: Thu, 18 Jun 2020 10:32:14 -0700 Subject: [PATCH] For #11625 - Fixes tab tray staying open when opening from another app (#11740) --- app/src/main/java/org/mozilla/fenix/HomeActivity.kt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt index 0db13305a..b23ccea97 100644 --- a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt +++ b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt @@ -84,6 +84,7 @@ import org.mozilla.fenix.settings.search.EditCustomSearchEngineFragmentDirection import org.mozilla.fenix.share.AddNewDeviceFragmentDirections import org.mozilla.fenix.sync.SyncedTabsFragmentDirections import org.mozilla.fenix.tabtray.FenixTabsAdapter +import org.mozilla.fenix.tabtray.TabTrayDialogFragment import org.mozilla.fenix.theme.DefaultThemeManager import org.mozilla.fenix.theme.ThemeManager import org.mozilla.fenix.utils.BrowsersCache @@ -216,8 +217,18 @@ open class HomeActivity : LocaleAwareAppCompatActivity() { intent ?: return val intentProcessors = listOf(CrashReporterIntentProcessor()) + externalSourceIntentProcessors - intentProcessors.any { it.process(intent, navHost.navController, this.intent) } + val intentHandled = intentProcessors.any { it.process(intent, navHost.navController, this.intent) } browsingModeManager.mode = getModeFromIntentOrLastKnown(intent) + + if (intentHandled) { + supportFragmentManager + .primaryNavigationFragment + ?.childFragmentManager + ?.fragments + ?.lastOrNull() + ?.let { it as? TabTrayDialogFragment } + ?.also { it.dismissAllowingStateLoss() } + } } /**