diff --git a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/components/UserListView.kt b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/components/UserListView.kt index 4b62820ef4..e067e13995 100644 --- a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/components/UserListView.kt +++ b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/components/UserListView.kt @@ -24,7 +24,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp -import io.element.android.features.startchat.impl.userlist.UserListEvents +import io.element.android.features.startchat.impl.userlist.UserListEvent import io.element.android.features.startchat.impl.userlist.UserListState import io.element.android.features.startchat.impl.userlist.UserListStatePreviewParam import io.element.android.libraries.designsystem.components.avatar.AvatarSize @@ -63,13 +63,13 @@ fun UserListView( showLoader = state.showSearchLoader, isMultiSelectionEnable = state.isMultiSelectionEnabled, showBackButton = showBackButton, - onActiveChange = { state.eventSink(UserListEvents.OnSearchActiveChanged(it)) }, + onActiveChange = { state.eventSink(UserListEvent.OnSearchActiveChanged(it)) }, onUserSelect = { - state.eventSink(UserListEvents.AddToSelection(it)) + state.eventSink(UserListEvent.AddToSelection(it)) onSelectUser(it) }, onUserDeselect = { - state.eventSink(UserListEvents.RemoveFromSelection(it)) + state.eventSink(UserListEvent.RemoveFromSelection(it)) onDeselectUser(it) }, ) @@ -80,7 +80,7 @@ fun UserListView( selectedUsers = state.selectedUsers, autoScroll = true, onUserRemove = { - state.eventSink(UserListEvents.RemoveFromSelection(it)) + state.eventSink(UserListEvent.RemoveFromSelection(it)) onDeselectUser(it) }, ) @@ -104,10 +104,10 @@ fun UserListView( checked = isSelected, onCheckedChange = { if (isSelected) { - state.eventSink(UserListEvents.RemoveFromSelection(recentDirectRoom.matrixUser)) + state.eventSink(UserListEvent.RemoveFromSelection(recentDirectRoom.matrixUser)) onDeselectUser(recentDirectRoom.matrixUser) } else { - state.eventSink(UserListEvents.AddToSelection(recentDirectRoom.matrixUser)) + state.eventSink(UserListEvent.AddToSelection(recentDirectRoom.matrixUser)) onSelectUser(recentDirectRoom.matrixUser) } }, diff --git a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/DefaultUserListPresenter.kt b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/DefaultUserListPresenter.kt index 286f0abe68..adbab19180 100644 --- a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/DefaultUserListPresenter.kt +++ b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/DefaultUserListPresenter.kt @@ -85,11 +85,11 @@ class DefaultUserListPresenter( }.launchIn(this) } - fun handleEvent(event: UserListEvents) { + fun handleEvent(event: UserListEvent) { when (event) { - is UserListEvents.OnSearchActiveChanged -> isSearchActive = event.active - is UserListEvents.AddToSelection -> userListDataStore.selectUser(event.matrixUser) - is UserListEvents.RemoveFromSelection -> userListDataStore.removeUserFromSelection(event.matrixUser) + is UserListEvent.OnSearchActiveChanged -> isSearchActive = event.active + is UserListEvent.AddToSelection -> userListDataStore.selectUser(event.matrixUser) + is UserListEvent.RemoveFromSelection -> userListDataStore.removeUserFromSelection(event.matrixUser) } } diff --git a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListEvents.kt b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListEvent.kt similarity index 88% rename from features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListEvents.kt rename to features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListEvent.kt index f7601f6d36..098e4411d2 100644 --- a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListEvents.kt +++ b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListEvent.kt @@ -10,8 +10,8 @@ package io.element.android.features.startchat.impl.userlist import io.element.android.libraries.matrix.api.user.MatrixUser -sealed interface UserListEvents { - data class AddToSelection(val matrixUser: MatrixUser) : UserListEvents - data class RemoveFromSelection(val matrixUser: MatrixUser) : UserListEvents - data class OnSearchActiveChanged(val active: Boolean) : UserListEvents +sealed interface UserListEvent { + data class AddToSelection(val matrixUser: MatrixUser) : UserListEvent + data class RemoveFromSelection(val matrixUser: MatrixUser) : UserListEvent + data class OnSearchActiveChanged(val active: Boolean) : UserListEvent } diff --git a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListState.kt b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListState.kt index 6a507f8a75..6ce5bafddf 100644 --- a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListState.kt +++ b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListState.kt @@ -23,7 +23,7 @@ data class UserListState( val isSearchActive: Boolean, val selectionMode: SelectionMode, val recentDirectRooms: ImmutableList, - val eventSink: (UserListEvents) -> Unit, + val eventSink: (UserListEvent) -> Unit, ) { val isMultiSelectionEnabled = selectionMode == SelectionMode.Multiple } diff --git a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListStatePreviewParam.kt b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListStatePreviewParam.kt index 190ff23ad2..a84927be62 100644 --- a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListStatePreviewParam.kt +++ b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListStatePreviewParam.kt @@ -68,7 +68,7 @@ fun aUserListState( showSearchLoader: Boolean = false, selectionMode: SelectionMode = SelectionMode.Single, recentDirectRooms: List = emptyList(), - eventSink: (UserListEvents) -> Unit = {}, + eventSink: (UserListEvent) -> Unit = {}, ) = UserListState( searchQuery = TextFieldState(initialText = searchQuery), isSearchActive = isSearchActive, diff --git a/features/startchat/impl/src/test/kotlin/io/element/android/features/startchat/impl/userlist/DefaultUserListPresenterTest.kt b/features/startchat/impl/src/test/kotlin/io/element/android/features/startchat/impl/userlist/DefaultUserListPresenterTest.kt index 55fd30a84e..0366ec79bd 100644 --- a/features/startchat/impl/src/test/kotlin/io/element/android/features/startchat/impl/userlist/DefaultUserListPresenterTest.kt +++ b/features/startchat/impl/src/test/kotlin/io/element/android/features/startchat/impl/userlist/DefaultUserListPresenterTest.kt @@ -80,7 +80,7 @@ class DefaultUserListPresenterTest { presenter.test { val initialState = awaitItem() - initialState.eventSink(UserListEvents.OnSearchActiveChanged(true)) + initialState.eventSink(UserListEvent.OnSearchActiveChanged(true)) assertThat(awaitItem().isSearchActive).isTrue() val matrixIdQuery = "@name:matrix.org" @@ -93,7 +93,7 @@ class DefaultUserListPresenterTest { assertThat(awaitItem().searchQuery.text.toString()).isEqualTo(notMatrixIdQuery) assertThat(userRepository.providedQuery).isEqualTo(notMatrixIdQuery) - initialState.eventSink(UserListEvents.OnSearchActiveChanged(false)) + initialState.eventSink(UserListEvent.OnSearchActiveChanged(false)) assertThat(awaitItem().isSearchActive).isFalse() } } @@ -190,22 +190,22 @@ class DefaultUserListPresenterTest { val userABis = aMatrixUser("@userA:domain", "A") val userC = aMatrixUser("@userC:domain", "C") - initialState.eventSink(UserListEvents.AddToSelection(userA)) + initialState.eventSink(UserListEvent.AddToSelection(userA)) assertThat(awaitItem().selectedUsers).containsExactly(userA) - initialState.eventSink(UserListEvents.AddToSelection(userB)) + initialState.eventSink(UserListEvent.AddToSelection(userB)) assertThat(awaitItem().selectedUsers).containsExactly(userA, userB) - initialState.eventSink(UserListEvents.AddToSelection(userABis)) - initialState.eventSink(UserListEvents.AddToSelection(userC)) + initialState.eventSink(UserListEvent.AddToSelection(userABis)) + initialState.eventSink(UserListEvent.AddToSelection(userC)) // duplicated users should be ignored assertThat(awaitItem().selectedUsers).containsExactly(userA, userB, userC) - initialState.eventSink(UserListEvents.RemoveFromSelection(userB)) + initialState.eventSink(UserListEvent.RemoveFromSelection(userB)) assertThat(awaitItem().selectedUsers).containsExactly(userA, userC) - initialState.eventSink(UserListEvents.RemoveFromSelection(userA)) + initialState.eventSink(UserListEvent.RemoveFromSelection(userA)) assertThat(awaitItem().selectedUsers).containsExactly(userC) - initialState.eventSink(UserListEvents.RemoveFromSelection(userC)) + initialState.eventSink(UserListEvent.RemoveFromSelection(userC)) assertThat(awaitItem().selectedUsers).isEmpty() } }