From dcd780277e92d7d88fe81f8f4907b5ba139c2fdb Mon Sep 17 00:00:00 2001 From: Ilya Laktyushin Date: Tue, 30 Apr 2019 21:27:36 +0400 Subject: [PATCH] Update submodules --- Telegram-iOS/ApplicationContext.swift | 16 +++++++++++++--- submodules/TelegramUI | 2 +- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Telegram-iOS/ApplicationContext.swift b/Telegram-iOS/ApplicationContext.swift index 422e534460..33e4de6de7 100644 --- a/Telegram-iOS/ApplicationContext.swift +++ b/Telegram-iOS/ApplicationContext.swift @@ -43,6 +43,8 @@ private struct PasscodeState: Equatable { let challengeData: PostboxAccessChallengeData let autolockTimeout: Int32? let enableBiometrics: Bool + let biometricsDomainState: Data? + let disableBiometricsAuth: Bool } final class AuthorizedApplicationContext { @@ -160,7 +162,7 @@ final class AuthorizedApplicationContext { return (accessChallengeData, passcodeSettings, isActive) } |> map { accessChallengeData, passcodeSettings, isActive -> PasscodeState in - return PasscodeState(isActive: isActive, challengeData: accessChallengeData, autolockTimeout: passcodeSettings?.autolockTimeout, enableBiometrics: passcodeSettings?.enableBiometrics ?? false) + return PasscodeState(isActive: isActive, challengeData: accessChallengeData, autolockTimeout: passcodeSettings?.autolockTimeout, enableBiometrics: passcodeSettings?.enableBiometrics ?? false, biometricsDomainState: passcodeSettings?.biometricsDomainState, disableBiometricsAuth: passcodeSettings?.disableBiometricsAuth ?? true) }).start(next: { [weak self] updatedState in guard let strongSelf = self else { return @@ -210,7 +212,15 @@ final class AuthorizedApplicationContext { if updatedState.isActive { if strongSelf.passcodeController == nil { let presentAnimated = previousState != nil && previousState!.isActive - let controller = PasscodeEntryController(context: strongSelf.context, challengeData: updatedState.challengeData, enableBiometrics: updatedState.enableBiometrics, arguments: PasscodeEntryControllerPresentationArguments(animated: presentAnimated, lockIconInitialFrame: { [weak self] in + + let biometrics: PasscodeEntryControllerBiometricsMode + if updatedState.enableBiometrics && !updatedState.disableBiometricsAuth { + biometrics = .enabled(updatedState.biometricsDomainState) + } else { + biometrics = .none + } + + let controller = PasscodeEntryController(context: strongSelf.context, challengeData: updatedState.challengeData, biometrics: biometrics, arguments: PasscodeEntryControllerPresentationArguments(animated: presentAnimated, lockIconInitialFrame: { [weak self] in if let strongSelf = self, let lockViewFrame = strongSelf.rootController.chatListController?.lockViewFrame { return lockViewFrame } else { @@ -244,7 +254,7 @@ final class AuthorizedApplicationContext { strongSelf.notificationController.view.isHidden = true } } else { - if !updatedState.isActive && updatedState.autolockTimeout != nil && isLockable { + if !updatedState.isActive && isLockable { strongSelf.updateCoveringViewSnaphot(true) strongSelf.mainWindow.coveringView = strongSelf.passcodeController == nil ? strongSelf.lockedCoveringView : nil strongSelf.rootController.view.isHidden = true diff --git a/submodules/TelegramUI b/submodules/TelegramUI index 38e7be59c9..07af97a597 160000 --- a/submodules/TelegramUI +++ b/submodules/TelegramUI @@ -1 +1 @@ -Subproject commit 38e7be59c97922d2d849799a12bc2dd81aca1022 +Subproject commit 07af97a597bed34eb2e6fee8653af3b9b783cb25