Initial implementation for AppLockSetupFlowCoordinator. (#1949)

Rename AppLockSettingsScreen to AppLockSetupSettingsScreen.
Implement forced logout and persist PIN entry attempts.
This commit is contained in:
Doug
2023-10-25 12:03:37 +01:00
committed by GitHub
parent 30b18031a0
commit c6e4dc2a37
53 changed files with 773 additions and 234 deletions
@@ -127,7 +127,8 @@ class MockScreen: Identifiable {
navigationStackCoordinator: navigationStackCoordinator,
appSettings: ServiceLocator.shared.settings,
analytics: ServiceLocator.shared.analytics,
userIndicatorController: ServiceLocator.shared.userIndicatorController)
userIndicatorController: ServiceLocator.shared.userIndicatorController,
appLockService: AppLockServiceMock())
retainedState.append(coordinator)
navigationStackCoordinator.setRootCoordinator(coordinator)
return navigationStackCoordinator
@@ -162,17 +163,12 @@ class MockScreen: Identifiable {
let coordinator = AppLockScreenCoordinator(parameters: .init(appLockService: appLockService))
return coordinator
case .appLockSetupFlow:
// Use the flow coordinator once more screens are added and remove the settings screen below.
let navigationStackCoordinator = NavigationStackCoordinator()
let appLockService = AppLockService(keychainController: KeychainControllerMock(), appSettings: ServiceLocator.shared.settings)
let coordinator = AppLockSetupPINScreenCoordinator(parameters: .init(initialMode: .create, appLockService: appLockService))
navigationStackCoordinator.setRootCoordinator(coordinator)
return navigationStackCoordinator
case .appLockSettingsScreen:
let navigationStackCoordinator = NavigationStackCoordinator()
let appLockService = AppLockServiceMock.mock(biometryType: .faceID)
let coordinator = AppLockSettingsScreenCoordinator(parameters: .init(appLockService: appLockService))
navigationStackCoordinator.setRootCoordinator(coordinator)
let coordinator = AppLockSetupFlowCoordinator(presentingFlow: .settings,
appLockService: appLockService,
navigationStackCoordinator: navigationStackCoordinator)
coordinator.start()
return navigationStackCoordinator
case .home:
let navigationStackCoordinator = NavigationStackCoordinator()
@@ -31,7 +31,6 @@ enum UITestsScreenIdentifier: String {
case templateScreen
case appLockScreen
case appLockSetupFlow
case appLockSettingsScreen
case home
case settings
case bugReport