Rename "Auxiliary" windows to "Secondary" windows

This commit is contained in:
Stefan Ceriu
2026-03-31 18:56:13 +03:00
committed by Stefan Ceriu
parent a41da0616c
commit 64614cdfb5
11 changed files with 78 additions and 78 deletions

View File

@@ -189,9 +189,9 @@ class AppCoordinator: AppCoordinatorProtocol, AuthenticationFlowCoordinatorDeleg
}
.store(in: &cancellables)
windowManager.auxiliaryWindowsEnabled = !appLockService.isEnabled
windowManager.secondaryWindowsEnabled = !appLockService.isEnabled
appLockService.isEnabledPublisher.sink { [weak windowManager] appLockEnabled in
windowManager?.auxiliaryWindowsEnabled = !appLockEnabled
windowManager?.secondaryWindowsEnabled = !appLockEnabled
}
.store(in: &cancellables)
}
@@ -240,7 +240,7 @@ class AppCoordinator: AppCoordinatorProtocol, AuthenticationFlowCoordinatorDeleg
return true
}
func handleAppRoute(_ appRoute: AppRoute, windowType: WindowManagerWindowType?) {
func handleAppRoute(_ appRoute: AppRoute, windowType: SecondaryWindowType?) {
if let windowType {
windowManager.handleRoute(appRoute, windowType: windowType)
return
@@ -266,7 +266,7 @@ class AppCoordinator: AppCoordinatorProtocol, AuthenticationFlowCoordinatorDeleg
}
}
func handleDeepLink(_ url: URL, isExternalURL: Bool, windowType: WindowManagerWindowType?) -> Bool {
func handleDeepLink(_ url: URL, isExternalURL: Bool, windowType: SecondaryWindowType?) -> Bool {
// Parse into an AppRoute to redirect these in a type safe way.
if let route = appRouteURLParser.route(from: url) {
@@ -799,7 +799,7 @@ class AppCoordinator: AppCoordinatorProtocol, AuthenticationFlowCoordinatorDeleg
fatalError("User session not setup")
}
windowManager.closeAllAuxiliaryWindows()
windowManager.closeAllSecondaryWindows()
showLoadingIndicator()

View File

@@ -12,9 +12,9 @@ import Foundation
protocol AppCoordinatorProtocol: CoordinatorProtocol {
var windowManager: SecureWindowManagerProtocol { get }
@discardableResult func handleDeepLink(_ url: URL, isExternalURL: Bool, windowType: WindowManagerWindowType?) -> Bool
@discardableResult func handleDeepLink(_ url: URL, isExternalURL: Bool, windowType: SecondaryWindowType?) -> Bool
func handleAppRoute(_ appRoute: AppRoute, windowType: WindowManagerWindowType?)
func handleAppRoute(_ appRoute: AppRoute, windowType: SecondaryWindowType?)
func handlePotentialPhishingAttempt(url: URL, openURLAction: @escaping (URL) -> Void) -> Bool

View File

@@ -81,7 +81,7 @@ struct Application: App {
// This is invoked in response of the WindowManager receiving a register
// coordinator request and invoking the `OpenWindowAction` with which
// it's configured in the task above.
WindowGroup(for: WindowManagerWindowType.self) { $type in
WindowGroup(for: SecondaryWindowType.self) { $type in
if let type {
appCoordinator.windowManager.windowForType(type)
.environment(\.openURL, openURLAction(appCoordinator: appCoordinator, windowType: type))
@@ -91,7 +91,7 @@ struct Application: App {
.windowResizability(.contentSize)
}
private func openURLAction(appCoordinator: AppCoordinatorProtocol, windowType: WindowManagerWindowType?) -> OpenURLAction {
private func openURLAction(appCoordinator: AppCoordinatorProtocol, windowType: SecondaryWindowType?) -> OpenURLAction {
.init { url in
if appCoordinator.handleDeepLink(url, isExternalURL: false, windowType: windowType) {
return .handled

View File

@@ -23,10 +23,10 @@ class WindowManager: SecureWindowManagerProtocol {
private(set) var openWindowAction: OpenWindowAction!
private(set) var dismissWindowAction: DismissWindowAction!
var auxiliaryWindowsEnabled = true {
var secondaryWindowsEnabled = true {
didSet {
if auxiliaryWindowsEnabled == false {
closeAllAuxiliaryWindows()
if secondaryWindowsEnabled == false {
closeAllSecondaryWindows()
}
}
}
@@ -41,7 +41,7 @@ class WindowManager: SecureWindowManagerProtocol {
/// A duration that allows window switching to wait a couple of frames to avoid a transition through black.
private let windowHideDelay = Duration.milliseconds(33)
private var coordinators: [WindowManagerWindowType: (coordinator: CoordinatorProtocol, flowCoordinator: FlowCoordinatorProtocol?)] = [:]
private var coordinators: [SecondaryWindowType: (coordinator: CoordinatorProtocol, flowCoordinator: FlowCoordinatorProtocol?)] = [:]
init(appDelegate: AppDelegate) {
self.appDelegate = appDelegate
@@ -82,7 +82,7 @@ class WindowManager: SecureWindowManagerProtocol {
self.dismissWindowAction = dismissWindowAction
}
func handleRoute(_ appRoute: AppRoute, windowType: WindowManagerWindowType) {
func handleRoute(_ appRoute: AppRoute, windowType: SecondaryWindowType) {
if let flowCoordinator = coordinators[windowType]?.flowCoordinator {
flowCoordinator.handleAppRoute(appRoute, animated: true)
}
@@ -160,9 +160,9 @@ class WindowManager: SecureWindowManagerProtocol {
appDelegate.orientationLock = orientation
}
// MARK: - Auxiliary window support
// MARK: - Secondary window support
func windowForType(_ type: WindowManagerWindowType) -> AnyView {
func windowForType(_ type: SecondaryWindowType) -> AnyView {
guard let coordinator = coordinators[type]?.coordinator else {
return AnyView(InstantlyDismissingWindow())
}
@@ -174,9 +174,9 @@ class WindowManager: SecureWindowManagerProtocol {
})
}
func registerCoordinator(_ coordinator: CoordinatorProtocol, flowCoordinator: FlowCoordinatorProtocol?, forWindowType type: WindowManagerWindowType) {
if auxiliaryWindowsEnabled == false {
MXLog.error("Cannot register coordinator, auxiliary windows are disabled.")
func registerCoordinator(_ coordinator: CoordinatorProtocol, flowCoordinator: FlowCoordinatorProtocol?, forWindowType type: SecondaryWindowType) {
if secondaryWindowsEnabled == false {
MXLog.error("Cannot register coordinator, secondary windows are disabled.")
return
}
@@ -184,11 +184,11 @@ class WindowManager: SecureWindowManagerProtocol {
openWindowAction(value: type)
}
func closeAuxiliaryWindow(forType type: WindowManagerWindowType) {
func closeSecondaryWindow(forType type: SecondaryWindowType) {
dismissWindowAction(value: type)
}
func closeAllAuxiliaryWindows() {
func closeAllSecondaryWindows() {
for key in coordinators.keys {
dismissWindowAction(value: key)
}

View File

@@ -8,7 +8,7 @@
import SwiftUI
enum WindowManagerWindowType: Hashable, Codable {
enum SecondaryWindowType: Hashable, Codable {
case room(roomID: String)
case settings
}
@@ -27,7 +27,7 @@ protocol SecureWindowManagerProtocol: WindowManagerProtocol {
func configure(withOpenWinddowAction openWindowAction: OpenWindowAction, dismissWindowAction: DismissWindowAction)
func handleRoute(_ appRoute: AppRoute, windowType: WindowManagerWindowType)
func handleRoute(_ appRoute: AppRoute, windowType: SecondaryWindowType)
/// Shows the main and overlay window combo, hiding the alternate window.
func switchToMain()
@@ -35,10 +35,10 @@ protocol SecureWindowManagerProtocol: WindowManagerProtocol {
/// Shows the alternate window, hiding the main and overlay combo.
func switchToAlternate()
// MARK: - Auxiliary window support
// MARK: - Secondary window support
/// Used by the Application to retrieve the root view for an auxiliary window
func windowForType(_ type: WindowManagerWindowType) -> AnyView
/// Used by the Application to retrieve the root view for an secondary window
func windowForType(_ type: SecondaryWindowType) -> AnyView
}
/// A window manager that supports switching between a main app window with an overlay and
@@ -62,21 +62,21 @@ protocol WindowManagerProtocol: AnyObject, OrientationManagerProtocol {
func hideGlobalSearch()
// MARK: - Auxiliary window support
// MARK: - Secondary window support
var auxiliaryWindowsEnabled: Bool { get set }
var secondaryWindowsEnabled: Bool { get set }
/// Register a coordinator and it's respective flow (if any) within the WindowManager which in turn
/// invokes the Application's `OpenWindowAction`
func registerCoordinator(_ coordinator: CoordinatorProtocol,
flowCoordinator: FlowCoordinatorProtocol?,
forWindowType type: WindowManagerWindowType)
forWindowType type: SecondaryWindowType)
/// Closes any window previously opened by registering a coordinator
func closeAllAuxiliaryWindows()
func closeAllSecondaryWindows()
/// Closes a previously opened window for the given type.
func closeAuxiliaryWindow(forType type: WindowManagerWindowType)
func closeSecondaryWindow(forType type: SecondaryWindowType)
}
// sourcery: AutoMockable