Fix issues when no PGP passphase and enabling passcode

This commit is contained in:
Mingshen Sun 2021-01-03 17:38:02 -08:00
parent 29d74c48e5
commit 1f2a0e5458
No known key found for this signature in database
GPG key ID: 1F86BA2052FED3B4
4 changed files with 62 additions and 38 deletions

View file

@ -43,7 +43,21 @@ class CredentialProviderViewController: ASCredentialProviderViewController {
}
override func provideCredentialWithoutUserInteraction(for credentialIdentity: ASPasswordCredentialIdentity) {
credentialProvider.credentials(for: credentialIdentity)
credentialProvider.identifier = credentialIdentity.serviceIdentifier
if !PasscodeLock.shared.hasPasscode, Defaults.isRememberPGPPassphraseOn {
credentialProvider.credentials(for: credentialIdentity)
} else {
extensionContext.cancelRequest(withError: NSError(domain: ASExtensionErrorDomain, code: ASExtensionError.userInteractionRequired.rawValue))
}
}
override func prepareInterfaceToProvideCredential(for credentialIdentity: ASPasswordCredentialIdentity) {
guard let identifier = credentialIdentity.recordIdentifier else {
return
}
credentialProvider.identifier = credentialIdentity.serviceIdentifier
passwordsViewController.navigationItem.prompt = identifier
passwordsViewController.showPasswordsWithSuggstion([identifier])
}
}