Register the client and hooks

This commit is contained in:
ameba23
2021-06-28 17:18:12 +02:00
parent 7563172121
commit 36aaea40bd
2 changed files with 31 additions and 2 deletions

View File

@@ -44,7 +44,7 @@ import static org.briarproject.briar.handshakekeyexchange.HandshakeKeyExchangeCo
public class HandshakeKeyExchangeManagerImpl extends ConversationClientImpl
implements
HandshakeKeyExchangeManager, LifecycleManager.OpenDatabaseHook,
ContactManager.ContactHook {
ContactManager.ContactHook, ClientVersioningManager.ClientVersioningHook {
private final ClientVersioningManager clientVersioningManager;
private final ContactGroupFactory contactGroupFactory;
@@ -230,4 +230,12 @@ public class HandshakeKeyExchangeManagerImpl extends ConversationClientImpl
throw new AssertionError(e);
}
}
@Override
public void onClientVisibilityChanging(Transaction txn, Contact c,
Group.Visibility v) throws DbException {
// Apply the client's visibility to the contact group
Group g = getContactGroup(c);
db.setGroupVisibility(txn, c.getId(), g.getId(), v);
}
}

View File

@@ -1,5 +1,10 @@
package org.briarproject.briar.handshakekeyexchange;
import org.briarproject.bramble.api.contact.ContactManager;
import org.briarproject.bramble.api.lifecycle.LifecycleManager;
import org.briarproject.bramble.api.sync.validation.ValidationManager;
import org.briarproject.bramble.api.versioning.ClientVersioningManager;
import org.briarproject.briar.api.conversation.ConversationManager;
import org.briarproject.briar.api.handshakekeyexchange.HandshakeKeyExchangeManager;
import javax.inject.Inject;
@@ -17,7 +22,23 @@ public class HandshakeKeyExchangeModule {
@Provides
@Singleton
HandshakeKeyExchangeManager handshakeKeyExchangeManager(HandshakeKeyExchangeManagerImpl handshakeKeyExchangeManager) {
HandshakeKeyExchangeManager handshakeKeyExchangeManager(
LifecycleManager lifecycleManager,
ValidationManager validationManager,
ContactManager contactManager,
ClientVersioningManager clientVersioningManager,
ConversationManager conversationManager,
HandshakeKeyExchangeManagerImpl handshakeKeyExchangeManager) {
lifecycleManager.registerOpenDatabaseHook(handshakeKeyExchangeManager);
validationManager
.registerIncomingMessageHook(HandshakeKeyExchangeManager.CLIENT_ID,
HandshakeKeyExchangeManager.MAJOR_VERSION, handshakeKeyExchangeManager);
contactManager.registerContactHook(handshakeKeyExchangeManager);
clientVersioningManager.registerClient(HandshakeKeyExchangeManager.CLIENT_ID, HandshakeKeyExchangeManager.MAJOR_VERSION,
HandshakeKeyExchangeManager.MINOR_VERSION, handshakeKeyExchangeManager);
conversationManager.registerConversationClient(handshakeKeyExchangeManager);
return handshakeKeyExchangeManager;
}
}