mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-12 02:39:05 +01:00
Inject social backup eager singletons when Briar core is created.
This commit is contained in:
@@ -48,7 +48,7 @@ import org.briarproject.briar.api.android.DozeWatchdog;
|
||||
import org.briarproject.briar.api.android.LockManager;
|
||||
import org.briarproject.briar.api.android.ScreenFilterMonitor;
|
||||
import org.briarproject.briar.api.test.TestAvatarCreator;
|
||||
import org.briarproject.briar.socialbackup.AndroidSocialBackupModule;
|
||||
import org.briarproject.briar.socialbackup.AndroidDarkCrystalModule;
|
||||
|
||||
import java.io.File;
|
||||
import java.security.GeneralSecurityException;
|
||||
@@ -83,7 +83,7 @@ import static org.briarproject.briar.android.TestingConstants.IS_DEBUG_BUILD;
|
||||
SettingsModule.class,
|
||||
DevReportModule.class,
|
||||
ContactListModule.class,
|
||||
AndroidSocialBackupModule.class,
|
||||
AndroidDarkCrystalModule.class,
|
||||
// below need to be within same scope as ViewModelProvider.Factory
|
||||
ForumModule.class,
|
||||
GroupListModule.class,
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.briarproject.briar.socialbackup;
|
||||
|
||||
import org.briarproject.briar.android.socialbackup.DarkCrystalImpl;
|
||||
import org.briarproject.briar.api.socialbackup.DarkCrystal;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
@Module
|
||||
public class AndroidDarkCrystalModule {
|
||||
|
||||
@Provides
|
||||
DarkCrystal darkCrystal(DarkCrystalImpl darkCrystal) {
|
||||
return darkCrystal;
|
||||
}
|
||||
}
|
||||
@@ -1,100 +0,0 @@
|
||||
package org.briarproject.briar.socialbackup;
|
||||
|
||||
import org.briarproject.bramble.api.client.ClientHelper;
|
||||
import org.briarproject.bramble.api.contact.ContactManager;
|
||||
import org.briarproject.bramble.api.data.MetadataEncoder;
|
||||
import org.briarproject.bramble.api.lifecycle.LifecycleManager;
|
||||
import org.briarproject.bramble.api.sync.validation.ValidationManager;
|
||||
import org.briarproject.bramble.api.system.Clock;
|
||||
import org.briarproject.bramble.api.versioning.ClientVersioningManager;
|
||||
import org.briarproject.briar.android.socialbackup.DarkCrystalImpl;
|
||||
import org.briarproject.briar.api.conversation.ConversationManager;
|
||||
import org.briarproject.briar.api.socialbackup.DarkCrystal;
|
||||
import org.briarproject.briar.api.socialbackup.SocialBackupManager;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
import static org.briarproject.briar.api.socialbackup.SocialBackupManager.CLIENT_ID;
|
||||
import static org.briarproject.briar.api.socialbackup.SocialBackupManager.MAJOR_VERSION;
|
||||
import static org.briarproject.briar.api.socialbackup.SocialBackupManager.MINOR_VERSION;
|
||||
|
||||
@Module
|
||||
public class AndroidSocialBackupModule {
|
||||
|
||||
public static class EagerSingletons {
|
||||
@Inject
|
||||
SocialBackupManager socialBackupManager;
|
||||
@Inject
|
||||
SocialBackupValidator socialBackupValidator;
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
SocialBackupManager socialBackupManager(
|
||||
LifecycleManager lifecycleManager,
|
||||
ContactManager contactManager,
|
||||
ValidationManager validationManager,
|
||||
ClientVersioningManager clientVersioningManager,
|
||||
SocialBackupManagerImpl socialBackupManager,
|
||||
ConversationManager conversationManager) {
|
||||
lifecycleManager.registerOpenDatabaseHook(socialBackupManager);
|
||||
contactManager.registerContactHook(socialBackupManager);
|
||||
validationManager.registerIncomingMessageHook(CLIENT_ID,
|
||||
MAJOR_VERSION, socialBackupManager);
|
||||
clientVersioningManager.registerClient(CLIENT_ID, MAJOR_VERSION,
|
||||
MINOR_VERSION, socialBackupManager);
|
||||
conversationManager.registerConversationClient(socialBackupManager);
|
||||
return socialBackupManager;
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
SocialBackupValidator socialBackupValidator(
|
||||
ValidationManager validationManager,
|
||||
ClientHelper clientHelper,
|
||||
MetadataEncoder metadataEncoder,
|
||||
Clock clock) {
|
||||
SocialBackupValidator validator =
|
||||
new SocialBackupValidator(clientHelper, metadataEncoder, clock);
|
||||
validationManager.registerMessageValidator(CLIENT_ID, MAJOR_VERSION,
|
||||
validator);
|
||||
return validator;
|
||||
}
|
||||
|
||||
@Provides
|
||||
BackupMetadataParser backupMetadataParser(
|
||||
BackupMetadataParserImpl backupMetadataParser) {
|
||||
return backupMetadataParser;
|
||||
}
|
||||
|
||||
@Provides
|
||||
BackupMetadataEncoder backupMetadataEncoder(
|
||||
BackupMetadataEncoderImpl backupMetadataEncoder) {
|
||||
return backupMetadataEncoder;
|
||||
}
|
||||
|
||||
@Provides
|
||||
BackupPayloadEncoder backupPayloadEncoder(
|
||||
BackupPayloadEncoderImpl backupPayloadEncoder) {
|
||||
return backupPayloadEncoder;
|
||||
}
|
||||
|
||||
@Provides
|
||||
MessageEncoder messageEncoder(MessageEncoderImpl messageEncoder) {
|
||||
return messageEncoder;
|
||||
}
|
||||
|
||||
@Provides
|
||||
MessageParser messageParser(MessageParserImpl messageParser) {
|
||||
return messageParser;
|
||||
}
|
||||
|
||||
@Provides
|
||||
DarkCrystal darkCrystal(DarkCrystalImpl darkCrystal) {
|
||||
return darkCrystal;
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,7 @@ import org.briarproject.briar.messaging.MessagingModule;
|
||||
import org.briarproject.briar.privategroup.PrivateGroupModule;
|
||||
import org.briarproject.briar.privategroup.invitation.GroupInvitationModule;
|
||||
import org.briarproject.briar.sharing.SharingModule;
|
||||
import org.briarproject.briar.socialbackup.SocialBackupModule;
|
||||
//import org.briarproject.briar.socialbackup.DefaultSocialBackupModule;
|
||||
|
||||
public interface BriarCoreEagerSingletons {
|
||||
@@ -34,7 +35,7 @@ public interface BriarCoreEagerSingletons {
|
||||
|
||||
void inject(SharingModule.EagerSingletons init);
|
||||
|
||||
// void inject(DefaultSocialBackupModule.EagerSingletons init);
|
||||
void inject(SocialBackupModule.EagerSingletons init);
|
||||
|
||||
class Helper {
|
||||
|
||||
@@ -49,7 +50,7 @@ public interface BriarCoreEagerSingletons {
|
||||
c.inject(new SharingModule.EagerSingletons());
|
||||
c.inject(new IdentityModule.EagerSingletons());
|
||||
c.inject(new IntroductionModule.EagerSingletons());
|
||||
// c.inject(new DefaultSocialBackupModule.EagerSingletons());
|
||||
c.inject(new SocialBackupModule.EagerSingletons());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ import org.briarproject.briar.messaging.MessagingModule;
|
||||
import org.briarproject.briar.privategroup.PrivateGroupModule;
|
||||
import org.briarproject.briar.privategroup.invitation.GroupInvitationModule;
|
||||
import org.briarproject.briar.sharing.SharingModule;
|
||||
import org.briarproject.briar.socialbackup.DefaultSocialBackupModule;
|
||||
import org.briarproject.briar.socialbackup.SocialBackupModule;
|
||||
import org.briarproject.briar.test.TestModule;
|
||||
|
||||
import dagger.Module;
|
||||
@@ -32,6 +32,7 @@ import dagger.Module;
|
||||
MessagingModule.class,
|
||||
PrivateGroupModule.class,
|
||||
SharingModule.class,
|
||||
SocialBackupModule.class,
|
||||
TestModule.class
|
||||
})
|
||||
public class BriarCoreModule {
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
package org.briarproject.briar.socialbackup;
|
||||
|
||||
import org.briarproject.briar.api.socialbackup.DarkCrystal;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
@Module
|
||||
public class DefaultDarkCrystalModule {
|
||||
|
||||
@Provides
|
||||
DarkCrystal darkCrystal(DarkCrystalStub darkCrystal) {
|
||||
return darkCrystal;
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,6 @@ import org.briarproject.bramble.api.sync.validation.ValidationManager;
|
||||
import org.briarproject.bramble.api.system.Clock;
|
||||
import org.briarproject.bramble.api.versioning.ClientVersioningManager;
|
||||
import org.briarproject.briar.api.conversation.ConversationManager;
|
||||
import org.briarproject.briar.api.socialbackup.DarkCrystal;
|
||||
import org.briarproject.briar.api.socialbackup.SocialBackupManager;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@@ -22,7 +21,7 @@ import static org.briarproject.briar.api.socialbackup.SocialBackupManager.MAJOR_
|
||||
import static org.briarproject.briar.api.socialbackup.SocialBackupManager.MINOR_VERSION;
|
||||
|
||||
@Module
|
||||
public class DefaultSocialBackupModule {
|
||||
public class SocialBackupModule {
|
||||
|
||||
public static class EagerSingletons {
|
||||
@Inject
|
||||
@@ -91,9 +90,4 @@ public class DefaultSocialBackupModule {
|
||||
MessageParser messageParser(MessageParserImpl messageParser) {
|
||||
return messageParser;
|
||||
}
|
||||
|
||||
@Provides
|
||||
DarkCrystal darkCrystal(DarkCrystalStub darkCrystal) {
|
||||
return darkCrystal;
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ package org.briarproject.briar.introduction;
|
||||
import org.briarproject.bramble.BrambleCoreModule;
|
||||
import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule;
|
||||
import org.briarproject.briar.BriarCoreModule;
|
||||
import org.briarproject.briar.socialbackup.DefaultSocialBackupModule;
|
||||
import org.briarproject.briar.socialbackup.DefaultDarkCrystalModule;
|
||||
import org.briarproject.briar.test.BriarIntegrationTestComponent;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
@@ -15,7 +15,7 @@ import dagger.Component;
|
||||
BrambleCoreIntegrationTestModule.class,
|
||||
BrambleCoreModule.class,
|
||||
BriarCoreModule.class,
|
||||
DefaultSocialBackupModule.class
|
||||
DefaultDarkCrystalModule.class
|
||||
})
|
||||
interface IntroductionIntegrationTestComponent
|
||||
extends BriarIntegrationTestComponent {
|
||||
|
||||
@@ -37,7 +37,8 @@ import org.briarproject.briar.messaging.MessagingModule;
|
||||
import org.briarproject.briar.privategroup.PrivateGroupModule;
|
||||
import org.briarproject.briar.privategroup.invitation.GroupInvitationModule;
|
||||
import org.briarproject.briar.sharing.SharingModule;
|
||||
import org.briarproject.briar.socialbackup.DefaultSocialBackupModule;
|
||||
import org.briarproject.briar.socialbackup.DefaultDarkCrystalModule;
|
||||
import org.briarproject.briar.socialbackup.SocialBackupModule;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
@@ -48,7 +49,7 @@ import dagger.Component;
|
||||
BrambleCoreIntegrationTestModule.class,
|
||||
BrambleCoreModule.class,
|
||||
BriarCoreModule.class,
|
||||
DefaultSocialBackupModule.class
|
||||
DefaultDarkCrystalModule.class
|
||||
})
|
||||
public interface BriarIntegrationTestComponent
|
||||
extends BrambleCoreIntegrationTestEagerSingletons {
|
||||
@@ -73,7 +74,7 @@ public interface BriarIntegrationTestComponent
|
||||
|
||||
void inject(SharingModule.EagerSingletons init);
|
||||
|
||||
void inject(DefaultSocialBackupModule.EagerSingletons init);
|
||||
void inject(SocialBackupModule.EagerSingletons init);
|
||||
|
||||
LifecycleManager getLifecycleManager();
|
||||
|
||||
@@ -138,7 +139,7 @@ public interface BriarIntegrationTestComponent
|
||||
c.inject(new MessagingModule.EagerSingletons());
|
||||
c.inject(new PrivateGroupModule.EagerSingletons());
|
||||
c.inject(new SharingModule.EagerSingletons());
|
||||
c.inject(new DefaultSocialBackupModule.EagerSingletons());
|
||||
c.inject(new SocialBackupModule.EagerSingletons());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ import org.briarproject.briar.headless.contact.HeadlessContactModule
|
||||
import org.briarproject.briar.headless.event.HeadlessEventModule
|
||||
import org.briarproject.briar.headless.forums.HeadlessForumModule
|
||||
import org.briarproject.briar.headless.messaging.HeadlessMessagingModule
|
||||
import org.briarproject.briar.socialbackup.DefaultDarkCrystalModule
|
||||
import java.io.File
|
||||
import java.util.Collections.emptyList
|
||||
import javax.inject.Singleton
|
||||
@@ -37,6 +38,7 @@ import javax.inject.Singleton
|
||||
AccountModule::class,
|
||||
CircumventionModule::class,
|
||||
DefaultBatteryManagerModule::class,
|
||||
DefaultDarkCrystalModule::class, // FIXME: Real implementation needed
|
||||
DefaultEventExecutorModule::class,
|
||||
DefaultTaskSchedulerModule::class,
|
||||
DefaultWakefulIoExecutorModule::class,
|
||||
|
||||
@@ -24,6 +24,7 @@ import org.briarproject.briar.headless.contact.HeadlessContactModule
|
||||
import org.briarproject.briar.headless.event.HeadlessEventModule
|
||||
import org.briarproject.briar.headless.forums.HeadlessForumModule
|
||||
import org.briarproject.briar.headless.messaging.HeadlessMessagingModule
|
||||
import org.briarproject.briar.socialbackup.DefaultDarkCrystalModule
|
||||
import java.io.File
|
||||
import java.util.Collections.emptyList
|
||||
import javax.inject.Singleton
|
||||
@@ -34,6 +35,7 @@ import javax.inject.Singleton
|
||||
JavaSystemModule::class,
|
||||
AccountModule::class,
|
||||
CircumventionModule::class,
|
||||
DefaultDarkCrystalModule::class,
|
||||
DefaultEventExecutorModule::class,
|
||||
DefaultTaskSchedulerModule::class,
|
||||
DefaultWakefulIoExecutorModule::class,
|
||||
|
||||
Reference in New Issue
Block a user