diff --git a/features/roomdirectory/impl/src/test/kotlin/io/element/android/features/roomdirectory/impl/root/RoomDirectoryPresenterTest.kt b/features/roomdirectory/impl/src/test/kotlin/io/element/android/features/roomdirectory/impl/root/RoomDirectoryPresenterTest.kt index 4af983b307..1e450297ae 100644 --- a/features/roomdirectory/impl/src/test/kotlin/io/element/android/features/roomdirectory/impl/root/RoomDirectoryPresenterTest.kt +++ b/features/roomdirectory/impl/src/test/kotlin/io/element/android/features/roomdirectory/impl/root/RoomDirectoryPresenterTest.kt @@ -42,14 +42,14 @@ class RoomDirectoryPresenterTest { @Test fun `present - room directory list emits empty state`() = runTest { - val directoryListStateFlow = MutableSharedFlow(replay = 1) + val directoryListStateFlow = MutableSharedFlow(replay = 1) val roomDirectoryList = FakeRoomDirectoryList(directoryListStateFlow) val roomDirectoryService = FakeRoomDirectoryService { roomDirectoryList } val presenter = createRoomDirectoryPresenter(roomDirectoryService = roomDirectoryService) presenter.test { skipItems(1) directoryListStateFlow.emit( - RoomDirectoryList.State(false, emptyList()) + RoomDirectoryList.SearchResult(false, emptyList()) ) awaitItem().also { state -> assertThat(state.displayEmptyState).isTrue() @@ -60,14 +60,14 @@ class RoomDirectoryPresenterTest { @Test fun `present - room directory list emits non-empty state`() = runTest { - val directoryListStateFlow = MutableSharedFlow(replay = 1) + val directoryListStateFlow = MutableSharedFlow(replay = 1) val roomDirectoryList = FakeRoomDirectoryList(directoryListStateFlow) val roomDirectoryService = FakeRoomDirectoryService { roomDirectoryList } val presenter = createRoomDirectoryPresenter(roomDirectoryService = roomDirectoryService) presenter.test { skipItems(1) directoryListStateFlow.emit( - RoomDirectoryList.State( + RoomDirectoryList.SearchResult( hasMoreToLoad = true, items = listOf(aRoomDescription()) ) diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/roomdirectory/RoomDirectoryList.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/roomdirectory/RoomDirectoryList.kt index 402a60f639..b9d82128fb 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/roomdirectory/RoomDirectoryList.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/roomdirectory/RoomDirectoryList.kt @@ -26,9 +26,9 @@ interface RoomDirectoryList { /** * The current search results as a state flow. */ - val state: Flow + val state: Flow - data class State( + data class SearchResult( val hasMoreToLoad: Boolean, val items: List, ) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustRoomDirectoryList.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustRoomDirectoryList.kt index e91fef7810..4de2943673 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustRoomDirectoryList.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustRoomDirectoryList.kt @@ -73,9 +73,9 @@ class RustRoomDirectoryList( return !inner.isAtLastPage() } - override val state: Flow = + override val state: Flow = combine(hasMoreToLoad, processor.roomDescriptionsFlow) { hasMoreToLoad, items -> - RoomDirectoryList.State( + RoomDirectoryList.SearchResult( hasMoreToLoad = hasMoreToLoad, items = items ) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustBaseRoomDirectoryListTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustBaseRoomDirectoryListTest.kt index 460ef37e99..89b16e6ff5 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustBaseRoomDirectoryListTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustBaseRoomDirectoryListTest.kt @@ -42,7 +42,7 @@ class RustBaseRoomDirectoryListTest { ) val initialItem = awaitItem() assertThat(initialItem).isEqualTo( - RoomDirectoryList.State( + RoomDirectoryList.SearchResult( hasMoreToLoad = true, items = listOf(mapper.map(aRustRoomDescription())) ) @@ -57,7 +57,7 @@ class RustBaseRoomDirectoryListTest { ) val nextItem = awaitItem() assertThat(nextItem).isEqualTo( - RoomDirectoryList.State( + RoomDirectoryList.SearchResult( hasMoreToLoad = false, items = listOf( mapper.map(aRustRoomDescription()), @@ -66,7 +66,7 @@ class RustBaseRoomDirectoryListTest { ) val finalItem = awaitItem() assertThat(finalItem).isEqualTo( - RoomDirectoryList.State( + RoomDirectoryList.SearchResult( hasMoreToLoad = false, items = listOf( mapper.map(aRustRoomDescription()), diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/roomdirectory/FakeRoomDirectoryList.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/roomdirectory/FakeRoomDirectoryList.kt index 33c8bc83b5..54ad389e4c 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/roomdirectory/FakeRoomDirectoryList.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/roomdirectory/FakeRoomDirectoryList.kt @@ -12,7 +12,7 @@ import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.emptyFlow class FakeRoomDirectoryList( - override val state: Flow = emptyFlow(), + override val state: Flow = emptyFlow(), val filterLambda: (String?, Int, String?) -> Result = { _, _, _ -> Result.success(Unit) }, val loadMoreLambda: () -> Result = { Result.success(Unit) } ) : RoomDirectoryList {