Room list service (#1138)

* Adopt the new RoomListService

* Use client.roomListWithEncryption

* Store the roomList so that it doesn't get dropped and create problems on the rust side

* Use roomListService instead of old roomList client method

* Added back documentation removed by mistake

* Tweaks following code review, SDK bump
This commit is contained in:
Stefan Ceriu
2023-06-22 19:59:32 +03:00
committed by GitHub
parent 6018221e1e
commit 652fd3cf76
12 changed files with 109 additions and 96 deletions
@@ -70,14 +70,13 @@ class HomeScreenViewModel: HomeScreenViewModelType, HomeScreenViewModelProtocol
return
}
Publishers.CombineLatest(roomSummaryProvider.statePublisher,
roomSummaryProvider.roomListPublisher)
roomSummaryProvider.statePublisher
.receive(on: DispatchQueue.main)
.sink { [weak self] state, rooms in
.sink { [weak self] state in
guard let self else { return }
let isLoadingData = state == .notLoaded
let hasNoRooms = (state == .fullyLoaded && rooms.count == 0)
let isLoadingData = !state.isLoaded
let hasNoRooms = (state.isLoaded && state.totalNumberOfRooms == 0)
var roomListMode = self.state.roomListMode
if isLoadingData {
@@ -94,7 +93,7 @@ class HomeScreenViewModel: HomeScreenViewModelType, HomeScreenViewModelProtocol
self.state.roomListMode = roomListMode
MXLog.info("Received visibleRoomsSummaryProvider update, setting view room list mode to \"\(self.state.roomListMode)\"")
MXLog.info("Received room summary provider update, setting view room list mode to \"\(self.state.roomListMode)\"")
// Delay user profile detail loading until after the initial room list loads
if roomListMode == .rooms {