Refactor room list filtering to use Rust SDK

This commit is contained in:
ganfra 2026-01-28 15:50:34 +01:00
parent 3824cf4e64
commit 5c3fc13052
33 changed files with 358 additions and 481 deletions

View file

@ -44,7 +44,6 @@ class FakeRoomListService(
override fun createRoomList(
pageSize: Int,
initialFilter: RoomListFilter,
source: RoomList.Source,
coroutineScope: CoroutineScope,
): DynamicRoomList {

View file

@ -13,19 +13,16 @@ import io.element.android.libraries.matrix.api.roomlist.RoomList
import io.element.android.libraries.matrix.api.roomlist.RoomListFilter
import io.element.android.libraries.matrix.api.roomlist.RoomSummary
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.SharedFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.getAndUpdate
data class SimplePagedRoomList(
override val summaries: MutableStateFlow<List<RoomSummary>>,
override val loadingState: StateFlow<RoomList.LoadingState>,
override val currentFilter: MutableStateFlow<RoomListFilter>
private val currentFilter: MutableStateFlow<RoomListFilter>
) : DynamicRoomList {
override val pageSize: Int = Int.MAX_VALUE
override val loadedPages = MutableStateFlow(1)
override val filteredSummaries: SharedFlow<List<RoomSummary>> = summaries
private val loadedPages = MutableStateFlow(1)
override suspend fun loadMore() {
// No-op