[fenix] For https://github.com/mozilla-mobile/fenix/issues/22226 - Open grouped history entries the same as individual ones

pull/600/head
Mugurell 3 years ago committed by mergify[bot]
parent c0fde2bebb
commit 33486f8434

@ -101,7 +101,17 @@ class HistoryFragment : LibraryPageFragment<History>(), UserInteractionHandler {
return view return view
} }
override val selectedItems get() = historyStore.state.mode.selectedItems /**
* All the current selected items. Individual history entries and entries from a group.
* When a history group is selected, this will instead contain all the history entries in that group.
*/
override val selectedItems
get() = historyStore.state.mode.selectedItems.fold(emptyList<History>()) { accumulator, item ->
when (item) {
is History.Group -> accumulator + item.items
else -> accumulator + item
}
}.toSet()
private fun invalidateOptionsMenu() { private fun invalidateOptionsMenu() {
activity?.invalidateOptionsMenu() activity?.invalidateOptionsMenu()
@ -206,9 +216,8 @@ class HistoryFragment : LibraryPageFragment<History>(), UserInteractionHandler {
} }
R.id.open_history_in_new_tabs_multi_select -> { R.id.open_history_in_new_tabs_multi_select -> {
openItemsInNewTab { selectedItem -> openItemsInNewTab { selectedItem ->
selectedItem as History.Regular
requireComponents.analytics.metrics.track(Event.HistoryOpenedInNewTabs) requireComponents.analytics.metrics.track(Event.HistoryOpenedInNewTabs)
selectedItem.url (selectedItem as? History.Regular)?.url ?: (selectedItem as? History.Metadata)?.url
} }
showTabTray() showTabTray()
@ -216,9 +225,8 @@ class HistoryFragment : LibraryPageFragment<History>(), UserInteractionHandler {
} }
R.id.open_history_in_private_tabs_multi_select -> { R.id.open_history_in_private_tabs_multi_select -> {
openItemsInNewTab(private = true) { selectedItem -> openItemsInNewTab(private = true) { selectedItem ->
selectedItem as History.Regular
requireComponents.analytics.metrics.track(Event.HistoryOpenedInPrivateTabs) requireComponents.analytics.metrics.track(Event.HistoryOpenedInPrivateTabs)
selectedItem.url (selectedItem as? History.Regular)?.url ?: (selectedItem as? History.Metadata)?.url
} }
(activity as HomeActivity).apply { (activity as HomeActivity).apply {

Loading…
Cancel
Save