From a94bc30d5d785d39dbaf616160cb585a56246813 Mon Sep 17 00:00:00 2001 From: Patrick Hampton Date: Thu, 5 May 2016 10:26:10 -0600 Subject: [PATCH] Made the value of reason in authenticateWithBiometrics injectable via PasscodeLockConfigurationType --- PasscodeLock/PasscodeLock/PasscodeLock.swift | 7 ++++++- PasscodeLock/Protocols/PasscodeLockConfigurationType.swift | 1 + .../Fakes/FakePasscodeLockConfiguration.swift | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/PasscodeLock/PasscodeLock/PasscodeLock.swift b/PasscodeLock/PasscodeLock/PasscodeLock.swift index a6ca8372..9f26b65f 100644 --- a/PasscodeLock/PasscodeLock/PasscodeLock.swift +++ b/PasscodeLock/PasscodeLock/PasscodeLock.swift @@ -68,7 +68,12 @@ public class PasscodeLock: PasscodeLockType { guard isTouchIDAllowed else { return } let context = LAContext() - let reason = localizedStringFor("PasscodeLockTouchIDReason", comment: "TouchID authentication reason") + let reason: String + if let configReason = configuration.touchIdReason { + reason = configReason + } else { + reason = localizedStringFor("PasscodeLockTouchIDReason", comment: "TouchID authentication reason") + } context.localizedFallbackTitle = localizedStringFor("PasscodeLockTouchIDButton", comment: "TouchID authentication fallback button") diff --git a/PasscodeLock/Protocols/PasscodeLockConfigurationType.swift b/PasscodeLock/Protocols/PasscodeLockConfigurationType.swift index af4c27c1..ec158e75 100644 --- a/PasscodeLock/Protocols/PasscodeLockConfigurationType.swift +++ b/PasscodeLock/Protocols/PasscodeLockConfigurationType.swift @@ -14,5 +14,6 @@ public protocol PasscodeLockConfigurationType { var passcodeLength: Int {get} var isTouchIDAllowed: Bool {get set} var shouldRequestTouchIDImmediately: Bool {get} + var touchIdReason: String? {get set} var maximumInccorectPasscodeAttempts: Int {get} } diff --git a/PasscodeLockTests/Fakes/FakePasscodeLockConfiguration.swift b/PasscodeLockTests/Fakes/FakePasscodeLockConfiguration.swift index 1cae5788..46c871bc 100644 --- a/PasscodeLockTests/Fakes/FakePasscodeLockConfiguration.swift +++ b/PasscodeLockTests/Fakes/FakePasscodeLockConfiguration.swift @@ -15,6 +15,7 @@ class FakePasscodeLockConfiguration: PasscodeLockConfigurationType { var isTouchIDAllowed = false let maximumInccorectPasscodeAttempts = 3 let shouldRequestTouchIDImmediately = false + var touchIdReason: String? = nil init(repository: PasscodeRepositoryType) {