diff --git a/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidEagerSingletons.java b/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidEagerSingletons.java index 4358aab80..ee15fa961 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidEagerSingletons.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidEagerSingletons.java @@ -11,4 +11,14 @@ public interface BrambleAndroidEagerSingletons { void inject(AndroidNetworkModule.EagerSingletons init); void inject(ReportingModule.EagerSingletons init); + + class Helper { + + public static void injectEagerSingletons( + BrambleAndroidEagerSingletons c) { + c.inject(new AndroidBatteryModule.EagerSingletons()); + c.inject(new AndroidNetworkModule.EagerSingletons()); + c.inject(new ReportingModule.EagerSingletons()); + } + } } 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 9fb25b20b..63f004d49 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidModule.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/BrambleAndroidModule.java @@ -18,10 +18,4 @@ import dagger.Module; SocksModule.class }) public class BrambleAndroidModule { - - public static void initEagerSingletons(BrambleAndroidEagerSingletons c) { - c.inject(new AndroidBatteryModule.EagerSingletons()); - c.inject(new AndroidNetworkModule.EagerSingletons()); - c.inject(new ReportingModule.EagerSingletons()); - } } 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 d0834d682..ecec02b5f 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreEagerSingletons.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreEagerSingletons.java @@ -39,18 +39,21 @@ public interface BrambleCoreEagerSingletons { void inject(VersioningModule.EagerSingletons init); - default void injectBrambleCoreEagerSingletons() { - inject(new ContactModule.EagerSingletons()); - inject(new CryptoExecutorModule.EagerSingletons()); - inject(new DatabaseExecutorModule.EagerSingletons()); - inject(new IdentityModule.EagerSingletons()); - inject(new LifecycleModule.EagerSingletons()); - inject(new RendezvousModule.EagerSingletons()); - inject(new PluginModule.EagerSingletons()); - inject(new PropertiesModule.EagerSingletons()); - inject(new SystemModule.EagerSingletons()); - inject(new TransportModule.EagerSingletons()); - inject(new ValidationModule.EagerSingletons()); - inject(new VersioningModule.EagerSingletons()); + class Helper { + + public static void injectEagerSingletons(BrambleCoreEagerSingletons c) { + c.inject(new ContactModule.EagerSingletons()); + c.inject(new CryptoExecutorModule.EagerSingletons()); + c.inject(new DatabaseExecutorModule.EagerSingletons()); + c.inject(new IdentityModule.EagerSingletons()); + c.inject(new LifecycleModule.EagerSingletons()); + 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 27b1f60f8..6876c587a 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreModule.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/BrambleCoreModule.java @@ -50,8 +50,4 @@ import dagger.Module; VersioningModule.class }) public class BrambleCoreModule { - - public static void initEagerSingletons(BrambleCoreEagerSingletons c) { - c.injectBrambleCoreEagerSingletons(); - } } 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 4bf7ae48d..26b2500c0 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,5 +1,6 @@ package org.briarproject.bramble.contact; +import org.briarproject.bramble.BrambleCoreEagerSingletons; import org.briarproject.bramble.api.Pair; import org.briarproject.bramble.api.contact.Contact; import org.briarproject.bramble.api.contact.ContactManager; @@ -61,11 +62,11 @@ public class ContactExchangeIntegrationTest extends BrambleTestCase { alice = DaggerContactExchangeIntegrationTestComponent.builder() .testDatabaseConfigModule( new TestDatabaseConfigModule(aliceDir)).build(); - alice.injectBrambleCoreEagerSingletons(); + BrambleCoreEagerSingletons.Helper.injectEagerSingletons(alice); bob = DaggerContactExchangeIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(bobDir)) .build(); - bob.injectBrambleCoreEagerSingletons(); + BrambleCoreEagerSingletons.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/sync/SyncIntegrationTest.java b/bramble-core/src/test/java/org/briarproject/bramble/sync/SyncIntegrationTest.java index 8efe630f6..8c9680249 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,5 +1,6 @@ package org.briarproject.bramble.sync; +import org.briarproject.bramble.BrambleCoreEagerSingletons; import org.briarproject.bramble.api.contact.ContactId; import org.briarproject.bramble.api.crypto.SecretKey; import org.briarproject.bramble.api.crypto.TransportCrypto; @@ -72,7 +73,7 @@ public class SyncIntegrationTest extends BrambleTestCase { SyncIntegrationTestComponent component = DaggerSyncIntegrationTestComponent.builder().build(); - component.injectBrambleCoreEagerSingletons(); + BrambleCoreEagerSingletons.Helper.injectEagerSingletons(component); component.inject(this); contactId = getContactId(); 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 a31b1a1ed..b0f47bd86 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,5 +1,6 @@ package org.briarproject.bramble.plugin.tor; +import org.briarproject.bramble.BrambleCoreEagerSingletons; import org.briarproject.bramble.api.battery.BatteryManager; import org.briarproject.bramble.api.event.EventBus; import org.briarproject.bramble.api.lifecycle.IoExecutor; @@ -45,7 +46,7 @@ public class BridgeTest extends BrambleTestCase { public static Iterable data() { BrambleJavaIntegrationTestComponent component = DaggerBrambleJavaIntegrationTestComponent.builder().build(); - component.injectBrambleCoreEagerSingletons(); + BrambleCoreEagerSingletons.Helper.injectEagerSingletons(component); return component.getCircumventionProvider().getBridges(false); } @@ -90,7 +91,7 @@ public class BridgeTest extends BrambleTestCase { BrambleJavaIntegrationTestComponent component = DaggerBrambleJavaIntegrationTestComponent.builder().build(); - component.injectBrambleCoreEagerSingletons(); + BrambleCoreEagerSingletons.Helper.injectEagerSingletons(component); component.inject(this); LocationUtils locationUtils = () -> "US"; diff --git a/briar-android/src/androidTest/java/org/briarproject/briar/android/BriarTestComponentApplication.java b/briar-android/src/androidTest/java/org/briarproject/briar/android/BriarTestComponentApplication.java index 5e4cf342e..239cd05ee 100644 --- a/briar-android/src/androidTest/java/org/briarproject/briar/android/BriarTestComponentApplication.java +++ b/briar-android/src/androidTest/java/org/briarproject/briar/android/BriarTestComponentApplication.java @@ -1,8 +1,8 @@ package org.briarproject.briar.android; -import org.briarproject.bramble.BrambleAndroidModule; -import org.briarproject.bramble.BrambleCoreModule; -import org.briarproject.briar.BriarCoreModule; +import org.briarproject.bramble.BrambleAndroidEagerSingletons; +import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.briar.BriarCoreEagerSingletons; public class BriarTestComponentApplication extends BriarApplicationImpl { @@ -12,10 +12,10 @@ public class BriarTestComponentApplication extends BriarApplicationImpl { .appModule(new AppModule(this)).build(); // We need to load the eager singletons directly after making the // dependency graphs - BrambleCoreModule.initEagerSingletons(component); // FIXME AbstractMethodError - BrambleAndroidModule.initEagerSingletons(component); - BriarCoreModule.initEagerSingletons(component); - AndroidEagerSingletons.initEagerSingletons(component); + BrambleCoreEagerSingletons.Helper.injectEagerSingletons(component); + BrambleAndroidEagerSingletons.Helper.injectEagerSingletons(component); + BriarCoreEagerSingletons.Helper.injectEagerSingletons(component); + AndroidEagerSingletons.Helper.injectEagerSingletons(component); return component; } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java b/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java index 987984985..ce30c42e5 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/AndroidComponent.java @@ -73,7 +73,7 @@ import dagger.Component; }) public interface AndroidComponent extends BrambleCoreEagerSingletons, BrambleAndroidEagerSingletons, - BriarCoreEagerSingletons { + BriarCoreEagerSingletons, AndroidEagerSingletons { // Exposed objects @CryptoExecutor @@ -176,7 +176,4 @@ public interface AndroidComponent void inject(EmojiTextInputView textInputView); void inject(BriarModelLoader briarModelLoader); - - // Eager singleton load - void inject(AppModule.EagerSingletons init); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/AndroidEagerSingletons.java b/briar-android/src/main/java/org/briarproject/briar/android/AndroidEagerSingletons.java index 00a2c7077..0d96b5722 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/AndroidEagerSingletons.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/AndroidEagerSingletons.java @@ -1,8 +1,13 @@ package org.briarproject.briar.android; -class AndroidEagerSingletons { +interface AndroidEagerSingletons { - static void initEagerSingletons(AndroidComponent c) { - c.inject(new AppModule.EagerSingletons()); + void inject(AppModule.EagerSingletons init); + + class Helper { + + static void injectEagerSingletons(AndroidEagerSingletons c) { + c.inject(new AppModule.EagerSingletons()); + } } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java index a1e058034..493a542a7 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/BriarApplicationImpl.java @@ -17,9 +17,9 @@ import com.vanniktech.emoji.google.GoogleEmojiProvider; import org.acra.ACRA; import org.acra.ReportingInteractionMode; import org.acra.annotation.ReportsCrashes; -import org.briarproject.bramble.BrambleAndroidModule; -import org.briarproject.bramble.BrambleCoreModule; -import org.briarproject.briar.BriarCoreModule; +import org.briarproject.bramble.BrambleAndroidEagerSingletons; +import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.briar.BriarCoreEagerSingletons; import org.briarproject.briar.BuildConfig; import org.briarproject.briar.R; import org.briarproject.briar.android.logging.CachingLogHandler; @@ -133,10 +133,12 @@ public class BriarApplicationImpl extends Application // We need to load the eager singletons directly after making the // dependency graphs - BrambleCoreModule.initEagerSingletons(androidComponent); - BrambleAndroidModule.initEagerSingletons(androidComponent); - BriarCoreModule.initEagerSingletons(androidComponent); - AndroidEagerSingletons.initEagerSingletons(androidComponent); + BrambleCoreEagerSingletons.Helper + .injectEagerSingletons(androidComponent); + BrambleAndroidEagerSingletons.Helper + .injectEagerSingletons(androidComponent); + BriarCoreEagerSingletons.Helper.injectEagerSingletons(androidComponent); + AndroidEagerSingletons.Helper.injectEagerSingletons(androidComponent); return androidComponent; } diff --git a/briar-android/src/test/java/org/briarproject/briar/android/TestBriarApplication.java b/briar-android/src/test/java/org/briarproject/briar/android/TestBriarApplication.java index 9b7a892f7..862521667 100644 --- a/briar-android/src/test/java/org/briarproject/briar/android/TestBriarApplication.java +++ b/briar-android/src/test/java/org/briarproject/briar/android/TestBriarApplication.java @@ -7,9 +7,9 @@ import android.preference.PreferenceManager; import com.vanniktech.emoji.EmojiManager; import com.vanniktech.emoji.google.GoogleEmojiProvider; -import org.briarproject.bramble.BrambleAndroidModule; -import org.briarproject.bramble.BrambleCoreModule; -import org.briarproject.briar.BriarCoreModule; +import org.briarproject.bramble.BrambleAndroidEagerSingletons; +import org.briarproject.bramble.BrambleCoreEagerSingletons; +import org.briarproject.briar.BriarCoreEagerSingletons; import java.util.Collection; import java.util.logging.LogRecord; @@ -42,10 +42,14 @@ public class TestBriarApplication extends Application // We need to load the eager singletons directly after making the // dependency graphs - BrambleCoreModule.initEagerSingletons(applicationComponent); - BrambleAndroidModule.initEagerSingletons(applicationComponent); - BriarCoreModule.initEagerSingletons(applicationComponent); - AndroidEagerSingletons.initEagerSingletons(applicationComponent); + BrambleCoreEagerSingletons.Helper + .injectEagerSingletons(applicationComponent); + BrambleAndroidEagerSingletons.Helper + .injectEagerSingletons(applicationComponent); + BriarCoreEagerSingletons.Helper + .injectEagerSingletons(applicationComponent); + AndroidEagerSingletons.Helper + .injectEagerSingletons(applicationComponent); EmojiManager.install(new GoogleEmojiProvider()); } diff --git a/briar-core/src/main/java/org/briarproject/briar/BriarCoreEagerSingletons.java b/briar-core/src/main/java/org/briarproject/briar/BriarCoreEagerSingletons.java index 7380afc3c..3d42616b5 100644 --- a/briar-core/src/main/java/org/briarproject/briar/BriarCoreEagerSingletons.java +++ b/briar-core/src/main/java/org/briarproject/briar/BriarCoreEagerSingletons.java @@ -27,4 +27,17 @@ public interface BriarCoreEagerSingletons { void inject(SharingModule.EagerSingletons init); + class Helper { + + public static void injectEagerSingletons(BriarCoreEagerSingletons c) { + c.inject(new BlogModule.EagerSingletons()); + c.inject(new FeedModule.EagerSingletons()); + c.inject(new ForumModule.EagerSingletons()); + c.inject(new GroupInvitationModule.EagerSingletons()); + c.inject(new MessagingModule.EagerSingletons()); + c.inject(new PrivateGroupModule.EagerSingletons()); + c.inject(new SharingModule.EagerSingletons()); + c.inject(new IntroductionModule.EagerSingletons()); + } + } } diff --git a/briar-core/src/main/java/org/briarproject/briar/BriarCoreModule.java b/briar-core/src/main/java/org/briarproject/briar/BriarCoreModule.java index ec7e1944f..5ba057706 100644 --- a/briar-core/src/main/java/org/briarproject/briar/BriarCoreModule.java +++ b/briar-core/src/main/java/org/briarproject/briar/BriarCoreModule.java @@ -28,15 +28,4 @@ import dagger.Module; TestModule.class }) public class BriarCoreModule { - - public static void initEagerSingletons(BriarCoreEagerSingletons c) { - c.inject(new BlogModule.EagerSingletons()); - c.inject(new FeedModule.EagerSingletons()); - c.inject(new ForumModule.EagerSingletons()); - c.inject(new GroupInvitationModule.EagerSingletons()); - c.inject(new MessagingModule.EagerSingletons()); - c.inject(new PrivateGroupModule.EagerSingletons()); - c.inject(new SharingModule.EagerSingletons()); - c.inject(new IntroductionModule.EagerSingletons()); - } } diff --git a/briar-core/src/test/java/org/briarproject/briar/blog/BlogManagerIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/blog/BlogManagerIntegrationTest.java index 780dd5525..3140a5aad 100644 --- a/briar-core/src/test/java/org/briarproject/briar/blog/BlogManagerIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/blog/BlogManagerIntegrationTest.java @@ -65,23 +65,23 @@ public class BlogManagerIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); - component.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(component); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) .build(); - c0.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c0); c1 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) .build(); - c1.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c1); c2 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) .build(); - c2.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c2); } @Test diff --git a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java index f669cf8cf..a194f937c 100644 --- a/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/feed/FeedManagerIntegrationTest.java @@ -38,7 +38,7 @@ public class FeedManagerIntegrationTest extends BriarTestCase { DaggerFeedManagerIntegrationTestComponent.builder() .testDatabaseConfigModule( new TestDatabaseConfigModule(testFile)).build(); - component.injectFeedManagerEagerSingletons(); + FeedManagerIntegrationTestComponent.Helper.injectEagerSingletons(component); component.inject(this); IdentityManager identityManager = component.getIdentityManager(); 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 279e8e25e..58e8d9796 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 @@ -35,12 +35,6 @@ interface FeedManagerIntegrationTestComponent void inject(FeedModule.EagerSingletons init); - default void injectFeedManagerEagerSingletons() { - injectBrambleCoreEagerSingletons(); - inject(new BlogModule.EagerSingletons()); - inject(new FeedModule.EagerSingletons()); - } - IdentityManager getIdentityManager(); LifecycleManager getLifecycleManager(); @@ -49,4 +43,13 @@ interface FeedManagerIntegrationTestComponent BlogManager getBlogManager(); + class Helper { + + public static void injectEagerSingletons( + FeedManagerIntegrationTestComponent c) { + BrambleCoreEagerSingletons.Helper.injectEagerSingletons(c); + c.inject(new BlogModule.EagerSingletons()); + c.inject(new FeedModule.EagerSingletons()); + } + } } diff --git a/briar-core/src/test/java/org/briarproject/briar/forum/ForumManagerTest.java b/briar-core/src/test/java/org/briarproject/briar/forum/ForumManagerTest.java index 50cc3eea1..c4655ce2e 100644 --- a/briar-core/src/test/java/org/briarproject/briar/forum/ForumManagerTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/forum/ForumManagerTest.java @@ -56,23 +56,23 @@ public class ForumManagerTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); - component.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(component); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) .build(); - c0.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c0); c1 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) .build(); - c1.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c1); c2 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) .build(); - c2.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c2); } private ForumPost createForumPost(GroupId groupId, diff --git a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionCryptoIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionCryptoIntegrationTest.java index 912a5f90d..039927e5d 100644 --- a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionCryptoIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionCryptoIntegrationTest.java @@ -54,7 +54,8 @@ public class IntroductionCryptoIntegrationTest extends BrambleTestCase { public IntroductionCryptoIntegrationTest() { IntroductionIntegrationTestComponent component = DaggerIntroductionIntegrationTestComponent.builder().build(); - component.injectBriarEagerSingletons(); + IntroductionIntegrationTestComponent.Helper + .injectEagerSingletons(component); component.inject(this); crypto = new IntroductionCryptoImpl(cryptoComponent, clientHelper); diff --git a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java index 76f3e762d..cee9a8bba 100644 --- a/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/introduction/IntroductionIntegrationTest.java @@ -114,23 +114,24 @@ public class IntroductionIntegrationTest protected void createComponents() { IntroductionIntegrationTestComponent component = DaggerIntroductionIntegrationTestComponent.builder().build(); - component.injectBriarEagerSingletons(); + IntroductionIntegrationTestComponent.Helper + .injectEagerSingletons(component); component.inject(this); c0 = DaggerIntroductionIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) .build(); - c0.injectBriarEagerSingletons(); + IntroductionIntegrationTestComponent.Helper.injectEagerSingletons(c0); c1 = DaggerIntroductionIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) .build(); - c1.injectBriarEagerSingletons(); + IntroductionIntegrationTestComponent.Helper.injectEagerSingletons(c1); c2 = DaggerIntroductionIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) .build(); - c2.injectBriarEagerSingletons(); + IntroductionIntegrationTestComponent.Helper.injectEagerSingletons(c2); } @Test diff --git a/briar-core/src/test/java/org/briarproject/briar/introduction/MessageEncoderParserIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/introduction/MessageEncoderParserIntegrationTest.java index 9a730956c..21ea8024c 100644 --- a/briar-core/src/test/java/org/briarproject/briar/introduction/MessageEncoderParserIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/introduction/MessageEncoderParserIntegrationTest.java @@ -74,7 +74,8 @@ public class MessageEncoderParserIntegrationTest extends BrambleTestCase { public MessageEncoderParserIntegrationTest() { IntroductionIntegrationTestComponent component = DaggerIntroductionIntegrationTestComponent.builder().build(); - component.injectBriarEagerSingletons(); + IntroductionIntegrationTestComponent.Helper + .injectEagerSingletons(component); component.inject(this); messageEncoder = new MessageEncoderImpl(clientHelper, messageFactory); diff --git a/briar-core/src/test/java/org/briarproject/briar/introduction/SessionEncoderParserIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/introduction/SessionEncoderParserIntegrationTest.java index c1ac51d94..f41e46c60 100644 --- a/briar-core/src/test/java/org/briarproject/briar/introduction/SessionEncoderParserIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/introduction/SessionEncoderParserIntegrationTest.java @@ -83,7 +83,8 @@ public class SessionEncoderParserIntegrationTest extends BrambleTestCase { public SessionEncoderParserIntegrationTest() { IntroductionIntegrationTestComponent component = DaggerIntroductionIntegrationTestComponent.builder().build(); - component.injectBriarEagerSingletons(); + IntroductionIntegrationTestComponent.Helper + .injectEagerSingletons(component); component.inject(this); sessionEncoder = new SessionEncoderImpl(clientHelper); diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java index 96151f471..d07067887 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/MessageSizeIntegrationTest.java @@ -44,7 +44,8 @@ public class MessageSizeIntegrationTest extends BriarTestCase { public MessageSizeIntegrationTest() { MessageSizeIntegrationTestComponent component = DaggerMessageSizeIntegrationTestComponent.builder().build(); - component.injectMessageSizeEagerSingletons(); + MessageSizeIntegrationTestComponent.Helper + .injectEagerSingletons(component); component.inject(this); } 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 9c2cbd953..4da6d9733 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 @@ -27,9 +27,13 @@ interface MessageSizeIntegrationTestComponent void inject(MessagingModule.EagerSingletons init); - default void injectMessageSizeEagerSingletons() { - injectBrambleCoreEagerSingletons(); - inject(new ForumModule.EagerSingletons()); - inject(new MessagingModule.EagerSingletons()); + class Helper { + + public static void injectEagerSingletons( + MessageSizeIntegrationTestComponent c) { + BrambleCoreEagerSingletons.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/MessagingManagerIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/messaging/MessagingManagerIntegrationTest.java index 77ccc1847..352154e7b 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/MessagingManagerIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/MessagingManagerIntegrationTest.java @@ -68,23 +68,23 @@ public class MessagingManagerIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); - component.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(component); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) .build(); - c0.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c0); c1 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) .build(); - c1.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c1); c2 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) .build(); - c2.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c2); } @Test diff --git a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java index 50a00290a..3671c01e1 100644 --- a/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/messaging/SimplexMessagingIntegrationTest.java @@ -60,11 +60,13 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase { alice = DaggerSimplexMessagingIntegrationTestComponent.builder() .testDatabaseConfigModule( new TestDatabaseConfigModule(aliceDir)).build(); - alice.injectSimplexMessagingEagerSingletons(); + SimplexMessagingIntegrationTestComponent.Helper + .injectEagerSingletons(alice); bob = DaggerSimplexMessagingIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(bobDir)) .build(); - bob.injectSimplexMessagingEagerSingletons(); + SimplexMessagingIntegrationTestComponent.Helper + .injectEagerSingletons(bob); } @Test 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 ab92f6acf..9551ba793 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 @@ -28,11 +28,6 @@ interface SimplexMessagingIntegrationTestComponent void inject(MessagingModule.EagerSingletons init); - default void injectSimplexMessagingEagerSingletons() { - injectBrambleCoreEagerSingletons(); - inject(new MessagingModule.EagerSingletons()); - } - LifecycleManager getLifecycleManager(); IdentityManager getIdentityManager(); @@ -46,4 +41,13 @@ interface SimplexMessagingIntegrationTestComponent EventBus getEventBus(); ConnectionManager getConnectionManager(); + + class Helper { + + public static void injectEagerSingletons( + SimplexMessagingIntegrationTestComponent c) { + BrambleCoreEagerSingletons.Helper.injectEagerSingletons(c); + c.inject(new MessagingModule.EagerSingletons()); + } + } } diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java index 5cf28e6ef..de3ea5400 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupIntegrationTest.java @@ -70,23 +70,23 @@ public class PrivateGroupIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); - component.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(component); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) .build(); - c0.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c0); c1 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) .build(); - c1.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c1); c2 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) .build(); - c2.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c2); } @Test diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupManagerIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupManagerIntegrationTest.java index bef51dabb..52dd29b2e 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupManagerIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/PrivateGroupManagerIntegrationTest.java @@ -59,23 +59,23 @@ public class PrivateGroupManagerIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); - component.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(component); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) .build(); - c0.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c0); c1 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) .build(); - c1.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c1); c2 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) .build(); - c2.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c2); } @Test diff --git a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java index b222df9d6..d2f608d75 100644 --- a/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/privategroup/invitation/GroupInvitationIntegrationTest.java @@ -66,23 +66,23 @@ public class GroupInvitationIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); - component.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(component); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) .build(); - c0.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c0); c1 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) .build(); - c1.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c1); c2 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) .build(); - c2.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c2); } @Test diff --git a/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java index f27adf583..204883ba3 100644 --- a/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java @@ -82,23 +82,23 @@ public class BlogSharingIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); - component.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(component); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) .build(); - c0.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c0); c1 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) .build(); - c1.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c1); c2 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) .build(); - c2.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c2); } @Test diff --git a/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java index 2bc8d32f4..d52482b59 100644 --- a/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java +++ b/briar-core/src/test/java/org/briarproject/briar/sharing/ForumSharingIntegrationTest.java @@ -99,23 +99,23 @@ public class ForumSharingIntegrationTest protected void createComponents() { BriarIntegrationTestComponent component = DaggerBriarIntegrationTestComponent.builder().build(); - component.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(component); component.inject(this); c0 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t0Dir)) .build(); - c0.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c0); c1 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t1Dir)) .build(); - c1.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c1); c2 = DaggerBriarIntegrationTestComponent.builder() .testDatabaseConfigModule(new TestDatabaseConfigModule(t2Dir)) .build(); - c2.injectBriarEagerSingletons(); + BriarIntegrationTestComponent.Helper.injectEagerSingletons(c2); } private void addForumForSharer() throws DbException { 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 0eebc1a4f..b998882ff 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 @@ -69,17 +69,6 @@ public interface BriarIntegrationTestComponent void inject(SharingModule.EagerSingletons init); - default void injectBriarEagerSingletons() { - injectBrambleCoreEagerSingletons(); - inject(new BlogModule.EagerSingletons()); - inject(new ForumModule.EagerSingletons()); - inject(new GroupInvitationModule.EagerSingletons()); - inject(new IntroductionModule.EagerSingletons()); - inject(new MessagingModule.EagerSingletons()); - inject(new PrivateGroupModule.EagerSingletons()); - inject(new SharingModule.EagerSingletons()); - } - LifecycleManager getLifecycleManager(); EventBus getEventBus(); @@ -121,4 +110,19 @@ public interface BriarIntegrationTestComponent BlogFactory getBlogFactory(); ConnectionManager getConnectionManager(); + + class Helper { + + public static void injectEagerSingletons( + BriarIntegrationTestComponent c) { + BrambleCoreEagerSingletons.Helper.injectEagerSingletons(c); + c.inject(new BlogModule.EagerSingletons()); + c.inject(new ForumModule.EagerSingletons()); + c.inject(new GroupInvitationModule.EagerSingletons()); + c.inject(new IntroductionModule.EagerSingletons()); + c.inject(new MessagingModule.EagerSingletons()); + c.inject(new PrivateGroupModule.EagerSingletons()); + c.inject(new SharingModule.EagerSingletons()); + } + } } diff --git a/briar-headless/src/main/java/org/briarproject/briar/headless/Main.kt b/briar-headless/src/main/java/org/briarproject/briar/headless/Main.kt index 14a18e7ec..fd8a08b7b 100644 --- a/briar-headless/src/main/java/org/briarproject/briar/headless/Main.kt +++ b/briar-headless/src/main/java/org/briarproject/briar/headless/Main.kt @@ -6,8 +6,8 @@ import com.github.ajalt.clikt.parameters.options.default import com.github.ajalt.clikt.parameters.options.flag import com.github.ajalt.clikt.parameters.options.option import com.github.ajalt.clikt.parameters.types.int -import org.briarproject.bramble.BrambleCoreModule -import org.briarproject.briar.BriarCoreModule +import org.briarproject.bramble.BrambleCoreEagerSingletons +import org.briarproject.briar.BriarCoreEagerSingletons import org.slf4j.impl.SimpleLogger.DEFAULT_LOG_LEVEL_KEY import org.spongycastle.util.encoders.Base64.toBase64String import java.io.File @@ -70,8 +70,8 @@ private class Main : CliktCommand( DaggerBriarHeadlessApp.builder().headlessModule(HeadlessModule(dataDir)).build() // We need to load the eager singletons directly after making the // dependency graphs - BrambleCoreModule.initEagerSingletons(app) - BriarCoreModule.initEagerSingletons(app) + BrambleCoreEagerSingletons.Helper.injectEagerSingletons(app) + BriarCoreEagerSingletons.Helper.injectEagerSingletons(app) val authToken = getOrCreateAuthToken(dataDir, app.getSecureRandom()) diff --git a/briar-headless/src/test/java/org/briarproject/briar/headless/IntegrationTest.kt b/briar-headless/src/test/java/org/briarproject/briar/headless/IntegrationTest.kt index 9f53cd275..3f7fe6fd6 100644 --- a/briar-headless/src/test/java/org/briarproject/briar/headless/IntegrationTest.kt +++ b/briar-headless/src/test/java/org/briarproject/briar/headless/IntegrationTest.kt @@ -3,9 +3,9 @@ package org.briarproject.briar.headless import io.javalin.Javalin import io.javalin.core.util.Header.AUTHORIZATION import khttp.responses.Response -import org.briarproject.bramble.BrambleCoreModule +import org.briarproject.bramble.BrambleCoreEagerSingletons import org.briarproject.bramble.api.crypto.CryptoComponent -import org.briarproject.briar.BriarCoreModule +import org.briarproject.briar.BriarCoreEagerSingletons import org.briarproject.briar.api.test.TestDataCreator import org.junit.jupiter.api.AfterAll import org.junit.jupiter.api.BeforeAll @@ -32,8 +32,8 @@ abstract class IntegrationTest { val app = DaggerBriarHeadlessTestApp.builder() .headlessTestModule(HeadlessTestModule(dataDir)) .build() - BrambleCoreModule.initEagerSingletons(app) - BriarCoreModule.initEagerSingletons(app) + BrambleCoreEagerSingletons.Helper.injectEagerSingletons(app) + BriarCoreEagerSingletons.Helper.injectEagerSingletons(app) router = app.getRouter() crypto = app.getCryptoComponent() testDataCreator = app.getTestDataCreator()