From 77bcee482be70765de1a324a35b43cd1beb0ca93 Mon Sep 17 00:00:00 2001 From: Ilya Laktyushin Date: Thu, 18 Jul 2019 21:25:07 +0200 Subject: [PATCH] Fixed passcode setup from logout options screen --- .../TelegramUI/LogoutOptionsController.swift | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/submodules/TelegramUI/TelegramUI/LogoutOptionsController.swift b/submodules/TelegramUI/TelegramUI/LogoutOptionsController.swift index ff6099968a..8f0db26e94 100644 --- a/submodules/TelegramUI/TelegramUI/LogoutOptionsController.swift +++ b/submodules/TelegramUI/TelegramUI/LogoutOptionsController.swift @@ -119,6 +119,7 @@ private func logoutOptionsEntries(presentationData: PresentationData, canAddAcco func logoutOptionsController(context: AccountContext, navigationController: NavigationController, canAddAccounts: Bool, phoneNumber: String) -> ViewController { var pushControllerImpl: ((ViewController) -> Void)? var presentControllerImpl: ((ViewController, Any?) -> Void)? + var replaceTopControllerImpl: ((ViewController) -> Void)? var dismissImpl: (() -> Void)? let supportPeerDisposable = MetaDisposable() @@ -129,7 +130,15 @@ func logoutOptionsController(context: AccountContext, navigationController: Navi dismissImpl?() }, setPasscode: { - pushControllerImpl?(passcodeOptionsController(context: context)) + let _ = passcodeOptionsAccessController(context: context, pushController: { controller in + replaceTopControllerImpl?(controller) + }, completion: { _ in + replaceTopControllerImpl?(passcodeOptionsController(context: context)) + }).start(next: { controller in + if let controller = controller { + pushControllerImpl?(controller) + } + }) dismissImpl?() }, clearCache: { pushControllerImpl?(storageUsageController(context: context)) @@ -224,6 +233,9 @@ func logoutOptionsController(context: AccountContext, navigationController: Navi presentControllerImpl = { [weak controller] value, arguments in controller?.present(value, in: .window(.root), with: arguments ?? ViewControllerPresentationArguments(presentationAnimation: .modalSheet)) } + replaceTopControllerImpl = { [weak navigationController] c in + navigationController?.replaceTopController(c, animated: true) + } dismissImpl = { [weak controller] in let _ = controller?.dismiss() }