mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 21:33:26 +00:00
Make the SpaceRoomListProxy publish its SpaceRoomProxy updates. (#4607)
Also removes an unused `parent` parameter that was missed when removing the parent name and includes some regenerated snapshots that were missed in the last PR.
This commit is contained in:
@@ -9,8 +9,15 @@ import Combine
|
||||
import MatrixRustSDK
|
||||
|
||||
class SpaceRoomListProxy: SpaceRoomListProxyProtocol {
|
||||
var id: String { spaceRoomProxyPublisher.value.id }
|
||||
|
||||
private let spaceRoomList: SpaceRoomListProtocol
|
||||
let spaceRoomProxy: SpaceRoomProxyProtocol
|
||||
|
||||
private var spaceRoomProxyHandle: TaskHandle?
|
||||
private let spaceRoomProxySubject: CurrentValueSubject<SpaceRoomProxyProtocol, Never>
|
||||
var spaceRoomProxyPublisher: CurrentValuePublisher<SpaceRoomProxyProtocol, Never> {
|
||||
spaceRoomProxySubject.asCurrentValuePublisher()
|
||||
}
|
||||
|
||||
private var spaceRoomsHandle: TaskHandle?
|
||||
private let spaceRoomsSubject = CurrentValueSubject<[SpaceRoomProxyProtocol], Never>([])
|
||||
@@ -25,7 +32,7 @@ class SpaceRoomListProxy: SpaceRoomListProxyProtocol {
|
||||
guard let spaceRoom = spaceRoomList.space() else { throw SpaceRoomListProxyError.missingSpace }
|
||||
|
||||
self.spaceRoomList = spaceRoomList
|
||||
spaceRoomProxy = SpaceRoomProxy(spaceRoom: spaceRoom)
|
||||
spaceRoomProxySubject = .init(SpaceRoomProxy(spaceRoom: spaceRoom))
|
||||
|
||||
let paginationStateSubject = CurrentValueSubject<SpaceRoomListPaginationState, Never>(spaceRoomList.paginationState())
|
||||
paginationStatePublisher = paginationStateSubject.asCurrentValuePublisher()
|
||||
@@ -37,6 +44,11 @@ class SpaceRoomListProxy: SpaceRoomListProxyProtocol {
|
||||
spaceRoomsHandle = spaceRoomList.subscribeToRoomUpdate(listener: SDKListener { [weak self] updates in
|
||||
self?.handleUpdates(updates)
|
||||
})
|
||||
|
||||
spaceRoomProxyHandle = spaceRoomList.subscribeToSpaceUpdates(listener: SDKListener { [weak self] spaceRoom in
|
||||
guard let spaceRoom else { return }
|
||||
self?.spaceRoomProxySubject.send(SpaceRoomProxy(spaceRoom: spaceRoom))
|
||||
})
|
||||
}
|
||||
|
||||
func paginate() async {
|
||||
|
||||
Reference in New Issue
Block a user