Check if user is not already selected
This commit is contained in:
parent
5979421f48
commit
a3bb817d1f
2 changed files with 4 additions and 6 deletions
|
|
@ -26,7 +26,9 @@ class UserListDataStore @Inject constructor() {
|
||||||
private val selectedUsers: MutableStateFlow<List<MatrixUser>> = MutableStateFlow(emptyList())
|
private val selectedUsers: MutableStateFlow<List<MatrixUser>> = MutableStateFlow(emptyList())
|
||||||
|
|
||||||
fun selectUser(user: MatrixUser) {
|
fun selectUser(user: MatrixUser) {
|
||||||
selectedUsers.tryEmit(selectedUsers.value.plus(user))
|
if (user !in selectedUsers.value) {
|
||||||
|
selectedUsers.tryEmit(selectedUsers.value.plus(user))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun removeUserFromSelection(user: MatrixUser) {
|
fun removeUserFromSelection(user: MatrixUser) {
|
||||||
|
|
|
||||||
|
|
@ -72,11 +72,7 @@ class DefaultUserListPresenter @AssistedInject constructor(
|
||||||
when (event) {
|
when (event) {
|
||||||
is UserListEvents.OnSearchActiveChanged -> isSearchActive = event.active
|
is UserListEvents.OnSearchActiveChanged -> isSearchActive = event.active
|
||||||
is UserListEvents.UpdateSearchQuery -> searchQuery = event.query
|
is UserListEvents.UpdateSearchQuery -> searchQuery = event.query
|
||||||
is UserListEvents.AddToSelection -> {
|
is UserListEvents.AddToSelection -> userListDataStore.selectUser(event.matrixUser)
|
||||||
if (event.matrixUser !in selectedUsers.value) {
|
|
||||||
userListDataStore.selectUser(event.matrixUser)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
is UserListEvents.RemoveFromSelection -> userListDataStore.removeUserFromSelection(event.matrixUser)
|
is UserListEvents.RemoveFromSelection -> userListDataStore.removeUserFromSelection(event.matrixUser)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue