From f323105163dea353e89f21a0e6369c1b1903101e Mon Sep 17 00:00:00 2001 From: Grisha Kruglov Date: Fri, 9 Aug 2019 16:25:00 -0700 Subject: [PATCH] No issue: reduce code duplication in BookmarkFragmentInteractor --- .../bookmarks/BookmarkFragmentInteractor.kt | 37 +++++++------------ 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragmentInteractor.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragmentInteractor.kt index 4a65edfdf..0b6e14c06 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragmentInteractor.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragmentInteractor.kt @@ -52,17 +52,7 @@ class BookmarkFragmentInteractor( override fun open(item: BookmarkNode) { when (item.type) { - BookmarkNodeType.ITEM -> { - item.url?.let { url -> - activity!! - .openToBrowserAndLoad( - searchTermOrURL = url, - newTab = true, - from = BrowserDirection.FromBookmarks - ) - } - metrics.track(Event.OpenedBookmark) - } + BookmarkNodeType.ITEM -> openItem(item) BookmarkNodeType.FOLDER -> { navController.nav( R.id.bookmarkFragment, @@ -123,28 +113,29 @@ class BookmarkFragmentInteractor( } override fun openInNewTab(item: BookmarkNode) { - require(item.type == BookmarkNodeType.ITEM) - item.url?.let { url -> - activity?.browsingModeManager?.mode = BrowsingMode.Normal - activity?.openToBrowserAndLoad( - searchTermOrURL = url, - newTab = true, - from = BrowserDirection.FromBookmarks - ) - metrics.track(Event.OpenedBookmarkInNewTab) - } + openItem(item, BrowsingMode.Normal) } override fun openInPrivateTab(item: BookmarkNode) { + openItem(item, BrowsingMode.Private) + } + + private fun openItem(item: BookmarkNode, tabMode: BrowsingMode? = null) { require(item.type == BookmarkNodeType.ITEM) item.url?.let { url -> - activity?.browsingModeManager?.mode = BrowsingMode.Private + tabMode?.let { activity?.browsingModeManager?.mode = it } activity?.openToBrowserAndLoad( searchTermOrURL = url, newTab = true, from = BrowserDirection.FromBookmarks ) - metrics.track(Event.OpenedBookmarkInPrivateTab) + metrics.track( + when (tabMode) { + BrowsingMode.Private -> Event.OpenedBookmarkInPrivateTab + BrowsingMode.Normal -> Event.OpenedBookmarkInNewTab + null -> Event.OpenedBookmark + } + ) } }