No issue: Fix the initial select mode check

upstream-sync
Jonathan Almeida 3 years ago committed by Jonathan Almeida
parent ad483903ed
commit 1e09d50fd7

@ -38,6 +38,7 @@ import org.mozilla.fenix.ext.toShortUrl
import org.mozilla.fenix.selection.SelectionHolder
import org.mozilla.fenix.selection.SelectionInteractor
import org.mozilla.fenix.tabstray.browser.BrowserTrayInteractor
import org.mozilla.fenix.tabstray.ext.isSelect
/**
* A RecyclerView ViewHolder implementation for "tab" items.
@ -206,7 +207,7 @@ abstract class TabsTrayViewHolder(
itemView.setOnClickListener {
val selected = holder.selectedItems
when {
selected.isEmpty() -> interactor.open(item)
selected.isEmpty() && trayStore.state.mode.isSelect().not() -> interactor.open(item)
item in selected -> interactor.deselect(item)
else -> interactor.select(item)
}

@ -0,0 +1,12 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.fenix.tabstray.ext
import org.mozilla.fenix.tabstray.TabsTrayState.Mode
/**
* A helper to check if we're in [Mode.Select] mode.
*/
fun Mode.isSelect() = this is Mode.Select
Loading…
Cancel
Save