Cleanup home screen state handling after rust side fixes

This commit is contained in:
Stefan Ceriu 2023-09-18 11:47:41 +03:00 committed by Stefan Ceriu
parent 5fac0f3d3b
commit be1543129a

View File

@ -150,18 +150,13 @@ class HomeScreenViewModel: HomeScreenViewModelType, HomeScreenViewModelProtocol
ServiceLocator.shared.analytics.signpost.beginFirstRooms()
// Combine together the state and the room list to correctly compute the view state if
// data is present in the room list "cold cache"
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 }
// Rust sends back loaded even when no rooms are loaded yet, check room for empty to be sure
let isLoadingData = !state.isLoaded || (state.totalNumberOfRooms != 0 && rooms.isEmpty)
let hasNoRooms = state.isLoaded && state.totalNumberOfRooms == 0 && rooms.isEmpty
let isLoadingData = !state.isLoaded
let hasNoRooms = state.isLoaded && state.totalNumberOfRooms == 0
var roomListMode = self.state.roomListMode
if isLoadingData {