From be1543129ab1116cd26299f847b3ef0b1ad023e2 Mon Sep 17 00:00:00 2001 From: Stefan Ceriu Date: Mon, 18 Sep 2023 11:47:41 +0300 Subject: [PATCH] Cleanup home screen state handling after rust side fixes --- .../Screens/HomeScreen/HomeScreenViewModel.swift | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/ElementX/Sources/Screens/HomeScreen/HomeScreenViewModel.swift b/ElementX/Sources/Screens/HomeScreen/HomeScreenViewModel.swift index bed9b4c49..6f92b0545 100644 --- a/ElementX/Sources/Screens/HomeScreen/HomeScreenViewModel.swift +++ b/ElementX/Sources/Screens/HomeScreen/HomeScreenViewModel.swift @@ -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 {