No issue: Fix the initial select mode check
This commit is contained in:
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.SelectionHolder
|
||||||
import org.mozilla.fenix.selection.SelectionInteractor
|
import org.mozilla.fenix.selection.SelectionInteractor
|
||||||
import org.mozilla.fenix.tabstray.browser.BrowserTrayInteractor
|
import org.mozilla.fenix.tabstray.browser.BrowserTrayInteractor
|
||||||
|
import org.mozilla.fenix.tabstray.ext.isSelect
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A RecyclerView ViewHolder implementation for "tab" items.
|
* A RecyclerView ViewHolder implementation for "tab" items.
|
||||||
|
@ -206,7 +207,7 @@ abstract class TabsTrayViewHolder(
|
||||||
itemView.setOnClickListener {
|
itemView.setOnClickListener {
|
||||||
val selected = holder.selectedItems
|
val selected = holder.selectedItems
|
||||||
when {
|
when {
|
||||||
selected.isEmpty() -> interactor.open(item)
|
selected.isEmpty() && trayStore.state.mode.isSelect().not() -> interactor.open(item)
|
||||||
item in selected -> interactor.deselect(item)
|
item in selected -> interactor.deselect(item)
|
||||||
else -> interactor.select(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…
Reference in New Issue
Block a user