No issue: reduce code duplication in BookmarkFragmentInteractor
This commit is contained in:
parent
5fe05e919a
commit
f323105163
|
@ -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…
Reference in New Issue