diff --git a/Riot/Modules/Room/RoomCoordinator.swift b/Riot/Modules/Room/RoomCoordinator.swift index 6115fd3f8..44273f246 100644 --- a/Riot/Modules/Room/RoomCoordinator.swift +++ b/Riot/Modules/Room/RoomCoordinator.swift @@ -253,8 +253,8 @@ extension RoomCoordinator: UIAdaptivePresentationControllerDelegate { // MARK: - RoomViewControllerDelegate extension RoomCoordinator: RoomViewControllerDelegate { - func roomViewController(_ roomViewController: RoomViewController, showRoomWithId roomID: String) { - self.delegate?.roomCoordinator(self, didSelectRoomWithId: roomID) + func roomViewController(_ roomViewController: RoomViewController, showRoomWithId roomID: String, eventId eventID: String?) { + self.delegate?.roomCoordinator(self, didSelectRoomWithId: roomID, eventId: eventID) } func roomViewController(_ roomViewController: RoomViewController, showMemberDetails roomMember: MXRoomMember) { diff --git a/Riot/Modules/Room/RoomCoordinatorBridgePresenter.swift b/Riot/Modules/Room/RoomCoordinatorBridgePresenter.swift index 6184026a2..60d99f8d6 100644 --- a/Riot/Modules/Room/RoomCoordinatorBridgePresenter.swift +++ b/Riot/Modules/Room/RoomCoordinatorBridgePresenter.swift @@ -18,7 +18,9 @@ import Foundation @objc protocol RoomCoordinatorBridgePresenterDelegate { func roomCoordinatorBridgePresenterDidLeaveRoom(_ bridgePresenter: RoomCoordinatorBridgePresenter) func roomCoordinatorBridgePresenterDidCancelRoomPreview(_ bridgePresenter: RoomCoordinatorBridgePresenter) - func roomCoordinatorBridgePresenter(_ bridgePresenter: RoomCoordinatorBridgePresenter, didSelectRoomWithId roomId: String) + func roomCoordinatorBridgePresenter(_ bridgePresenter: RoomCoordinatorBridgePresenter, + didSelectRoomWithId roomId: String, + eventId: String?) func roomCoordinatorBridgePresenterDidDismissInteractively(_ bridgePresenter: RoomCoordinatorBridgePresenter) } @@ -158,8 +160,8 @@ final class RoomCoordinatorBridgePresenter: NSObject { // MARK: - RoomNotificationSettingsCoordinatorDelegate extension RoomCoordinatorBridgePresenter: RoomCoordinatorDelegate { - func roomCoordinator(_ coordinator: RoomCoordinatorProtocol, didSelectRoomWithId roomId: String) { - self.delegate?.roomCoordinatorBridgePresenter(self, didSelectRoomWithId: roomId) + func roomCoordinator(_ coordinator: RoomCoordinatorProtocol, didSelectRoomWithId roomId: String, eventId: String?) { + self.delegate?.roomCoordinatorBridgePresenter(self, didSelectRoomWithId: roomId, eventId: eventId) } func roomCoordinatorDidLeaveRoom(_ coordinator: RoomCoordinatorProtocol) { diff --git a/Riot/Modules/Room/RoomCoordinatorProtocol.swift b/Riot/Modules/Room/RoomCoordinatorProtocol.swift index 1c30f02ec..9fe774ce6 100644 --- a/Riot/Modules/Room/RoomCoordinatorProtocol.swift +++ b/Riot/Modules/Room/RoomCoordinatorProtocol.swift @@ -21,7 +21,7 @@ import Foundation protocol RoomCoordinatorDelegate: AnyObject { func roomCoordinatorDidLeaveRoom(_ coordinator: RoomCoordinatorProtocol) func roomCoordinatorDidCancelRoomPreview(_ coordinator: RoomCoordinatorProtocol) - func roomCoordinator(_ coordinator: RoomCoordinatorProtocol, didSelectRoomWithId roomId: String) + func roomCoordinator(_ coordinator: RoomCoordinatorProtocol, didSelectRoomWithId roomId: String, eventId: String?) func roomCoordinatorDidDismissInteractively(_ coordinator: RoomCoordinatorProtocol) } diff --git a/Riot/Modules/Room/RoomViewController.h b/Riot/Modules/Room/RoomViewController.h index b182dbddf..aec84d4bc 100644 --- a/Riot/Modules/Room/RoomViewController.h +++ b/Riot/Modules/Room/RoomViewController.h @@ -137,9 +137,11 @@ extern NSNotificationName const RoomGroupCallTileTappedNotification; @param roomViewController the `RoomViewController` instance. @param roomID the selected roomId + @param eventID the selected eventId */ - (void)roomViewController:(RoomViewController *)roomViewController - showRoomWithId:(NSString *)roomID; + showRoomWithId:(NSString *)roomID + eventId:(nullable NSString *)eventID; /** Tells the delegate that the user wants to start a direct chat with a user. diff --git a/Riot/Modules/Room/RoomViewController.m b/Riot/Modules/Room/RoomViewController.m index 5f9f73bfb..791066af8 100644 --- a/Riot/Modules/Room/RoomViewController.m +++ b/Riot/Modules/Room/RoomViewController.m @@ -2192,7 +2192,7 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05; { if (self.delegate) { - [self.delegate roomViewController:self showRoomWithId:roomId]; + [self.delegate roomViewController:self showRoomWithId:roomId eventId:nil]; } else { diff --git a/Riot/Modules/TabBar/TabBarCoordinator.swift b/Riot/Modules/TabBar/TabBarCoordinator.swift index 63bf354a2..fafea903c 100644 --- a/Riot/Modules/TabBar/TabBarCoordinator.swift +++ b/Riot/Modules/TabBar/TabBarCoordinator.swift @@ -381,13 +381,13 @@ final class TabBarCoordinator: NSObject, TabBarCoordinatorType { } } - private func showRoom(withId roomId: String) { + private func showRoom(withId roomId: String, eventId: String? = nil) { guard let matrixSession = self.parameters.userSessionsService.mainUserSession?.matrixSession else { return } - self.showRoom(with: roomId, eventId: nil, matrixSession: matrixSession) + self.showRoom(with: roomId, eventId: eventId, matrixSession: matrixSession) } private func showRoom(withNavigationParameters roomNavigationParameters: RoomNavigationParameters, completion: (() -> Void)?) { @@ -596,9 +596,10 @@ extension TabBarCoordinator: RoomCoordinatorDelegate { self.navigationRouter.popModule(animated: true) } - func roomCoordinator(_ coordinator: RoomCoordinatorProtocol, didSelectRoomWithId roomId: String) { - self.showRoom(withId: roomId) + func roomCoordinator(_ coordinator: RoomCoordinatorProtocol, didSelectRoomWithId roomId: String, eventId: String?) { + self.showRoom(withId: roomId, eventId: eventId) } + } // MARK: - UIGestureRecognizerDelegate