Skip to content

Commit

Permalink
Fix passcode display issue in the AutoFill extension
Browse files Browse the repository at this point in the history
  • Loading branch information
mssun committed Jan 4, 2021
1 parent 1f2a0e5 commit 9e8994f
Showing 1 changed file with 7 additions and 11 deletions.
18 changes: 7 additions & 11 deletions passAutoFillExtension/Controllers/PasscodeExtensionDisplay.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
}
}

0 comments on commit 9e8994f

Please sign in to comment.