SP4: space settings (#5730)

* SP4: Space Settings

- Space settings screen implemented
- No space upgrade available as per Element web
- Need more insights for the space address field
- Added settings live update
- Added local alias implementation
This commit is contained in:
Gil Eluard
2022-03-04 12:53:42 +01:00
committed by GitHub
parent 136b40e2eb
commit bc55dbb11b
43 changed files with 2184 additions and 118 deletions
@@ -110,7 +110,7 @@ final class RoomAccessCoordinator: Coordinator {
}
private func createRoomAccessTypeCoordinator() -> RoomAccessTypeChooserCoordinator {
let coordinator: RoomAccessTypeChooserCoordinator = RoomAccessTypeChooserCoordinator(parameters: RoomAccessTypeChooserCoordinatorParameters(roomId: parameters.room.roomId, session: parameters.room.mxSession))
let coordinator: RoomAccessTypeChooserCoordinator = RoomAccessTypeChooserCoordinator(parameters: RoomAccessTypeChooserCoordinatorParameters(roomId: parameters.room.roomId, allowsRoomUpgrade: parameters.allowsRoomUpgrade, session: parameters.room.mxSession))
coordinator.callback = { [weak self] result in
guard let self = self else { return }
@@ -34,6 +34,7 @@ final class RoomAccessCoordinatorBridgePresenter: NSObject {
// MARK: Private
private let room: MXRoom
private let allowsRoomUpgrade: Bool
private var coordinator: RoomAccessCoordinator?
// MARK: Public
@@ -42,16 +43,22 @@ final class RoomAccessCoordinatorBridgePresenter: NSObject {
// MARK: - Setup
init(room: MXRoom) {
init(room: MXRoom,
allowsRoomUpgrade: Bool) {
self.room = room
self.allowsRoomUpgrade = allowsRoomUpgrade
super.init()
}
convenience init(room: MXRoom) {
self.init(room: room, allowsRoomUpgrade: true)
}
// MARK: - Public
func present(from viewController: UIViewController, animated: Bool) {
let navigationRouter = NavigationRouter()
let coordinator = RoomAccessCoordinator(parameters: RoomAccessCoordinatorParameters(room: room, navigationRouter: navigationRouter))
let coordinator = RoomAccessCoordinator(parameters: RoomAccessCoordinatorParameters(room: room, allowsRoomUpgrade: allowsRoomUpgrade, navigationRouter: navigationRouter))
coordinator.callback = { [weak self] result in
guard let self = self else { return }
@@ -23,13 +23,18 @@ struct RoomAccessCoordinatorParameters {
/// The Matrix room
let room: MXRoom
/// Set this value to false if you want to avoid room to be upgraded
let allowsRoomUpgrade: Bool
/// The navigation router that manage physical navigation
let navigationRouter: NavigationRouterType
init(room: MXRoom,
allowsRoomUpgrade: Bool = true,
navigationRouter: NavigationRouterType? = nil) {
self.room = room
self.allowsRoomUpgrade = allowsRoomUpgrade
self.navigationRouter = navigationRouter ?? NavigationRouter(navigationController: RiotNavigationController())
}
}