Merge branch 'develop' of github.com:vector-im/element-ios into langleyd/4669_room_notification_settings_swiftui

This commit is contained in:
David Langley
2021-08-16 13:00:41 +01:00
51 changed files with 500 additions and 103 deletions
@@ -188,6 +188,10 @@ extension RoomInfoCoordinator: RoomInfoListCoordinatorDelegate {
func roomInfoListCoordinatorDidCancel(_ coordinator: RoomInfoListCoordinatorType) {
self.delegate?.roomInfoCoordinatorDidComplete(self)
}
func roomInfoListCoordinatorDidLeaveRoom(_ coordinator: RoomInfoListCoordinatorType) {
self.delegate?.roomInfoCoordinatorDidLeaveRoom(self)
}
}
@@ -21,6 +21,7 @@ import Foundation
@objc protocol RoomInfoCoordinatorBridgePresenterDelegate {
func roomInfoCoordinatorBridgePresenterDelegateDidComplete(_ coordinatorBridgePresenter: RoomInfoCoordinatorBridgePresenter)
func roomInfoCoordinatorBridgePresenter(_ coordinatorBridgePresenter: RoomInfoCoordinatorBridgePresenter, didRequestMentionForMember member: MXRoomMember)
func roomInfoCoordinatorBridgePresenterDelegateDidLeaveRoom(_ coordinatorBridgePresenter: RoomInfoCoordinatorBridgePresenter)
}
/// RoomInfoCoordinatorBridgePresenter enables to start RoomInfoCoordinator from a view controller.
@@ -120,6 +121,9 @@ extension RoomInfoCoordinatorBridgePresenter: RoomInfoCoordinatorDelegate {
self.delegate?.roomInfoCoordinatorBridgePresenter(self, didRequestMentionForMember: member)
}
func roomInfoCoordinatorDidLeaveRoom(_ coordinator: RoomInfoCoordinatorType) {
self.delegate?.roomInfoCoordinatorBridgePresenterDelegateDidLeaveRoom(self)
}
}
// MARK: - UIAdaptivePresentationControllerDelegate
@@ -21,6 +21,7 @@ import Foundation
protocol RoomInfoCoordinatorDelegate: AnyObject {
func roomInfoCoordinatorDidComplete(_ coordinator: RoomInfoCoordinatorType)
func roomInfoCoordinator(_ coordinator: RoomInfoCoordinatorType, didRequestMentionForMember member: MXRoomMember)
func roomInfoCoordinatorDidLeaveRoom(_ coordinator: RoomInfoCoordinatorType)
}
/// `RoomInfoCoordinatorType` is a protocol describing a Coordinator that handle keybackup setup navigation flow.
@@ -70,5 +70,9 @@ extension RoomInfoListCoordinator: RoomInfoListViewModelCoordinatorDelegate {
func roomInfoListViewModelDidCancel(_ viewModel: RoomInfoListViewModelType) {
self.delegate?.roomInfoListCoordinatorDidCancel(self)
}
func roomInfoListViewModelDidLeaveRoom(_ viewModel: RoomInfoListViewModelType) {
self.delegate?.roomInfoListCoordinatorDidLeaveRoom(self)
}
}
@@ -21,6 +21,7 @@ import Foundation
protocol RoomInfoListCoordinatorDelegate: AnyObject {
func roomInfoListCoordinator(_ coordinator: RoomInfoListCoordinatorType, wantsToNavigateTo target: RoomInfoListTarget)
func roomInfoListCoordinatorDidCancel(_ coordinator: RoomInfoListCoordinatorType)
func roomInfoListCoordinatorDidLeaveRoom(_ coordinator: RoomInfoListCoordinatorType)
}
/// `RoomInfoListCoordinatorType` is a protocol describing a Coordinator that handle key backup setup passphrase navigation flow.
@@ -106,7 +106,7 @@ final class RoomInfoListViewModel: NSObject, RoomInfoListViewModelType {
self.room.leave { (response) in
switch response {
case .success:
self.coordinatorDelegate?.roomInfoListViewModelDidCancel(self)
self.coordinatorDelegate?.roomInfoListViewModelDidLeaveRoom(self)
case .failure(let error):
self.startObservingSummaryChanges()
self.update(viewState: .error(error))
@@ -24,6 +24,7 @@ protocol RoomInfoListViewModelViewDelegate: AnyObject {
protocol RoomInfoListViewModelCoordinatorDelegate: AnyObject {
func roomInfoListViewModelDidCancel(_ viewModel: RoomInfoListViewModelType)
func roomInfoListViewModelDidLeaveRoom(_ viewModel: RoomInfoListViewModelType)
func roomInfoListViewModel(_ viewModel: RoomInfoListViewModelType, wantsToNavigateTo target: RoomInfoListTarget)
}