For #14954 - Use TabSessionState.id to check if tab is selected

upstream-sync
Alexandru2909 2 years ago committed by mergify[bot]
parent 4c4062362c
commit d7803e6dc7

@ -170,7 +170,7 @@ internal object TabsTrayReducer {
is TabsTrayAction.AddSelectTab ->
state.copy(mode = TabsTrayState.Mode.Select(state.mode.selectedTabs + action.tab))
is TabsTrayAction.RemoveSelectTab -> {
val selected = state.mode.selectedTabs - action.tab
val selected = state.mode.selectedTabs.filter { it.id != action.tab.id }.toSet()
state.copy(
mode = if (selected.isEmpty()) {
TabsTrayState.Mode.Normal

@ -223,7 +223,7 @@ abstract class AbstractBrowserTabViewHolder(
selected.isEmpty() && trayStore.state.mode.isSelect().not() -> {
interactor.onTabSelected(item, featureName)
}
item in selected -> interactor.deselect(item)
item.id in selected.map { item -> item.id } -> interactor.deselect(item)
else -> interactor.select(item)
}
}

@ -91,7 +91,10 @@ class BrowserTabsAdapter(
}
selectionHolder?.let {
holder.showTabIsMultiSelectEnabled(selectedMaskView, it.selectedItems.contains(tab))
holder.showTabIsMultiSelectEnabled(
selectedMaskView,
(it.selectedItems.map { item -> item.id }).contains(tab.id)
)
}
}
}
@ -129,7 +132,10 @@ class BrowserTabsAdapter(
selectedMaskView = listBinding.checkboxInclude.selectedMask
}
}
holder.showTabIsMultiSelectEnabled(selectedMaskView, it.selectedItems.contains(holder.tab))
holder.showTabIsMultiSelectEnabled(
selectedMaskView,
it.selectedItems.map { item -> item.id }.contains(tab.id)
)
}
}

Loading…
Cancel
Save