Ensure that the current user is the device owner before linking a new device. (#5773)

This commit is contained in:
Doug
2026-06-26 16:24:18 +01:00
committed by GitHub
parent 3f3aa79a48
commit f3da459d16
23 changed files with 558 additions and 18 deletions
@@ -15,6 +15,7 @@ enum LinkNewDeviceFlowCoordinatorAction {
class LinkNewDeviceFlowCoordinator: FlowCoordinatorProtocol {
private let navigationStackCoordinator: NavigationStackCoordinator
private let appLockService: AppLockServiceProtocol
private let flowParameters: CommonFlowParameters
private var cancellables = Set<AnyCancellable>()
@@ -25,8 +26,10 @@ class LinkNewDeviceFlowCoordinator: FlowCoordinatorProtocol {
}
init(navigationStackCoordinator: NavigationStackCoordinator,
appLockService: AppLockServiceProtocol,
flowParameters: CommonFlowParameters) {
self.navigationStackCoordinator = navigationStackCoordinator
self.appLockService = appLockService
self.flowParameters = flowParameters
}
@@ -44,6 +47,7 @@ class LinkNewDeviceFlowCoordinator: FlowCoordinatorProtocol {
private func presentLinkNewDeviceScreen() {
let coordinator = LinkNewDeviceScreenCoordinator(parameters: .init(clientProxy: flowParameters.userSession.clientProxy,
appLockService: appLockService,
orientationManager: flowParameters.appMediator.windowManager))
coordinator.actionsPublisher
.sink { [weak self] action in
@@ -181,6 +181,7 @@ class SettingsFlowCoordinator: FlowCoordinatorProtocol {
private func startLinkNewDeviceFlow() {
let stackCoordinator = NavigationStackCoordinator()
let flowCoordinator = LinkNewDeviceFlowCoordinator(navigationStackCoordinator: stackCoordinator,
appLockService: appLockService,
flowParameters: flowParameters)
flowCoordinator.actionsPublisher
.sink { [weak self] action in