From 758700cbb09b1309fe7304083288667a88a2f74d Mon Sep 17 00:00:00 2001 From: Jonathan Almeida Date: Wed, 26 May 2021 14:53:12 -0400 Subject: [PATCH] Issue #19647: Navigate to browser from home via Synced Tabs page --- app/src/main/java/org/mozilla/fenix/BrowserDirection.kt | 3 ++- app/src/main/java/org/mozilla/fenix/HomeActivity.kt | 5 ++++- .../org/mozilla/fenix/tabstray/NavigationInteractor.kt | 4 +++- .../org/mozilla/fenix/tabstray/NavigationInteractorTest.kt | 7 +++++-- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/BrowserDirection.kt b/app/src/main/java/org/mozilla/fenix/BrowserDirection.kt index e14c6c048..6b3734e59 100644 --- a/app/src/main/java/org/mozilla/fenix/BrowserDirection.kt +++ b/app/src/main/java/org/mozilla/fenix/BrowserDirection.kt @@ -31,6 +31,7 @@ enum class BrowserDirection(@IdRes val fragmentId: Int) { FromAddonDetailsFragment(R.id.addonDetailsFragment), FromAddonPermissionsDetailsFragment(R.id.addonPermissionsDetailFragment), FromLoginDetailFragment(R.id.loginDetailFragment), - FromTabTray(R.id.tabTrayDialogFragment), + FromTabTrayDialog(R.id.tabTrayDialogFragment), + FromTabTray(R.id.tabsTrayFragment), FromRecentlyClosed(R.id.recentlyClosedFragment) } diff --git a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt index 53ff667c9..5317b9c2d 100644 --- a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt +++ b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt @@ -112,6 +112,7 @@ import org.mozilla.fenix.settings.search.AddSearchEngineFragmentDirections import org.mozilla.fenix.settings.search.EditCustomSearchEngineFragmentDirections import org.mozilla.fenix.share.AddNewDeviceFragmentDirections import org.mozilla.fenix.sync.SyncedTabsFragmentDirections +import org.mozilla.fenix.tabstray.TabsTrayFragmentDirections import org.mozilla.fenix.tabtray.TabTrayDialogFragment import org.mozilla.fenix.tabtray.TabTrayDialogFragmentDirections import org.mozilla.fenix.theme.DefaultThemeManager @@ -812,8 +813,10 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity { AddonPermissionsDetailsFragmentDirections.actionGlobalBrowser(customTabSessionId) BrowserDirection.FromLoginDetailFragment -> LoginDetailFragmentDirections.actionGlobalBrowser(customTabSessionId) - BrowserDirection.FromTabTray -> + BrowserDirection.FromTabTrayDialog -> TabTrayDialogFragmentDirections.actionGlobalBrowser(customTabSessionId) + BrowserDirection.FromTabTray -> + TabsTrayFragmentDirections.actionGlobalBrowser(customTabSessionId) BrowserDirection.FromRecentlyClosed -> RecentlyClosedFragmentDirections.actionGlobalBrowser(customTabSessionId) } diff --git a/app/src/main/java/org/mozilla/fenix/tabstray/NavigationInteractor.kt b/app/src/main/java/org/mozilla/fenix/tabstray/NavigationInteractor.kt index 4e8714261..b875a28ac 100644 --- a/app/src/main/java/org/mozilla/fenix/tabstray/NavigationInteractor.kt +++ b/app/src/main/java/org/mozilla/fenix/tabstray/NavigationInteractor.kt @@ -198,11 +198,13 @@ class DefaultNavigationInteractor( } } - // TODO show successful snackbar here (regardless of operation succes). + // TODO show successful snackbar here (regardless of operation success). } override fun onSyncedTabClicked(tab: SyncTab) { metrics.track(Event.SyncedTabOpened) + + dismissTabTray() activity.openToBrowserAndLoad( searchTermOrURL = tab.active().url, newTab = true, diff --git a/app/src/test/java/org/mozilla/fenix/tabstray/NavigationInteractorTest.kt b/app/src/test/java/org/mozilla/fenix/tabstray/NavigationInteractorTest.kt index 2eeb75a9a..7b9484fd4 100644 --- a/app/src/test/java/org/mozilla/fenix/tabstray/NavigationInteractorTest.kt +++ b/app/src/test/java/org/mozilla/fenix/tabstray/NavigationInteractorTest.kt @@ -13,6 +13,7 @@ import io.mockk.mockk import io.mockk.verify import io.mockk.mockkStatic import io.mockk.unmockkStatic +import io.mockk.verifyOrder import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.TestCoroutineDispatcher import kotlinx.coroutines.test.runBlockingTest @@ -258,8 +259,10 @@ class NavigationInteractorTest { navigationInteractor.onSyncedTabClicked(tab) - verify { metrics.track(Event.SyncedTabOpened) } - verify { + verifyOrder { + metrics.track(Event.SyncedTabOpened) + + dismissTabTray() activity.openToBrowserAndLoad( searchTermOrURL = "https://mozilla.org", newTab = true,