|
|
@ -15,6 +15,7 @@ import mozilla.components.browser.state.selector.normalTabs
|
|
|
|
import mozilla.components.browser.state.store.BrowserStore
|
|
|
|
import mozilla.components.browser.state.store.BrowserStore
|
|
|
|
import mozilla.components.concept.engine.prompt.ShareData
|
|
|
|
import mozilla.components.concept.engine.prompt.ShareData
|
|
|
|
import mozilla.components.concept.tabstray.Tab
|
|
|
|
import mozilla.components.concept.tabstray.Tab
|
|
|
|
|
|
|
|
import mozilla.components.service.fxa.manager.FxaAccountManager
|
|
|
|
import org.mozilla.fenix.collections.CollectionsDialog
|
|
|
|
import org.mozilla.fenix.collections.CollectionsDialog
|
|
|
|
import org.mozilla.fenix.collections.show
|
|
|
|
import org.mozilla.fenix.collections.show
|
|
|
|
import org.mozilla.fenix.components.TabCollectionStorage
|
|
|
|
import org.mozilla.fenix.components.TabCollectionStorage
|
|
|
@ -89,7 +90,8 @@ class DefaultNavigationInteractor(
|
|
|
|
private val dismissTabTrayAndNavigateHome: (String) -> Unit,
|
|
|
|
private val dismissTabTrayAndNavigateHome: (String) -> Unit,
|
|
|
|
private val bookmarksUseCase: BookmarksUseCase,
|
|
|
|
private val bookmarksUseCase: BookmarksUseCase,
|
|
|
|
private val tabsTrayStore: TabsTrayStore,
|
|
|
|
private val tabsTrayStore: TabsTrayStore,
|
|
|
|
private val collectionStorage: TabCollectionStorage
|
|
|
|
private val collectionStorage: TabCollectionStorage,
|
|
|
|
|
|
|
|
private val accountManager: FxaAccountManager
|
|
|
|
) : NavigationInteractor {
|
|
|
|
) : NavigationInteractor {
|
|
|
|
|
|
|
|
|
|
|
|
override fun onTabTrayDismissed() {
|
|
|
|
override fun onTabTrayDismissed() {
|
|
|
@ -97,18 +99,26 @@ class DefaultNavigationInteractor(
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
override fun onAccountSettingsClicked() {
|
|
|
|
override fun onAccountSettingsClicked() {
|
|
|
|
navController.navigateBlockingForAsyncNavGraph(
|
|
|
|
val isSignedIn = accountManager.authenticatedAccount() != null
|
|
|
|
TabsTrayFragmentDirections.actionGlobalAccountSettingsFragment())
|
|
|
|
|
|
|
|
|
|
|
|
val direction = if (isSignedIn) {
|
|
|
|
|
|
|
|
TabsTrayFragmentDirections.actionGlobalAccountSettingsFragment()
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
TabsTrayFragmentDirections.actionGlobalTurnOnSync()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
navController.navigateBlockingForAsyncNavGraph(direction)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
override fun onTabSettingsClicked() {
|
|
|
|
override fun onTabSettingsClicked() {
|
|
|
|
navController.navigateBlockingForAsyncNavGraph(
|
|
|
|
navController.navigateBlockingForAsyncNavGraph(
|
|
|
|
TabsTrayFragmentDirections.actionGlobalTabSettingsFragment())
|
|
|
|
TabsTrayFragmentDirections.actionGlobalTabSettingsFragment()
|
|
|
|
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
override fun onOpenRecentlyClosedClicked() {
|
|
|
|
override fun onOpenRecentlyClosedClicked() {
|
|
|
|
navController.navigateBlockingForAsyncNavGraph(
|
|
|
|
navController.navigateBlockingForAsyncNavGraph(
|
|
|
|
TabsTrayFragmentDirections.actionGlobalRecentlyClosed())
|
|
|
|
TabsTrayFragmentDirections.actionGlobalRecentlyClosed()
|
|
|
|
|
|
|
|
)
|
|
|
|
metrics.track(Event.RecentlyClosedTabsOpened)
|
|
|
|
metrics.track(Event.RecentlyClosedTabsOpened)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|