Reload section if total number of rooms changes, fixes #5448

This commit is contained in:
ismailgulek
2022-02-02 16:43:52 +03:00
parent 313b05485a
commit bbd8b3e764
6 changed files with 66 additions and 15 deletions
@@ -245,7 +245,7 @@ public class RecentsListService: NSObject, RecentsListServiceProtocol {
if let fetcher = favoritedRoomListDataFetcher {
updateFavoritedFetcher(fetcher, for: mode)
}
allFetchers.forEach({ notifyDataChange(on: $0) })
allFetchers.forEach({ notifyDataChange(on: $0, totalCountsChanged: true) })
}
public func updateQuery(_ query: String?) {
@@ -558,11 +558,14 @@ public class RecentsListService: NSObject, RecentsListServiceProtocol {
}
}
private func notifyDataChange(on fetcher: MXRoomListDataFetcher) {
private func notifyDataChange(on fetcher: MXRoomListDataFetcher, totalCountsChanged: Bool) {
if let section = section(forFetcher: fetcher) {
multicastDelegate.invoke { $0.recentsListServiceDidChangeData?(self, forSection: section) }
multicastDelegate.invoke { $0.recentsListServiceDidChangeData?(self,
forSection: section,
totalCountsChanged: totalCountsChanged) }
}
multicastDelegate.invoke { $0.recentsListServiceDidChangeData?(self) }
multicastDelegate.invoke { $0.recentsListServiceDidChangeData?(self,
totalCountsChanged: totalCountsChanged) }
}
deinit {
@@ -575,8 +578,8 @@ public class RecentsListService: NSObject, RecentsListServiceProtocol {
extension RecentsListService: MXRoomListDataFetcherDelegate {
public func fetcherDidChangeData(_ fetcher: MXRoomListDataFetcher) {
notifyDataChange(on: fetcher)
public func fetcherDidChangeData(_ fetcher: MXRoomListDataFetcher, totalCountsChanged: Bool) {
notifyDataChange(on: fetcher, totalCountsChanged: totalCountsChanged)
}
}