RoomList : rework a bit the api and make usage of entriesWithDynamicAdapters
This commit is contained in:
parent
68c4f1e6bc
commit
0fb4eb005c
17 changed files with 317 additions and 213 deletions
|
|
@ -54,28 +54,20 @@ class FakeRoomListService : RoomListService {
|
|||
var latestSlidingSyncRange: IntRange? = null
|
||||
private set
|
||||
|
||||
override val allRooms: RoomList = SimplePagedRoomList(
|
||||
allRoomSummariesFlow,
|
||||
allRoomsLoadingStateFlow,
|
||||
)
|
||||
|
||||
override val invites: RoomList = SimplePagedRoomList(
|
||||
inviteRoomSummariesFlow,
|
||||
inviteRoomsLoadingStateFlow,
|
||||
)
|
||||
|
||||
override fun updateAllRoomsVisibleRange(range: IntRange) {
|
||||
latestSlidingSyncRange = range
|
||||
}
|
||||
|
||||
override fun rebuildRoomSummaries() {
|
||||
|
||||
}
|
||||
|
||||
override fun allRooms(): RoomList {
|
||||
return SimpleRoomList(
|
||||
summaries = allRoomSummariesFlow,
|
||||
loadingState = allRoomsLoadingStateFlow
|
||||
)
|
||||
}
|
||||
|
||||
override fun invites(): RoomList {
|
||||
return SimpleRoomList(
|
||||
summaries = inviteRoomSummariesFlow,
|
||||
loadingState = inviteRoomsLoadingStateFlow
|
||||
)
|
||||
}
|
||||
|
||||
override val state: StateFlow<RoomListService.State> = roomListStateFlow
|
||||
|
||||
override val syncIndicator: StateFlow<RoomListService.SyncIndicator> = syncIndicatorStateFlow
|
||||
|
|
|
|||
|
|
@ -16,11 +16,29 @@
|
|||
|
||||
package io.element.android.libraries.matrix.test.roomlist
|
||||
|
||||
import io.element.android.libraries.matrix.api.roomlist.DynamicRoomList
|
||||
import io.element.android.libraries.matrix.api.roomlist.RoomList
|
||||
import io.element.android.libraries.matrix.api.roomlist.RoomSummary
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
|
||||
data class SimpleRoomList(
|
||||
data class SimplePagedRoomList(
|
||||
override val summaries: StateFlow<List<RoomSummary>>,
|
||||
override val loadingState: StateFlow<RoomList.LoadingState>
|
||||
) : RoomList
|
||||
) : DynamicRoomList {
|
||||
|
||||
override suspend fun loadMore() {
|
||||
//No-op
|
||||
}
|
||||
|
||||
override suspend fun reset() {
|
||||
//No-op
|
||||
}
|
||||
|
||||
override suspend fun updateFilter(filter: DynamicRoomList.Filter) {
|
||||
//No-op
|
||||
}
|
||||
|
||||
override suspend fun rebuildSummaries() {
|
||||
//No-op
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue