Issue #19647: Navigate to browser from home via Synced Tabs page

(cherry picked from commit 758700cbb0)
pull/420/head
Jonathan Almeida 3 years ago committed by Jonathan Almeida
parent d8b8636a8f
commit 614bc4a9c3

@ -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)
}

@ -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
@ -807,8 +808,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)
}

@ -198,11 +198,13 @@ class DefaultNavigationInteractor(
tabsTrayStore.dispatch(TabsTrayAction.ExitSelectMode)
// 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,

@ -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.runBlockingTest
import mozilla.components.browser.state.state.BrowserState
@ -249,8 +250,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,

Loading…
Cancel
Save