From c3041bcb648177d9cf0cb35ca32150375f35681e Mon Sep 17 00:00:00 2001 From: Mihai Eduard Badea Date: Tue, 21 Jul 2020 10:18:13 +0300 Subject: [PATCH] For issue #12387 - Display tab tray using .show Replaced the global navigation action used for displaying the tab tray with the .show() function. --- .../fenix/library/bookmarks/BookmarkFragment.kt | 10 ++++++++-- .../fenix/library/history/HistoryFragment.kt | 15 +++++++++------ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt index 9b76c072f..b0bce78ee 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt @@ -51,6 +51,7 @@ import org.mozilla.fenix.ext.nav import org.mozilla.fenix.ext.requireComponents import org.mozilla.fenix.ext.toShortUrl import org.mozilla.fenix.library.LibraryPageFragment +import org.mozilla.fenix.tabtray.TabTrayDialogFragment import org.mozilla.fenix.utils.allowUndo /** @@ -207,14 +208,14 @@ class BookmarkFragment : LibraryPageFragment(), UserInteractionHan R.id.open_bookmarks_in_new_tabs_multi_select -> { openItemsInNewTab { node -> node.url } - navigate(BookmarkFragmentDirections.actionGlobalTabTrayDialogFragment()) + showTabTray() metrics?.track(Event.OpenedBookmarksInNewTabs) true } R.id.open_bookmarks_in_private_tabs_multi_select -> { openItemsInNewTab(private = true) { node -> node.url } - navigate(BookmarkFragmentDirections.actionGlobalTabTrayDialogFragment()) + showTabTray() metrics?.track(Event.OpenedBookmarksInPrivateTabs) true } @@ -237,6 +238,11 @@ class BookmarkFragment : LibraryPageFragment(), UserInteractionHan } } + private fun showTabTray() { + invokePendingDeletion() + TabTrayDialogFragment.show(parentFragmentManager) + } + private fun navigate(directions: NavDirections) { invokePendingDeletion() findNavController().nav( diff --git a/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt b/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt index a228d12c7..8b8179fa0 100644 --- a/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt @@ -44,6 +44,7 @@ import org.mozilla.fenix.ext.requireComponents import org.mozilla.fenix.ext.showToolbar import org.mozilla.fenix.ext.toShortUrl import org.mozilla.fenix.library.LibraryPageFragment +import org.mozilla.fenix.tabtray.TabTrayDialogFragment import org.mozilla.fenix.utils.allowUndo @SuppressWarnings("TooManyFunctions", "LargeClass") @@ -184,9 +185,7 @@ class HistoryFragment : LibraryPageFragment(), UserInteractionHandl selectedItem.url } - navigate( - HistoryFragmentDirections.actionGlobalTabTrayDialogFragment() - ) + showTabTray() true } R.id.open_history_in_private_tabs_multi_select -> { @@ -199,14 +198,18 @@ class HistoryFragment : LibraryPageFragment(), UserInteractionHandl browsingModeManager.mode = BrowsingMode.Private supportActionBar?.hide() } - navigate( - HistoryFragmentDirections.actionGlobalTabTrayDialogFragment() - ) + + showTabTray() true } else -> super.onOptionsItemSelected(item) } + private fun showTabTray() { + invokePendingDeletion() + TabTrayDialogFragment.show(parentFragmentManager) + } + private fun getMultiSelectSnackBarMessage(historyItems: Set): String { return if (historyItems.size > 1) { getString(R.string.history_delete_multiple_items_snackbar)