From 9e8994f576a7d3defd5bd185cc5300840dab27ef Mon Sep 17 00:00:00 2001 From: Mingshen Sun Date: Sun, 3 Jan 2021 21:36:57 -0800 Subject: [PATCH] Fix passcode display issue in the AutoFill extension --- .../Controllers/PasscodeExtensionDisplay.swift | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/passAutoFillExtension/Controllers/PasscodeExtensionDisplay.swift b/passAutoFillExtension/Controllers/PasscodeExtensionDisplay.swift index dc5f832..ba58ffb 100644 --- a/passAutoFillExtension/Controllers/PasscodeExtensionDisplay.swift +++ b/passAutoFillExtension/Controllers/PasscodeExtensionDisplay.swift @@ -32,29 +32,25 @@ class PasscodeLockViewControllerForExtension: PasscodeLockViewController { } class PasscodeExtensionDisplay { - private var isPasscodePresented = false private let passcodeLockVC: PasscodeLockViewControllerForExtension private let extensionContext: ASCredentialProviderExtensionContext? init(extensionContext: ASCredentialProviderExtensionContext) { self.extensionContext = extensionContext self.passcodeLockVC = PasscodeLockViewControllerForExtension(extensionContext: extensionContext) - passcodeLockVC.dismissCompletionCallback = { [weak self] in - self?.dismiss() - } passcodeLockVC.setCancellable(true) } // present the passcode lock view if passcode is set and the view controller is not presented func presentPasscodeLockIfNeeded(_ extensionVC: UIViewController) { - guard PasscodeLock.shared.hasPasscode, !isPasscodePresented == true else { + extensionVC.view.isHidden = true + guard PasscodeLock.shared.hasPasscode else { + extensionVC.view.isHidden = false return } - isPasscodePresented = true - extensionVC.present(passcodeLockVC, animated: true, completion: nil) - } - - func dismiss(animated _: Bool = true) { - isPasscodePresented = false + passcodeLockVC.modalPresentationStyle = .fullScreen + extensionVC.present(passcodeLockVC, animated: false) { + extensionVC.view.isHidden = false + } } }