Transfer pending contact alias to contact.

This commit is contained in:
akwizgran
2019-06-05 16:29:21 +01:00
parent a650d812fa
commit 6f285c5b0a

View File

@@ -84,10 +84,13 @@ class ContactManagerImpl implements ContactManager {
Author remote, AuthorId local, SecretKey rootKey, long timestamp, Author remote, AuthorId local, SecretKey rootKey, long timestamp,
boolean alice, boolean verified, boolean active) boolean alice, boolean verified, boolean active)
throws DbException, GeneralSecurityException { throws DbException, GeneralSecurityException {
PublicKey theirPublicKey = db.getPendingContact(txn, p).getPublicKey(); PendingContact pendingContact = db.getPendingContact(txn, p);
db.removePendingContact(txn, p); db.removePendingContact(txn, p);
PublicKey theirPublicKey = pendingContact.getPublicKey();
ContactId c = ContactId c =
db.addContact(txn, remote, local, theirPublicKey, verified); db.addContact(txn, remote, local, theirPublicKey, verified);
String alias = pendingContact.getAlias();
if (!alias.equals(remote.getName())) db.setContactAlias(txn, c, alias);
KeyPair ourKeyPair = identityManager.getHandshakeKeys(txn); KeyPair ourKeyPair = identityManager.getHandshakeKeys(txn);
keyManager.addContact(txn, c, theirPublicKey, ourKeyPair); keyManager.addContact(txn, c, theirPublicKey, ourKeyPair);
keyManager.addRotationKeys(txn, c, rootKey, timestamp, alice, active); keyManager.addRotationKeys(txn, c, rootKey, timestamp, alice, active);