Use feature flag to enable mailbox sync client.

This commit is contained in:
akwizgran
2022-05-23 16:11:27 +01:00
parent 670cc34b12
commit c37f6069c7

View File

@@ -1,5 +1,6 @@
package org.briarproject.bramble.mailbox; package org.briarproject.bramble.mailbox;
import org.briarproject.bramble.api.FeatureFlags;
import org.briarproject.bramble.api.client.ClientHelper; import org.briarproject.bramble.api.client.ClientHelper;
import org.briarproject.bramble.api.contact.ContactManager; import org.briarproject.bramble.api.contact.ContactManager;
import org.briarproject.bramble.api.data.MetadataEncoder; import org.briarproject.bramble.api.data.MetadataEncoder;
@@ -61,12 +62,17 @@ public class MailboxModule {
@Provides @Provides
@Singleton @Singleton
MailboxUpdateValidator provideMailboxUpdateValidator( MailboxUpdateValidator provideMailboxUpdateValidator(
ValidationManager validationManager, ClientHelper clientHelper, ValidationManager validationManager,
MetadataEncoder metadataEncoder, Clock clock) { ClientHelper clientHelper,
MetadataEncoder metadataEncoder,
Clock clock,
FeatureFlags featureFlags) {
MailboxUpdateValidator validator = new MailboxUpdateValidator( MailboxUpdateValidator validator = new MailboxUpdateValidator(
clientHelper, metadataEncoder, clock); clientHelper, metadataEncoder, clock);
validationManager.registerMessageValidator(CLIENT_ID, MAJOR_VERSION, if (featureFlags.shouldEnableMailbox()) {
validator); validationManager.registerMessageValidator(CLIENT_ID,
MAJOR_VERSION, validator);
}
return validator; return validator;
} }
@@ -78,18 +84,21 @@ public class MailboxModule {
@Provides @Provides
@Singleton @Singleton
MailboxUpdateManager provideMailboxUpdateManager( MailboxUpdateManager provideMailboxUpdateManager(
FeatureFlags featureFlags,
LifecycleManager lifecycleManager, LifecycleManager lifecycleManager,
ValidationManager validationManager, ContactManager contactManager, ValidationManager validationManager, ContactManager contactManager,
ClientVersioningManager clientVersioningManager, ClientVersioningManager clientVersioningManager,
MailboxSettingsManager mailboxSettingsManager, MailboxSettingsManager mailboxSettingsManager,
MailboxUpdateManagerImpl mailboxUpdateManager) { MailboxUpdateManagerImpl mailboxUpdateManager) {
lifecycleManager.registerOpenDatabaseHook(mailboxUpdateManager); if (featureFlags.shouldEnableMailbox()) {
validationManager.registerIncomingMessageHook(CLIENT_ID, MAJOR_VERSION, lifecycleManager.registerOpenDatabaseHook(mailboxUpdateManager);
mailboxUpdateManager); validationManager.registerIncomingMessageHook(CLIENT_ID,
contactManager.registerContactHook(mailboxUpdateManager); MAJOR_VERSION, mailboxUpdateManager);
clientVersioningManager.registerClient(CLIENT_ID, MAJOR_VERSION, contactManager.registerContactHook(mailboxUpdateManager);
MINOR_VERSION, mailboxUpdateManager); clientVersioningManager.registerClient(CLIENT_ID, MAJOR_VERSION,
mailboxSettingsManager.registerMailboxHook(mailboxUpdateManager); MINOR_VERSION, mailboxUpdateManager);
mailboxSettingsManager.registerMailboxHook(mailboxUpdateManager);
}
return mailboxUpdateManager; return mailboxUpdateManager;
} }
} }