[fenix] No issue: reduce code duplication in BookmarkFragmentInteractor

pull/600/head
Grisha Kruglov 5 years ago committed by Grisha Kruglov
parent 9b956a3c42
commit 88db14a22f

@ -52,17 +52,7 @@ class BookmarkFragmentInteractor(
override fun open(item: BookmarkNode) { override fun open(item: BookmarkNode) {
when (item.type) { when (item.type) {
BookmarkNodeType.ITEM -> { BookmarkNodeType.ITEM -> openItem(item)
item.url?.let { url ->
activity!!
.openToBrowserAndLoad(
searchTermOrURL = url,
newTab = true,
from = BrowserDirection.FromBookmarks
)
}
metrics.track(Event.OpenedBookmark)
}
BookmarkNodeType.FOLDER -> { BookmarkNodeType.FOLDER -> {
navController.nav( navController.nav(
R.id.bookmarkFragment, R.id.bookmarkFragment,
@ -123,28 +113,29 @@ class BookmarkFragmentInteractor(
} }
override fun openInNewTab(item: BookmarkNode) { override fun openInNewTab(item: BookmarkNode) {
require(item.type == BookmarkNodeType.ITEM) openItem(item, BrowsingMode.Normal)
item.url?.let { url ->
activity?.browsingModeManager?.mode = BrowsingMode.Normal
activity?.openToBrowserAndLoad(
searchTermOrURL = url,
newTab = true,
from = BrowserDirection.FromBookmarks
)
metrics.track(Event.OpenedBookmarkInNewTab)
}
} }
override fun openInPrivateTab(item: BookmarkNode) { override fun openInPrivateTab(item: BookmarkNode) {
openItem(item, BrowsingMode.Private)
}
private fun openItem(item: BookmarkNode, tabMode: BrowsingMode? = null) {
require(item.type == BookmarkNodeType.ITEM) require(item.type == BookmarkNodeType.ITEM)
item.url?.let { url -> item.url?.let { url ->
activity?.browsingModeManager?.mode = BrowsingMode.Private tabMode?.let { activity?.browsingModeManager?.mode = it }
activity?.openToBrowserAndLoad( activity?.openToBrowserAndLoad(
searchTermOrURL = url, searchTermOrURL = url,
newTab = true, newTab = true,
from = BrowserDirection.FromBookmarks from = BrowserDirection.FromBookmarks
) )
metrics.track(Event.OpenedBookmarkInPrivateTab) metrics.track(
when (tabMode) {
BrowsingMode.Private -> Event.OpenedBookmarkInPrivateTab
BrowsingMode.Normal -> Event.OpenedBookmarkInNewTab
null -> Event.OpenedBookmark
}
)
} }
} }

Loading…
Cancel
Save