Merge branch 'enable-mailbox-in-release-builds' into 'master'

Enable mailbox support in release builds

See merge request briar/briar!1789
This commit is contained in:
Torsten Grote
2023-04-19 13:17:53 +00:00
7 changed files with 21 additions and 55 deletions

View File

@@ -11,8 +11,6 @@ public interface FeatureFlags {
boolean shouldEnableDisappearingMessages();
boolean shouldEnableMailbox();
boolean shouldEnablePrivateGroupsInCore();
boolean shouldEnableForumsInCore();

View File

@@ -1,6 +1,5 @@
package org.briarproject.bramble.mailbox;
import org.briarproject.bramble.api.FeatureFlags;
import org.briarproject.bramble.api.client.ClientHelper;
import org.briarproject.bramble.api.contact.ContactManager;
import org.briarproject.bramble.api.data.MetadataEncoder;
@@ -76,14 +75,11 @@ public class MailboxModule {
ValidationManager validationManager,
ClientHelper clientHelper,
MetadataEncoder metadataEncoder,
Clock clock,
FeatureFlags featureFlags) {
Clock clock) {
MailboxUpdateValidator validator = new MailboxUpdateValidator(
clientHelper, metadataEncoder, clock);
if (featureFlags.shouldEnableMailbox()) {
validationManager.registerMessageValidator(CLIENT_ID,
MAJOR_VERSION, validator);
}
validationManager.registerMessageValidator(CLIENT_ID, MAJOR_VERSION,
validator);
return validator;
}
@@ -95,31 +91,26 @@ public class MailboxModule {
@Provides
@Singleton
MailboxUpdateManager provideMailboxUpdateManager(
FeatureFlags featureFlags,
LifecycleManager lifecycleManager,
ValidationManager validationManager, ContactManager contactManager,
ClientVersioningManager clientVersioningManager,
MailboxSettingsManager mailboxSettingsManager,
MailboxUpdateManagerImpl mailboxUpdateManager) {
if (featureFlags.shouldEnableMailbox()) {
lifecycleManager.registerOpenDatabaseHook(mailboxUpdateManager);
validationManager.registerIncomingMessageHook(CLIENT_ID,
MAJOR_VERSION, mailboxUpdateManager);
contactManager.registerContactHook(mailboxUpdateManager);
clientVersioningManager.registerClient(CLIENT_ID, MAJOR_VERSION,
MINOR_VERSION, mailboxUpdateManager);
mailboxSettingsManager.registerMailboxHook(mailboxUpdateManager);
}
lifecycleManager.registerOpenDatabaseHook(mailboxUpdateManager);
validationManager.registerIncomingMessageHook(CLIENT_ID, MAJOR_VERSION,
mailboxUpdateManager);
contactManager.registerContactHook(mailboxUpdateManager);
clientVersioningManager.registerClient(CLIENT_ID, MAJOR_VERSION,
MINOR_VERSION, mailboxUpdateManager);
mailboxSettingsManager.registerMailboxHook(mailboxUpdateManager);
return mailboxUpdateManager;
}
@Provides
@Singleton
MailboxFileManager provideMailboxFileManager(FeatureFlags featureFlags,
EventBus eventBus, MailboxFileManagerImpl mailboxFileManager) {
if (featureFlags.shouldEnableMailbox()) {
eventBus.addListener(mailboxFileManager);
}
MailboxFileManager provideMailboxFileManager(EventBus eventBus,
MailboxFileManagerImpl mailboxFileManager) {
eventBus.addListener(mailboxFileManager);
return mailboxFileManager;
}
@@ -160,17 +151,14 @@ public class MailboxModule {
MailboxUpdateManager mailboxUpdateManager,
MailboxClientFactory mailboxClientFactory,
TorReachabilityMonitor reachabilityMonitor,
FeatureFlags featureFlags,
LifecycleManager lifecycleManager,
EventBus eventBus) {
MailboxClientManager manager = new MailboxClientManager(eventExecutor,
dbExecutor, db, contactManager, pluginManager,
mailboxSettingsManager, mailboxUpdateManager,
mailboxClientFactory, reachabilityMonitor);
if (featureFlags.shouldEnableMailbox()) {
lifecycleManager.registerService(manager);
eventBus.addListener(manager);
}
lifecycleManager.registerService(manager);
eventBus.addListener(manager);
return manager;
}
}

View File

@@ -25,11 +25,6 @@ public class TestFeatureFlagModule {
return true;
}
@Override
public boolean shouldEnableMailbox() {
return true;
}
@Override
public boolean shouldEnablePrivateGroupsInCore() {
return true;

View File

@@ -33,7 +33,6 @@ import org.briarproject.bramble.plugin.tcp.AndroidLanTcpPluginFactory;
import org.briarproject.bramble.plugin.tor.AndroidTorPluginFactory;
import org.briarproject.bramble.util.AndroidUtils;
import org.briarproject.bramble.util.StringUtils;
import org.briarproject.briar.BuildConfig;
import org.briarproject.briar.android.account.DozeHelperModule;
import org.briarproject.briar.android.account.LockManagerImpl;
import org.briarproject.briar.android.account.SetupModule;
@@ -212,7 +211,7 @@ public class AppModule {
@Override
public Collection<SimplexPluginFactory> getSimplexFactories() {
List<SimplexPluginFactory> simplex = new ArrayList<>();
if (featureFlags.shouldEnableMailbox()) simplex.add(mailbox);
simplex.add(mailbox);
if (SDK_INT >= 19) simplex.add(drive);
return simplex;
}
@@ -353,11 +352,6 @@ public class AppModule {
return true;
}
@Override
public boolean shouldEnableMailbox() {
return BuildConfig.DEBUG;
}
@Override
public boolean shouldEnablePrivateGroupsInCore() {
return true;

View File

@@ -83,15 +83,11 @@ public class SettingsFragment extends PreferenceFragmentCompat {
Preference prefMailbox =
requireNonNull(findPreference(PREF_KEY_MAILBOX));
if (viewModel.shouldEnableMailbox()) {
prefMailbox.setOnPreferenceClickListener(preference -> {
Intent i = new Intent(requireContext(), MailboxActivity.class);
startActivity(i);
return true;
});
} else {
prefMailbox.setVisible(false);
}
prefMailbox.setOnPreferenceClickListener(preference -> {
Intent i = new Intent(requireContext(), MailboxActivity.class);
startActivity(i);
return true;
});
Preference prefFeedback =
requireNonNull(findPreference(PREF_KEY_FEEDBACK));

View File

@@ -161,10 +161,6 @@ class SettingsViewModel extends DbViewModel implements EventListener {
return featureFlags.shouldEnableProfilePictures();
}
boolean shouldEnableMailbox() {
return featureFlags.shouldEnableMailbox();
}
private void loadOwnIdentityInfo() {
runOnDbThread(() -> {
try {

View File

@@ -116,7 +116,6 @@ internal class HeadlessModule(private val appDir: File) {
override fun shouldEnableImageAttachments() = false
override fun shouldEnableProfilePictures() = false
override fun shouldEnableDisappearingMessages() = false
override fun shouldEnableMailbox() = false
override fun shouldEnablePrivateGroupsInCore() = false
override fun shouldEnableForumsInCore() = true
override fun shouldEnableBlogsInCore() = true