From dfefb88b32ee0eaf88e657299d11da13c4e731a0 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Thu, 30 Jul 2020 17:09:44 +0100 Subject: [PATCH] Allow Android and headless to use different task schedulers. --- .../bramble/BrambleAndroidModule.java | 2 ++ .../bramble/BrambleCoreEagerSingletons.java | 4 ---- .../bramble/BrambleCoreModule.java | 4 ++-- .../bramble/system/ClockModule.java | 15 +++++++++++++++ ...le.java => DefaultTaskSchedulerModule.java} | 10 ++-------- ...mbleCoreIntegrationTestEagerSingletons.java | 18 ++++++++++++++++++ .../ContactExchangeIntegrationTest.java | 8 +++++--- ...ontactExchangeIntegrationTestComponent.java | 4 ++-- .../bramble/sync/SyncIntegrationTest.java | 5 +++-- .../sync/SyncIntegrationTestComponent.java | 5 +++-- .../test/BrambleCoreIntegrationTestModule.java | 2 ++ .../bramble/plugin/tor/BridgeTest.java | 8 +++++--- .../BrambleJavaIntegrationTestComponent.java | 4 ++-- .../FeedManagerIntegrationTestComponent.java | 7 ++++--- .../MessageSizeIntegrationTestComponent.java | 7 ++++--- ...mplexMessagingIntegrationTestComponent.java | 7 ++++--- .../test/BriarIntegrationTestComponent.java | 7 ++++--- .../briar/headless/BriarHeadlessApp.kt | 4 ---- .../briar/headless/HeadlessModule.kt | 14 ++++++++++---- .../briar/headless/BriarHeadlessTestApp.kt | 6 ------ .../briar/headless/HeadlessTestModule.kt | 8 ++++++++ 21 files changed, 95 insertions(+), 54 deletions(-) create mode 100644 bramble-core/src/main/java/org/briarproject/bramble/system/ClockModule.java rename bramble-core/src/main/java/org/briarproject/bramble/system/{SystemModule.java => DefaultTaskSchedulerModule.java} (85%) create mode 100644 bramble-core/src/test/java/org/briarproject/bramble/BrambleCoreIntegrationTestEagerSingletons.java diff --git a/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidModule.java b/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidModule.java index 63f004d49..c8494e6fa 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidModule.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidModule.java @@ -6,6 +6,7 @@ import org.briarproject.bramble.plugin.tor.CircumventionModule; import org.briarproject.bramble.reporting.ReportingModule; import org.briarproject.bramble.socks.SocksModule; import org.briarproject.bramble.system.AndroidSystemModule; +import org.briarproject.bramble.system.DefaultTaskSchedulerModule; import dagger.Module; @@ -14,6 +15,7 @@ import dagger.Module; AndroidNetworkModule.class, AndroidSystemModule.class, CircumventionModule.class, + DefaultTaskSchedulerModule.class, ReportingModule.class, SocksModule.class }) diff --git a/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreEagerSingletons.java b/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreEagerSingletons.java index ecec02b5f..ac13a5612 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreEagerSingletons.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreEagerSingletons.java @@ -9,7 +9,6 @@ import org.briarproject.bramble.plugin.PluginModule; import org.briarproject.bramble.properties.PropertiesModule; import org.briarproject.bramble.rendezvous.RendezvousModule; import org.briarproject.bramble.sync.validation.ValidationModule; -import org.briarproject.bramble.system.SystemModule; import org.briarproject.bramble.transport.TransportModule; import org.briarproject.bramble.versioning.VersioningModule; @@ -31,8 +30,6 @@ public interface BrambleCoreEagerSingletons { void inject(RendezvousModule.EagerSingletons init); - void inject(SystemModule.EagerSingletons init); - void inject(TransportModule.EagerSingletons init); void inject(ValidationModule.EagerSingletons init); @@ -50,7 +47,6 @@ public interface BrambleCoreEagerSingletons { c.inject(new RendezvousModule.EagerSingletons()); c.inject(new PluginModule.EagerSingletons()); c.inject(new PropertiesModule.EagerSingletons()); - c.inject(new SystemModule.EagerSingletons()); c.inject(new TransportModule.EagerSingletons()); c.inject(new ValidationModule.EagerSingletons()); c.inject(new VersioningModule.EagerSingletons()); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreModule.java b/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreModule.java index e2b7deae8..473df2b77 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreModule.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreModule.java @@ -21,7 +21,7 @@ import org.briarproject.bramble.rendezvous.RendezvousModule; import org.briarproject.bramble.settings.SettingsModule; import org.briarproject.bramble.sync.SyncModule; import org.briarproject.bramble.sync.validation.ValidationModule; -import org.briarproject.bramble.system.SystemModule; +import org.briarproject.bramble.system.ClockModule; import org.briarproject.bramble.transport.TransportModule; import org.briarproject.bramble.versioning.VersioningModule; @@ -29,6 +29,7 @@ import dagger.Module; @Module(includes = { ClientModule.class, + ClockModule.class, ConnectionModule.class, ContactModule.class, CryptoModule.class, @@ -48,7 +49,6 @@ import dagger.Module; RendezvousModule.class, SettingsModule.class, SyncModule.class, - SystemModule.class, TransportModule.class, ValidationModule.class, VersioningModule.class diff --git a/bramble-core/src/main/java/org/briarproject/bramble/system/ClockModule.java b/bramble-core/src/main/java/org/briarproject/bramble/system/ClockModule.java new file mode 100644 index 000000000..0ae4811b1 --- /dev/null +++ b/bramble-core/src/main/java/org/briarproject/bramble/system/ClockModule.java @@ -0,0 +1,15 @@ +package org.briarproject.bramble.system; + +import org.briarproject.bramble.api.system.Clock; + +import dagger.Module; +import dagger.Provides; + +@Module +public class ClockModule { + + @Provides + Clock provideClock() { + return new SystemClock(); + } +} diff --git a/bramble-core/src/main/java/org/briarproject/bramble/system/SystemModule.java b/bramble-core/src/main/java/org/briarproject/bramble/system/DefaultTaskSchedulerModule.java similarity index 85% rename from bramble-core/src/main/java/org/briarproject/bramble/system/SystemModule.java rename to bramble-core/src/main/java/org/briarproject/bramble/system/DefaultTaskSchedulerModule.java index 50340cd24..3e36faff2 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/system/SystemModule.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/system/DefaultTaskSchedulerModule.java @@ -1,7 +1,6 @@ package org.briarproject.bramble.system; import org.briarproject.bramble.api.lifecycle.LifecycleManager; -import org.briarproject.bramble.api.system.Clock; import org.briarproject.bramble.api.system.TaskScheduler; import java.util.concurrent.RejectedExecutionHandler; @@ -15,7 +14,7 @@ import dagger.Module; import dagger.Provides; @Module -public class SystemModule { +public class DefaultTaskSchedulerModule { public static class EagerSingletons { @Inject @@ -24,18 +23,13 @@ public class SystemModule { private final ScheduledExecutorService scheduledExecutorService; - public SystemModule() { + public DefaultTaskSchedulerModule() { // Discard tasks that are submitted during shutdown RejectedExecutionHandler policy = new ScheduledThreadPoolExecutor.DiscardPolicy(); scheduledExecutorService = new ScheduledThreadPoolExecutor(1, policy); } - @Provides - Clock provideClock() { - return new SystemClock(); - } - @Provides @Singleton TaskScheduler provideTaskScheduler(LifecycleManager lifecycleManager) { diff --git a/bramble-core/src/test/java/org/briarproject/bramble/BrambleCoreIntegrationTestEagerSingletons.java b/bramble-core/src/test/java/org/briarproject/bramble/BrambleCoreIntegrationTestEagerSingletons.java new file mode 100644 index 000000000..679bf0719 --- /dev/null +++ b/bramble-core/src/test/java/org/briarproject/bramble/BrambleCoreIntegrationTestEagerSingletons.java @@ -0,0 +1,18 @@ +package org.briarproject.bramble; + +import org.briarproject.bramble.system.DefaultTaskSchedulerModule; + +public interface BrambleCoreIntegrationTestEagerSingletons + extends BrambleCoreEagerSingletons { + + void inject(DefaultTaskSchedulerModule.EagerSingletons init); + + class Helper { + + public static void injectEagerSingletons( + BrambleCoreIntegrationTestEagerSingletons c) { + BrambleCoreEagerSingletons.Helper.injectEagerSingletons(c); + c.inject(new DefaultTaskSchedulerModule.EagerSingletons()); + } + } +} diff --git a/bramble-core/src/test/java/org/briarproject/bramble/contact/ContactExchangeIntegrationTest.java b/bramble-core/src/test/java/org/briarproject/bramble/contact/ContactExchangeIntegrationTest.java index 26b2500c0..c664eb3d0 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/contact/ContactExchangeIntegrationTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/contact/ContactExchangeIntegrationTest.java @@ -1,6 +1,6 @@ package org.briarproject.bramble.contact; -import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.bramble.BrambleCoreIntegrationTestEagerSingletons; import org.briarproject.bramble.api.Pair; import org.briarproject.bramble.api.contact.Contact; import org.briarproject.bramble.api.contact.ContactManager; @@ -62,11 +62,13 @@ public class ContactExchangeIntegrationTest extends BrambleTestCase { alice = DaggerContactExchangeIntegrationTestComponent.builder() .testDatabaseConfigModule( new TestDatabaseConfigModule(aliceDir)).build(); - BrambleCoreEagerSingletons.Helper.injectEagerSingletons(alice); + BrambleCoreIntegrationTestEagerSingletons.Helper + .injectEagerSingletons(alice); bob = DaggerContactExchangeIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(bobDir)) .build(); - BrambleCoreEagerSingletons.Helper.injectEagerSingletons(bob); + BrambleCoreIntegrationTestEagerSingletons.Helper + .injectEagerSingletons(bob); // Set up the devices and get the identities aliceIdentity = setUp(alice, "Alice"); bobIdentity = setUp(bob, "Bob"); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/contact/ContactExchangeIntegrationTestComponent.java b/bramble-core/src/test/java/org/briarproject/bramble/contact/ContactExchangeIntegrationTestComponent.java index 7f91988a0..99afc4005 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/contact/ContactExchangeIntegrationTestComponent.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/contact/ContactExchangeIntegrationTestComponent.java @@ -1,6 +1,6 @@ package org.briarproject.bramble.contact; -import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.bramble.BrambleCoreIntegrationTestEagerSingletons; import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.connection.ConnectionManager; import org.briarproject.bramble.api.contact.ContactExchangeManager; @@ -23,7 +23,7 @@ import dagger.Component; BrambleCoreModule.class }) interface ContactExchangeIntegrationTestComponent - extends BrambleCoreEagerSingletons { + extends BrambleCoreIntegrationTestEagerSingletons { ConnectionManager getConnectionManager(); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java b/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java index 8c9680249..1ae662e9a 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java @@ -1,6 +1,6 @@ package org.briarproject.bramble.sync; -import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.bramble.BrambleCoreIntegrationTestEagerSingletons; import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.crypto.SecretKey; import org.briarproject.bramble.api.crypto.TransportCrypto; @@ -73,7 +73,8 @@ public class SyncIntegrationTest extends BrambleTestCase { SyncIntegrationTestComponent component = DaggerSyncIntegrationTestComponent.builder().build(); - BrambleCoreEagerSingletons.Helper.injectEagerSingletons(component); + BrambleCoreIntegrationTestEagerSingletons.Helper + .injectEagerSingletons(component); component.inject(this); contactId = getContactId(); diff --git a/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTestComponent.java b/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTestComponent.java index 0b0316207..701d706ad 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTestComponent.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTestComponent.java @@ -1,6 +1,6 @@ package org.briarproject.bramble.sync; -import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.bramble.BrambleCoreIntegrationTestEagerSingletons; import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule; @@ -13,7 +13,8 @@ import dagger.Component; BrambleCoreIntegrationTestModule.class, BrambleCoreModule.class }) -interface SyncIntegrationTestComponent extends BrambleCoreEagerSingletons { +interface SyncIntegrationTestComponent extends + BrambleCoreIntegrationTestEagerSingletons { void inject(SyncIntegrationTest testCase); } diff --git a/bramble-core/src/test/java/org/briarproject/bramble/test/BrambleCoreIntegrationTestModule.java b/bramble-core/src/test/java/org/briarproject/bramble/test/BrambleCoreIntegrationTestModule.java index 840f39c39..184f5f6aa 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/test/BrambleCoreIntegrationTestModule.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/test/BrambleCoreIntegrationTestModule.java @@ -3,6 +3,7 @@ package org.briarproject.bramble.test; import org.briarproject.bramble.api.FeatureFlags; import org.briarproject.bramble.battery.DefaultBatteryManagerModule; import org.briarproject.bramble.event.DefaultEventExecutorModule; +import org.briarproject.bramble.system.DefaultTaskSchedulerModule; import dagger.Module; import dagger.Provides; @@ -10,6 +11,7 @@ import dagger.Provides; @Module(includes = { DefaultBatteryManagerModule.class, DefaultEventExecutorModule.class, + DefaultTaskSchedulerModule.class, TestDatabaseConfigModule.class, TestPluginConfigModule.class, TestSecureRandomModule.class diff --git a/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java b/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java index 7439321fd..78ce1eca1 100644 --- a/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java +++ b/bramble-java/src/test/java/org/briarproject/bramble/plugin/tor/BridgeTest.java @@ -1,6 +1,6 @@ package org.briarproject.bramble.plugin.tor; -import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.bramble.BrambleCoreIntegrationTestEagerSingletons; import org.briarproject.bramble.api.battery.BatteryManager; import org.briarproject.bramble.api.event.EventBus; import org.briarproject.bramble.api.lifecycle.IoExecutor; @@ -47,7 +47,8 @@ public class BridgeTest extends BrambleTestCase { public static Iterable data() { BrambleJavaIntegrationTestComponent component = DaggerBrambleJavaIntegrationTestComponent.builder().build(); - BrambleCoreEagerSingletons.Helper.injectEagerSingletons(component); + BrambleCoreIntegrationTestEagerSingletons.Helper + .injectEagerSingletons(component); return component.getCircumventionProvider().getBridges(false); } @@ -92,7 +93,8 @@ public class BridgeTest extends BrambleTestCase { BrambleJavaIntegrationTestComponent component = DaggerBrambleJavaIntegrationTestComponent.builder().build(); - BrambleCoreEagerSingletons.Helper.injectEagerSingletons(component); + BrambleCoreIntegrationTestEagerSingletons.Helper + .injectEagerSingletons(component); component.inject(this); LocationUtils locationUtils = () -> "US"; diff --git a/bramble-java/src/test/java/org/briarproject/bramble/test/BrambleJavaIntegrationTestComponent.java b/bramble-java/src/test/java/org/briarproject/bramble/test/BrambleJavaIntegrationTestComponent.java index 777dbe8b8..489f83408 100644 --- a/bramble-java/src/test/java/org/briarproject/bramble/test/BrambleJavaIntegrationTestComponent.java +++ b/bramble-java/src/test/java/org/briarproject/bramble/test/BrambleJavaIntegrationTestComponent.java @@ -1,6 +1,6 @@ package org.briarproject.bramble.test; -import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.bramble.BrambleCoreIntegrationTestEagerSingletons; import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.BrambleJavaModule; import org.briarproject.bramble.plugin.tor.BridgeTest; @@ -17,7 +17,7 @@ import dagger.Component; BrambleJavaModule.class }) public interface BrambleJavaIntegrationTestComponent - extends BrambleCoreEagerSingletons { + extends BrambleCoreIntegrationTestEagerSingletons { void inject(BridgeTest init); diff --git a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTestComponent.java index 58e8d9796..c323504fe 100644 --- a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTestComponent.java +++ b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTestComponent.java @@ -1,6 +1,6 @@ package org.briarproject.briar.feed; -import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.bramble.BrambleCoreIntegrationTestEagerSingletons; import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.identity.IdentityManager; import org.briarproject.bramble.api.lifecycle.LifecycleManager; @@ -27,7 +27,7 @@ import dagger.Component; TestSocksModule.class, }) interface FeedManagerIntegrationTestComponent - extends BrambleCoreEagerSingletons { + extends BrambleCoreIntegrationTestEagerSingletons { void inject(FeedManagerIntegrationTest testCase); @@ -47,7 +47,8 @@ interface FeedManagerIntegrationTestComponent public static void injectEagerSingletons( FeedManagerIntegrationTestComponent c) { - BrambleCoreEagerSingletons.Helper.injectEagerSingletons(c); + BrambleCoreIntegrationTestEagerSingletons.Helper + .injectEagerSingletons(c); c.inject(new BlogModule.EagerSingletons()); c.inject(new FeedModule.EagerSingletons()); } diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java index 4da6d9733..634bd69f7 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTestComponent.java @@ -1,6 +1,6 @@ package org.briarproject.briar.messaging; -import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.bramble.BrambleCoreIntegrationTestEagerSingletons; import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule; import org.briarproject.briar.client.BriarClientModule; @@ -19,7 +19,7 @@ import dagger.Component; MessagingModule.class }) interface MessageSizeIntegrationTestComponent - extends BrambleCoreEagerSingletons { + extends BrambleCoreIntegrationTestEagerSingletons { void inject(MessageSizeIntegrationTest testCase); @@ -31,7 +31,8 @@ interface MessageSizeIntegrationTestComponent public static void injectEagerSingletons( MessageSizeIntegrationTestComponent c) { - BrambleCoreEagerSingletons.Helper.injectEagerSingletons(c); + BrambleCoreIntegrationTestEagerSingletons.Helper + .injectEagerSingletons(c); c.inject(new ForumModule.EagerSingletons()); c.inject(new MessagingModule.EagerSingletons()); } diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java index 1096b4314..250e8bbda 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTestComponent.java @@ -1,6 +1,6 @@ package org.briarproject.briar.messaging; -import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.bramble.BrambleCoreIntegrationTestEagerSingletons; import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.connection.ConnectionManager; import org.briarproject.bramble.api.contact.ContactManager; @@ -24,7 +24,7 @@ import dagger.Component; MessagingModule.class }) interface SimplexMessagingIntegrationTestComponent - extends BrambleCoreEagerSingletons { + extends BrambleCoreIntegrationTestEagerSingletons { void inject(MessagingModule.EagerSingletons init); @@ -46,7 +46,8 @@ interface SimplexMessagingIntegrationTestComponent public static void injectEagerSingletons( SimplexMessagingIntegrationTestComponent c) { - BrambleCoreEagerSingletons.Helper.injectEagerSingletons(c); + BrambleCoreIntegrationTestEagerSingletons.Helper + .injectEagerSingletons(c); c.inject(new MessagingModule.EagerSingletons()); } } diff --git a/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTestComponent.java index 337303db4..cc074a97a 100644 --- a/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTestComponent.java +++ b/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTestComponent.java @@ -1,6 +1,6 @@ package org.briarproject.briar.test; -import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.bramble.BrambleCoreIntegrationTestEagerSingletons; import org.briarproject.bramble.BrambleCoreModule; import org.briarproject.bramble.api.client.ClientHelper; import org.briarproject.bramble.api.connection.ConnectionManager; @@ -51,7 +51,7 @@ import dagger.Component; SharingModule.class }) public interface BriarIntegrationTestComponent - extends BrambleCoreEagerSingletons { + extends BrambleCoreIntegrationTestEagerSingletons { void inject(BriarIntegrationTest init); @@ -115,7 +115,8 @@ public interface BriarIntegrationTestComponent public static void injectEagerSingletons( BriarIntegrationTestComponent c) { - BrambleCoreEagerSingletons.Helper.injectEagerSingletons(c); + BrambleCoreIntegrationTestEagerSingletons.Helper + .injectEagerSingletons(c); c.inject(new BlogModule.EagerSingletons()); c.inject(new ForumModule.EagerSingletons()); c.inject(new GroupInvitationModule.EagerSingletons()); diff --git a/briar-headless/src/main/java/org/briarproject/briar/headless/BriarHeadlessApp.kt b/briar-headless/src/main/java/org/briarproject/briar/headless/BriarHeadlessApp.kt index 3d6c7fe12..4db5ec524 100644 --- a/briar-headless/src/main/java/org/briarproject/briar/headless/BriarHeadlessApp.kt +++ b/briar-headless/src/main/java/org/briarproject/briar/headless/BriarHeadlessApp.kt @@ -3,8 +3,6 @@ package org.briarproject.briar.headless import dagger.Component import org.briarproject.bramble.BrambleCoreEagerSingletons import org.briarproject.bramble.BrambleCoreModule -import org.briarproject.bramble.account.AccountModule -import org.briarproject.bramble.system.DesktopSecureRandomModule import org.briarproject.briar.BriarCoreEagerSingletons import org.briarproject.briar.BriarCoreModule import java.security.SecureRandom @@ -14,8 +12,6 @@ import javax.inject.Singleton modules = [ BrambleCoreModule::class, BriarCoreModule::class, - DesktopSecureRandomModule::class, - AccountModule::class, HeadlessModule::class ] ) diff --git a/briar-headless/src/main/java/org/briarproject/briar/headless/HeadlessModule.kt b/briar-headless/src/main/java/org/briarproject/briar/headless/HeadlessModule.kt index c74b36225..2baf75b9f 100644 --- a/briar-headless/src/main/java/org/briarproject/briar/headless/HeadlessModule.kt +++ b/briar-headless/src/main/java/org/briarproject/briar/headless/HeadlessModule.kt @@ -3,6 +3,7 @@ package org.briarproject.briar.headless import com.fasterxml.jackson.databind.ObjectMapper import dagger.Module import dagger.Provides +import org.briarproject.bramble.account.AccountModule import org.briarproject.bramble.api.FeatureFlags import org.briarproject.bramble.api.battery.BatteryManager import org.briarproject.bramble.api.db.DatabaseConfig @@ -24,6 +25,8 @@ import org.briarproject.bramble.plugin.tor.CircumventionModule import org.briarproject.bramble.plugin.tor.CircumventionProvider import org.briarproject.bramble.plugin.tor.UnixTorPluginFactory import org.briarproject.bramble.socks.SocksModule +import org.briarproject.bramble.system.DefaultTaskSchedulerModule +import org.briarproject.bramble.system.DesktopSecureRandomModule import org.briarproject.bramble.system.JavaSystemModule import org.briarproject.bramble.util.OsUtils.isLinux import org.briarproject.bramble.util.OsUtils.isMac @@ -40,17 +43,20 @@ import javax.net.SocketFactory @Module( includes = [ - JavaNetworkModule::class, - JavaSystemModule::class, + AccountModule::class, CircumventionModule::class, DefaultBatteryManagerModule::class, DefaultEventExecutorModule::class, - SocksModule::class, + DefaultTaskSchedulerModule::class, + DesktopSecureRandomModule::class, HeadlessBlogModule::class, HeadlessContactModule::class, HeadlessEventModule::class, HeadlessForumModule::class, - HeadlessMessagingModule::class + HeadlessMessagingModule::class, + JavaNetworkModule::class, + JavaSystemModule::class, + SocksModule::class ] ) internal class HeadlessModule(private val appDir: File) { diff --git a/briar-headless/src/test/java/org/briarproject/briar/headless/BriarHeadlessTestApp.kt b/briar-headless/src/test/java/org/briarproject/briar/headless/BriarHeadlessTestApp.kt index 9454f4514..eae13319f 100644 --- a/briar-headless/src/test/java/org/briarproject/briar/headless/BriarHeadlessTestApp.kt +++ b/briar-headless/src/test/java/org/briarproject/briar/headless/BriarHeadlessTestApp.kt @@ -3,10 +3,7 @@ package org.briarproject.briar.headless import dagger.Component import org.briarproject.bramble.BrambleCoreEagerSingletons import org.briarproject.bramble.BrambleCoreModule -import org.briarproject.bramble.account.AccountModule import org.briarproject.bramble.api.crypto.CryptoComponent -import org.briarproject.bramble.event.DefaultEventExecutorModule -import org.briarproject.bramble.test.TestSecureRandomModule import org.briarproject.briar.BriarCoreEagerSingletons import org.briarproject.briar.BriarCoreModule import org.briarproject.briar.api.test.TestDataCreator @@ -16,9 +13,6 @@ import javax.inject.Singleton modules = [ BrambleCoreModule::class, BriarCoreModule::class, - TestSecureRandomModule::class, - AccountModule::class, - DefaultEventExecutorModule::class, HeadlessTestModule::class ] ) diff --git a/briar-headless/src/test/java/org/briarproject/briar/headless/HeadlessTestModule.kt b/briar-headless/src/test/java/org/briarproject/briar/headless/HeadlessTestModule.kt index 8482441e5..ffb163fc0 100644 --- a/briar-headless/src/test/java/org/briarproject/briar/headless/HeadlessTestModule.kt +++ b/briar-headless/src/test/java/org/briarproject/briar/headless/HeadlessTestModule.kt @@ -3,16 +3,20 @@ package org.briarproject.briar.headless import com.fasterxml.jackson.databind.ObjectMapper import dagger.Module import dagger.Provides +import org.briarproject.bramble.account.AccountModule import org.briarproject.bramble.api.FeatureFlags import org.briarproject.bramble.api.db.DatabaseConfig import org.briarproject.bramble.api.plugin.PluginConfig import org.briarproject.bramble.api.plugin.TransportId import org.briarproject.bramble.api.plugin.duplex.DuplexPluginFactory import org.briarproject.bramble.api.plugin.simplex.SimplexPluginFactory +import org.briarproject.bramble.event.DefaultEventExecutorModule import org.briarproject.bramble.network.JavaNetworkModule import org.briarproject.bramble.plugin.tor.CircumventionModule import org.briarproject.bramble.socks.SocksModule +import org.briarproject.bramble.system.DefaultTaskSchedulerModule import org.briarproject.bramble.system.JavaSystemModule +import org.briarproject.bramble.test.TestSecureRandomModule import org.briarproject.briar.headless.blogs.HeadlessBlogModule import org.briarproject.briar.headless.contact.HeadlessContactModule import org.briarproject.briar.headless.event.HeadlessEventModule @@ -26,8 +30,12 @@ import javax.inject.Singleton includes = [ JavaNetworkModule::class, JavaSystemModule::class, + AccountModule::class, CircumventionModule::class, + DefaultEventExecutorModule::class, + DefaultTaskSchedulerModule::class, SocksModule::class, + TestSecureRandomModule::class, HeadlessBlogModule::class, HeadlessContactModule::class, HeadlessEventModule::class,