Add a state machine to AppLockFlowCoordinator. (#2166)

Fixes a bug when cancelling Face ID would loop back round to presenting Face ID.
This commit is contained in:
Doug
2023-11-24 16:03:38 +00:00
committed by GitHub
parent 81373b0d98
commit 9a52dcf9ac
9 changed files with 188 additions and 64 deletions
@@ -128,6 +128,11 @@ class AppLockServiceMock: AppLockServiceProtocol {
set(value) { underlyingIsEnabled = value }
}
var underlyingIsEnabled: Bool!
var isEnabledPublisher: AnyPublisher<Bool, Never> {
get { return underlyingIsEnabledPublisher }
set(value) { underlyingIsEnabledPublisher = value }
}
var underlyingIsEnabledPublisher: AnyPublisher<Bool, Never>!
var biometryType: LABiometryType {
get { return underlyingBiometryType }
set(value) { underlyingBiometryType = value }
@@ -292,10 +297,10 @@ class AppLockServiceMock: AppLockServiceProtocol {
var unlockWithBiometricsCalled: Bool {
return unlockWithBiometricsCallsCount > 0
}
var unlockWithBiometricsReturnValue: Bool!
var unlockWithBiometricsClosure: (() async -> Bool)?
var unlockWithBiometricsReturnValue: AppLockServiceBiometricResult!
var unlockWithBiometricsClosure: (() async -> AppLockServiceBiometricResult)?
func unlockWithBiometrics() async -> Bool {
func unlockWithBiometrics() async -> AppLockServiceBiometricResult {
unlockWithBiometricsCallsCount += 1
if let unlockWithBiometricsClosure = unlockWithBiometricsClosure {
return await unlockWithBiometricsClosure()