Fix passcode display issue in the AutoFill extension

This commit is contained in:
Mingshen Sun 2021-01-03 21:36:57 -08:00
parent 1f2a0e5458
commit 9e8994f576
No known key found for this signature in database
GPG key ID: 1F86BA2052FED3B4

View file

@ -32,29 +32,25 @@ class PasscodeLockViewControllerForExtension: PasscodeLockViewController {
} }
class PasscodeExtensionDisplay { class PasscodeExtensionDisplay {
private var isPasscodePresented = false
private let passcodeLockVC: PasscodeLockViewControllerForExtension private let passcodeLockVC: PasscodeLockViewControllerForExtension
private let extensionContext: ASCredentialProviderExtensionContext? private let extensionContext: ASCredentialProviderExtensionContext?
init(extensionContext: ASCredentialProviderExtensionContext) { init(extensionContext: ASCredentialProviderExtensionContext) {
self.extensionContext = extensionContext self.extensionContext = extensionContext
self.passcodeLockVC = PasscodeLockViewControllerForExtension(extensionContext: extensionContext) self.passcodeLockVC = PasscodeLockViewControllerForExtension(extensionContext: extensionContext)
passcodeLockVC.dismissCompletionCallback = { [weak self] in
self?.dismiss()
}
passcodeLockVC.setCancellable(true) passcodeLockVC.setCancellable(true)
} }
// present the passcode lock view if passcode is set and the view controller is not presented // present the passcode lock view if passcode is set and the view controller is not presented
func presentPasscodeLockIfNeeded(_ extensionVC: UIViewController) { 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 return
} }
isPasscodePresented = true passcodeLockVC.modalPresentationStyle = .fullScreen
extensionVC.present(passcodeLockVC, animated: true, completion: nil) extensionVC.present(passcodeLockVC, animated: false) {
extensionVC.view.isHidden = false
} }
func dismiss(animated _: Bool = true) {
isPasscodePresented = false
} }
} }