diff --git a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeoplePresenter.kt b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeoplePresenter.kt index 44627daca3..79cd0c83be 100644 --- a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeoplePresenter.kt +++ b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeoplePresenter.kt @@ -88,7 +88,7 @@ class DefaultInvitePeoplePresenter( override fun present(): InvitePeopleState { val roomMembers = remember { mutableStateOf>>(AsyncData.Loading()) } val selectedUsers = remember { mutableStateOf>(persistentListOf()) } - val searchResults = remember { mutableStateOf>>(SearchBarResultState.Initial()) } + val searchResults = remember { mutableStateOf>>(SearchBarResultState.Initial) } val queryState = rememberTextFieldState() var searchActive by rememberSaveable { mutableStateOf(false) } val showSearchLoader = rememberSaveable { mutableStateOf(false) } @@ -332,15 +332,15 @@ class DefaultInvitePeoplePresenter( showSearchLoader: MutableState, searchQuery: String, ) = withContext(coroutineDispatchers.io) { - searchResults.value = SearchBarResultState.Initial() + searchResults.value = SearchBarResultState.Initial showSearchLoader.value = false val joinedMembers = roomMembers.value.dataOrNull().orEmpty() userRepository.search(searchQuery).onEach { state -> showSearchLoader.value = state.isSearching searchResults.value = when { - state.results.isEmpty() && state.isSearching -> SearchBarResultState.Initial() - state.results.isEmpty() && !state.isSearching -> SearchBarResultState.NoResultsFound() + state.results.isEmpty() && state.isSearching -> SearchBarResultState.Initial + state.results.isEmpty() && !state.isSearching -> SearchBarResultState.NoResultsFound else -> SearchBarResultState.Results(state.results.map { result -> val existingMembership = joinedMembers.firstOrNull { j -> j.userId == result.matrixUser.userId }?.membership val isJoined = existingMembership == RoomMembershipState.JOIN diff --git a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleStateProvider.kt b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleStateProvider.kt index 93a6e03bd3..1e41114406 100644 --- a/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleStateProvider.kt +++ b/features/invitepeople/impl/src/main/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeopleStateProvider.kt @@ -33,7 +33,7 @@ internal class DefaultInvitePeopleStateProvider : PreviewParameterProvider = AsyncData.Success(Unit), canInvite: Boolean = false, searchQuery: String = "", - searchResults: SearchBarResultState> = SearchBarResultState.Initial(), + searchResults: SearchBarResultState> = SearchBarResultState.Initial, selectedUsers: ImmutableList = persistentListOf(), isSearchActive: Boolean = false, showSearchLoader: Boolean = false, diff --git a/features/invitepeople/impl/src/test/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeoplePresenterTest.kt b/features/invitepeople/impl/src/test/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeoplePresenterTest.kt index 4e141b2c4d..922fa73060 100644 --- a/features/invitepeople/impl/src/test/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeoplePresenterTest.kt +++ b/features/invitepeople/impl/src/test/kotlin/io/element/android/features/invitepeople/impl/DefaultInvitePeoplePresenterTest.kt @@ -95,7 +95,7 @@ internal class DefaultInvitePeoplePresenterTest { resultState.searchQuery.setTextAndPlaceCursorAtEnd("some query") assertThat(awaitItemAsDefault().searchQuery.text.toString()).isEqualTo("some query") resultState.eventSink(InvitePeopleEvents.CloseSearch) - skipItems(2) + skipItems(1) awaitItemAsDefault().also { assertThat(it.isSearchActive).isFalse() assertThat(it.searchQuery.text.toString()).isEmpty() @@ -116,7 +116,7 @@ internal class DefaultInvitePeoplePresenterTest { initialState.searchQuery.setTextAndPlaceCursorAtEnd("some query") assertThat(repository.providedQuery).isEqualTo("some query") repository.emitState(UserSearchResultState(results = emptyList(), isSearching = true)) - skipItems(3) + skipItems(2) awaitItemAsDefault().also { state -> assertThat(state.searchResults).isInstanceOf(SearchBarResultState.Initial::class.java) assertThat(state.showSearchLoader).isTrue() @@ -145,7 +145,6 @@ internal class DefaultInvitePeoplePresenterTest { assertThat(repository.providedQuery).isEqualTo("some query") repository.emitStateWithUsers(users = aMatrixUserList()) - skipItems(1) val resultState = awaitItemAsDefault() assertThat(resultState.searchResults).isInstanceOf(SearchBarResultState.Results::class.java) @@ -198,7 +197,6 @@ internal class DefaultInvitePeoplePresenterTest { assertThat(repository.providedQuery).isEqualTo("some query") repository.emitStateWithUsers(users = aMatrixUserList()) - skipItems(1) val resultState = awaitItemAsDefault() assertThat(resultState.searchResults).isInstanceOf(SearchBarResultState.Results::class.java) @@ -265,7 +263,6 @@ internal class DefaultInvitePeoplePresenterTest { it ) }) - skipItems(1) val resultState = awaitItemAsDefault() assertThat(resultState.searchResults).isInstanceOf(SearchBarResultState.Results::class.java) @@ -329,7 +326,7 @@ internal class DefaultInvitePeoplePresenterTest { assertThat(repository.providedQuery).isEqualTo("some query") repository.emitStateWithUsers(users = aMatrixUserList() + selectedUser) - skipItems(2) + skipItems(1) val resultState = awaitItemAsDefault() assertThat(resultState.searchResults).isInstanceOf(SearchBarResultState.Results::class.java) @@ -366,7 +363,6 @@ internal class DefaultInvitePeoplePresenterTest { assertThat(repository.providedQuery).isEqualTo("some query") repository.emitStateWithUsers(users = aMatrixUserList() + selectedUser) - skipItems(1) awaitItemAsDefault().also { state -> // selectedUser is not selected assertThat(state.searchResults).isInstanceOf(SearchBarResultState.Results::class.java) @@ -732,7 +728,7 @@ internal class DefaultInvitePeoplePresenterTest { isSearching = true ) ) - skipItems(3) + skipItems(2) awaitItemAsDefault().run { assertThat(selectedUsers).containsExactly(alice, bob, charlie) diff --git a/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesPresenter.kt b/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesPresenter.kt index b033a5870d..848ab64f87 100644 --- a/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesPresenter.kt +++ b/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesPresenter.kt @@ -77,7 +77,7 @@ class ChangeRolesPresenter( val queryState = rememberTextFieldState() var searchActive by rememberSaveable { mutableStateOf(false) } var searchResults by remember { - mutableStateOf>(SearchBarResultState.Initial()) + mutableStateOf>(SearchBarResultState.Initial) } val selectedUsers = remember { mutableStateOf>(persistentListOf()) @@ -118,7 +118,7 @@ class ChangeRolesPresenter( .groupedByRole() searchResults = if (results.isEmpty()) { - SearchBarResultState.NoResultsFound() + SearchBarResultState.NoResultsFound } else { SearchBarResultState.Results(results) } diff --git a/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesStateProvider.kt b/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesStateProvider.kt index 1ea1662a99..e6b71ef752 100644 --- a/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesStateProvider.kt +++ b/features/rolesandpermissions/impl/src/main/kotlin/io/element/android/features/rolesandpermissions/impl/roles/ChangeRolesStateProvider.kt @@ -68,7 +68,7 @@ internal fun aChangeRolesState( role: RoomMember.Role = RoomMember.Role.Admin, searchQuery: String = "", isSearchActive: Boolean = false, - searchResults: SearchBarResultState = SearchBarResultState.NoResultsFound(), + searchResults: SearchBarResultState = SearchBarResultState.NoResultsFound, selectedUsers: ImmutableList = persistentListOf(), hasPendingChanges: Boolean = false, savingState: AsyncAction = AsyncAction.Uninitialized, diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpacePresenter.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpacePresenter.kt index e4f58fdff2..b8d6c08215 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpacePresenter.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpacePresenter.kt @@ -66,8 +66,8 @@ class AddRoomToSpacePresenter( derivedStateOf { when { filteredRooms.isNotEmpty() -> SearchBarResultState.Results(filteredRooms) - isSearchActive && searchQuery.text.isNotEmpty() -> SearchBarResultState.NoResultsFound>() - else -> SearchBarResultState.Initial>() + isSearchActive && searchQuery.text.isNotEmpty() -> SearchBarResultState.NoResultsFound + else -> SearchBarResultState.Initial } } } diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceStateProvider.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceStateProvider.kt index 870b72ecb7..f9036f0452 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceStateProvider.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/addroom/AddRoomToSpaceStateProvider.kt @@ -40,7 +40,7 @@ internal class AddRoomToSpaceStateProvider : PreviewParameterProvider> = SearchBarResultState.Initial(), + searchResults: SearchBarResultState> = SearchBarResultState.Initial, selectedRooms: ImmutableList = persistentListOf(), isSearchActive: Boolean = false, saveAction: AsyncAction = AsyncAction.Uninitialized, 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 ce579c5b50..286f0abe68 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 @@ -67,19 +67,19 @@ class DefaultUserListPresenter( val selectedUsers by userListDataStore.selectedUsers.collectAsState(emptyList()) val queryState = rememberTextFieldState() var searchResults: SearchBarResultState> by remember { - mutableStateOf(SearchBarResultState.Initial()) + mutableStateOf(SearchBarResultState.Initial) } var showSearchLoader by remember { mutableStateOf(false) } val searchQuery = queryState.text.toString() LaunchedEffect(searchQuery) { - searchResults = SearchBarResultState.Initial() + searchResults = SearchBarResultState.Initial showSearchLoader = false userRepository.search(searchQuery).onEach { state -> showSearchLoader = state.isSearching searchResults = when { - state.results.isEmpty() && state.isSearching -> SearchBarResultState.Initial() - state.results.isEmpty() && !state.isSearching -> SearchBarResultState.NoResultsFound() + state.results.isEmpty() && state.isSearching -> SearchBarResultState.Initial + state.results.isEmpty() && !state.isSearching -> SearchBarResultState.NoResultsFound else -> SearchBarResultState.Results(state.results.toImmutableList()) } }.launchIn(this) diff --git a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListStateProvider.kt b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListStateProvider.kt index 3da8bfdabe..91d047d238 100644 --- a/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListStateProvider.kt +++ b/features/startchat/impl/src/main/kotlin/io/element/android/features/startchat/impl/userlist/UserListStateProvider.kt @@ -47,7 +47,7 @@ open class UserListStateProvider : PreviewParameterProvider { aUserListState( isSearchActive = true, searchQuery = "something-with-no-results", - searchResults = SearchBarResultState.NoResultsFound() + searchResults = SearchBarResultState.NoResultsFound ), aUserListState( isSearchActive = true, @@ -63,7 +63,7 @@ open class UserListStateProvider : PreviewParameterProvider { fun aUserListState( searchQuery: String = "", isSearchActive: Boolean = false, - searchResults: SearchBarResultState> = SearchBarResultState.Initial(), + searchResults: SearchBarResultState> = SearchBarResultState.Initial, selectedUsers: List = emptyList(), showSearchLoader: Boolean = false, selectionMode: SelectionMode = SelectionMode.Single, 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 4d958011a7..55fd30a84e 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 @@ -40,7 +40,6 @@ class DefaultUserListPresenterTest { FakeMatrixClient(), ) presenter.test { - skipItems(1) val initialState = awaitItem() assertThat(initialState.searchQuery.text.toString()).isEmpty() assertThat(initialState.isMultiSelectionEnabled).isFalse() @@ -60,7 +59,6 @@ class DefaultUserListPresenterTest { FakeMatrixClient(), ) presenter.test { - skipItems(1) val initialState = awaitItem() assertThat(initialState.searchQuery.text.toString()).isEmpty() assertThat(initialState.isMultiSelectionEnabled).isTrue() @@ -80,7 +78,6 @@ class DefaultUserListPresenterTest { FakeMatrixClient(), ) presenter.test { - skipItems(1) val initialState = awaitItem() initialState.eventSink(UserListEvents.OnSearchActiveChanged(true)) @@ -90,13 +87,11 @@ class DefaultUserListPresenterTest { initialState.searchQuery.setTextAndPlaceCursorAtEnd(matrixIdQuery) assertThat(awaitItem().searchQuery.text.toString()).isEqualTo(matrixIdQuery) assertThat(userRepository.providedQuery).isEqualTo(matrixIdQuery) - skipItems(1) val notMatrixIdQuery = "name" initialState.searchQuery.setTextAndPlaceCursorAtEnd(notMatrixIdQuery) assertThat(awaitItem().searchQuery.text.toString()).isEqualTo(notMatrixIdQuery) assertThat(userRepository.providedQuery).isEqualTo(notMatrixIdQuery) - skipItems(1) initialState.eventSink(UserListEvents.OnSearchActiveChanged(false)) assertThat(awaitItem().isSearchActive).isFalse() @@ -115,13 +110,12 @@ class DefaultUserListPresenterTest { FakeMatrixClient(), ) presenter.test { - skipItems(1) val initialState = awaitItem() initialState.searchQuery.setTextAndPlaceCursorAtEnd("alice") assertThat(initialState.searchResults).isInstanceOf(SearchBarResultState.Initial::class.java) assertThat(userRepository.providedQuery).isEqualTo("alice") - skipItems(2) + skipItems(1) // When the user repository emits a result, it's copied to the state val result = UserSearchResultState( @@ -166,13 +160,12 @@ class DefaultUserListPresenterTest { FakeMatrixClient(), ) presenter.test { - skipItems(1) val initialState = awaitItem() initialState.searchQuery.setTextAndPlaceCursorAtEnd("alice") assertThat(initialState.searchResults).isInstanceOf(SearchBarResultState.Initial::class.java) assertThat(userRepository.providedQuery).isEqualTo("alice") - skipItems(2) + skipItems(1) // When the results list is empty, the state is set to NoResults userRepository.emitState(UserSearchResultState(results = emptyList(), isSearching = false)) @@ -190,7 +183,6 @@ class DefaultUserListPresenterTest { FakeMatrixClient(), ) presenter.test { - skipItems(1) val initialState = awaitItem() val userA = aMatrixUser("@userA:domain", "A") diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/SearchBar.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/SearchBar.kt index 2e19fecced..28a62a2c36 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/SearchBar.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/SearchBar.kt @@ -59,7 +59,7 @@ fun SearchBar( modifier: Modifier = Modifier, enabled: Boolean = true, showBackButton: Boolean = true, - resultState: SearchBarResultState = SearchBarResultState.Initial(), + resultState: SearchBarResultState = SearchBarResultState.Initial, shape: Shape = SearchBarDefaults.inputFieldShape, tonalElevation: Dp = SearchBarDefaults.TonalElevation, windowInsets: WindowInsets = SearchBarDefaults.windowInsets, @@ -134,7 +134,7 @@ fun SearchBar( resultHandler(resultState.results) } - is SearchBarResultState.NoResultsFound -> { + is SearchBarResultState.NoResultsFound -> { // No results found, show a message Spacer(Modifier.size(80.dp)) @@ -200,12 +200,12 @@ object ElementSearchBarDefaults { } @Immutable -sealed interface SearchBarResultState { +sealed interface SearchBarResultState { /** No search results are available yet (e.g. because the user hasn't entered a search term). */ - class Initial : SearchBarResultState + data object Initial : SearchBarResultState /** The search has completed, but no results were found. */ - class NoResultsFound : SearchBarResultState + data object NoResultsFound : SearchBarResultState /** The search has completed, and some matching users were found. */ data class Results(val results: T) : SearchBarResultState @@ -249,7 +249,7 @@ internal fun SearchBarActiveWithNoResultsPreview() = ElementThemedPreview { ContentToPreview( initialQuery = "search term", active = true, - resultState = SearchBarResultState.NoResultsFound(), + resultState = SearchBarResultState.NoResultsFound, ) } @@ -293,7 +293,7 @@ private fun ContentToPreview( initialQuery: String = "", active: Boolean = false, showBackButton: Boolean = true, - resultState: SearchBarResultState = SearchBarResultState.Initial(), + resultState: SearchBarResultState = SearchBarResultState.Initial, contentPrefix: @Composable ColumnScope.() -> Unit = {}, contentSuffix: @Composable ColumnScope.() -> Unit = {}, resultHandler: @Composable ColumnScope.(String) -> Unit = {}, diff --git a/libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/DefaultEmojiPickerPresenter.kt b/libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/DefaultEmojiPickerPresenter.kt index 9d7dbfdce8..d87f531e15 100644 --- a/libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/DefaultEmojiPickerPresenter.kt +++ b/libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/DefaultEmojiPickerPresenter.kt @@ -55,7 +55,7 @@ class DefaultEmojiPickerPresenter( override fun present(): EmojiPickerState { val queryState = rememberTextFieldState() var isSearchActive by remember { mutableStateOf(false) } - var emojiResults by remember { mutableStateOf>>(SearchBarResultState.Initial()) } + var emojiResults by remember { mutableStateOf>>(SearchBarResultState.Initial) } val data by produceState(EmojiPickerData.Empty) { val storeDeferred = async { emojibaseProvider.getStore() } @@ -93,11 +93,7 @@ class DefaultEmojiPickerPresenter( val searchQuery = queryState.text.toString() LaunchedEffect(searchQuery, data) { if (searchQuery.isEmpty() || data.allEmojis.isEmpty()) { - // `SearchBarResultState.Initial` has no `equals` override, so reassigning a new instance - // would trigger a redundant emission each time this effect re-runs while the query is empty. - if (emojiResults !is SearchBarResultState.Initial) { - emojiResults = SearchBarResultState.Initial() - } + emojiResults = SearchBarResultState.Initial return@LaunchedEffect } delay(100.milliseconds) diff --git a/libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/DefaultEmojiPickerStateProvider.kt b/libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/DefaultEmojiPickerStateProvider.kt index 0a091a2b66..964e0f3b78 100644 --- a/libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/DefaultEmojiPickerStateProvider.kt +++ b/libraries/emoji/impl/src/main/kotlin/io/element/android/libraries/emoji/impl/picker/DefaultEmojiPickerStateProvider.kt @@ -62,7 +62,7 @@ internal fun aDefaultEmojiPickerState( }.toImmutableList(), searchQuery: String = "", isSearchActive: Boolean = false, - searchResults: SearchBarResultState> = SearchBarResultState.Initial(), + searchResults: SearchBarResultState> = SearchBarResultState.Initial, eventSink: (EmojiPickerEvent) -> Unit = {}, ) = DefaultEmojiPickerState( categories = categories, diff --git a/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectPresenter.kt b/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectPresenter.kt index 85ecfe5ba7..618f30a3e8 100644 --- a/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectPresenter.kt +++ b/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectPresenter.kt @@ -65,8 +65,8 @@ class RoomSelectPresenter( derivedStateOf { when { roomSummaryDetailsList.isNotEmpty() -> SearchBarResultState.Results(roomSummaryDetailsList.toImmutableList()) - isSearchActive -> SearchBarResultState.NoResultsFound() - else -> SearchBarResultState.Initial() + isSearchActive -> SearchBarResultState.NoResultsFound + else -> SearchBarResultState.Initial } } } diff --git a/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectStateProvider.kt b/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectStateProvider.kt index 131e35429e..e57266b7e7 100644 --- a/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectStateProvider.kt +++ b/libraries/roomselect/impl/src/main/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectStateProvider.kt @@ -52,7 +52,7 @@ open class RoomSelectStateProvider : PreviewParameterProvider { internal fun aRoomSelectState( mode: RoomSelectMode = RoomSelectMode.Forward, maxNumberOfRooms: Int = 10, - resultState: SearchBarResultState> = SearchBarResultState.Initial(), + resultState: SearchBarResultState> = SearchBarResultState.Initial, searchQuery: String = "", isSearchActive: Boolean = false, selectedRooms: ImmutableList = persistentListOf(),