Handle missing isSearchActive

This commit is contained in:
Maxime NATUREL 2023-03-15 11:18:33 +01:00 committed by Florian Renaud
parent cf3fca5543
commit 68f8d72a98

View file

@ -37,12 +37,12 @@ import kotlinx.collections.immutable.persistentListOf
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
import javax.inject.Inject import javax.inject.Inject
// TODO add unit tests
@ContributesBinding(SessionScope::class) @ContributesBinding(SessionScope::class)
class DefaultSelectUsersPresenter @Inject constructor() : SelectUsersPresenter { class DefaultSelectUsersPresenter @Inject constructor() : SelectUsersPresenter {
@Composable @Composable
override fun present(): SelectUsersState { override fun present(): SelectUsersState {
var isSearchActive by rememberSaveable { mutableStateOf(false) }
val selectedUsers: MutableState<ImmutableList<MatrixUser>> = remember { mutableStateOf(persistentListOf()) } val selectedUsers: MutableState<ImmutableList<MatrixUser>> = remember { mutableStateOf(persistentListOf()) }
var searchQuery by rememberSaveable { mutableStateOf("") } var searchQuery by rememberSaveable { mutableStateOf("") }
val searchResults: MutableState<ImmutableList<MatrixUser>> = remember { val searchResults: MutableState<ImmutableList<MatrixUser>> = remember {
@ -51,6 +51,7 @@ class DefaultSelectUsersPresenter @Inject constructor() : SelectUsersPresenter {
fun handleEvents(event: SelectUsersEvents) { fun handleEvents(event: SelectUsersEvents) {
when (event) { when (event) {
is SelectUsersEvents.OnSearchActiveChanged -> isSearchActive = event.active
is SelectUsersEvents.UpdateSearchQuery -> searchQuery = event.query is SelectUsersEvents.UpdateSearchQuery -> searchQuery = event.query
is SelectUsersEvents.AddToSelection -> selectedUsers.value = selectedUsers.value.plus(event.matrixUser).toImmutableList() is SelectUsersEvents.AddToSelection -> selectedUsers.value = selectedUsers.value.plus(event.matrixUser).toImmutableList()
is SelectUsersEvents.RemoveFromSelection -> selectedUsers.value = selectedUsers.value.minus(event.matrixUser).toImmutableList() is SelectUsersEvents.RemoveFromSelection -> selectedUsers.value = selectedUsers.value.minus(event.matrixUser).toImmutableList()
@ -74,6 +75,7 @@ class DefaultSelectUsersPresenter @Inject constructor() : SelectUsersPresenter {
searchQuery = searchQuery, searchQuery = searchQuery,
searchResults = searchResults.value, searchResults = searchResults.value,
selectedUsers = selectedUsers.value, selectedUsers = selectedUsers.value,
isSearchActive = isSearchActive,
eventSink = ::handleEvents, eventSink = ::handleEvents,
) )
} }