mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-16 12:49:55 +01:00
Merge branch 'social-backup-eager-singletons' into 'social-backup-poc'
Dark Crystal: Inject social backup eager singletons when Briar core is created See merge request briar/briar!1414
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.LockManager;
|
||||||
import org.briarproject.briar.api.android.ScreenFilterMonitor;
|
import org.briarproject.briar.api.android.ScreenFilterMonitor;
|
||||||
import org.briarproject.briar.api.test.TestAvatarCreator;
|
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.io.File;
|
||||||
import java.security.GeneralSecurityException;
|
import java.security.GeneralSecurityException;
|
||||||
@@ -83,7 +83,7 @@ import static org.briarproject.briar.android.TestingConstants.IS_DEBUG_BUILD;
|
|||||||
SettingsModule.class,
|
SettingsModule.class,
|
||||||
DevReportModule.class,
|
DevReportModule.class,
|
||||||
ContactListModule.class,
|
ContactListModule.class,
|
||||||
AndroidSocialBackupModule.class,
|
AndroidDarkCrystalModule.class,
|
||||||
// below need to be within same scope as ViewModelProvider.Factory
|
// below need to be within same scope as ViewModelProvider.Factory
|
||||||
ForumModule.class,
|
ForumModule.class,
|
||||||
GroupListModule.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.PrivateGroupModule;
|
||||||
import org.briarproject.briar.privategroup.invitation.GroupInvitationModule;
|
import org.briarproject.briar.privategroup.invitation.GroupInvitationModule;
|
||||||
import org.briarproject.briar.sharing.SharingModule;
|
import org.briarproject.briar.sharing.SharingModule;
|
||||||
|
import org.briarproject.briar.socialbackup.SocialBackupModule;
|
||||||
//import org.briarproject.briar.socialbackup.DefaultSocialBackupModule;
|
//import org.briarproject.briar.socialbackup.DefaultSocialBackupModule;
|
||||||
|
|
||||||
public interface BriarCoreEagerSingletons {
|
public interface BriarCoreEagerSingletons {
|
||||||
@@ -34,7 +35,7 @@ public interface BriarCoreEagerSingletons {
|
|||||||
|
|
||||||
void inject(SharingModule.EagerSingletons init);
|
void inject(SharingModule.EagerSingletons init);
|
||||||
|
|
||||||
// void inject(DefaultSocialBackupModule.EagerSingletons init);
|
void inject(SocialBackupModule.EagerSingletons init);
|
||||||
|
|
||||||
class Helper {
|
class Helper {
|
||||||
|
|
||||||
@@ -49,7 +50,7 @@ public interface BriarCoreEagerSingletons {
|
|||||||
c.inject(new SharingModule.EagerSingletons());
|
c.inject(new SharingModule.EagerSingletons());
|
||||||
c.inject(new IdentityModule.EagerSingletons());
|
c.inject(new IdentityModule.EagerSingletons());
|
||||||
c.inject(new IntroductionModule.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.PrivateGroupModule;
|
||||||
import org.briarproject.briar.privategroup.invitation.GroupInvitationModule;
|
import org.briarproject.briar.privategroup.invitation.GroupInvitationModule;
|
||||||
import org.briarproject.briar.sharing.SharingModule;
|
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 org.briarproject.briar.test.TestModule;
|
||||||
|
|
||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
@@ -32,6 +32,7 @@ import dagger.Module;
|
|||||||
MessagingModule.class,
|
MessagingModule.class,
|
||||||
PrivateGroupModule.class,
|
PrivateGroupModule.class,
|
||||||
SharingModule.class,
|
SharingModule.class,
|
||||||
|
SocialBackupModule.class,
|
||||||
TestModule.class
|
TestModule.class
|
||||||
})
|
})
|
||||||
public class BriarCoreModule {
|
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.system.Clock;
|
||||||
import org.briarproject.bramble.api.versioning.ClientVersioningManager;
|
import org.briarproject.bramble.api.versioning.ClientVersioningManager;
|
||||||
import org.briarproject.briar.api.conversation.ConversationManager;
|
import org.briarproject.briar.api.conversation.ConversationManager;
|
||||||
import org.briarproject.briar.api.socialbackup.DarkCrystal;
|
|
||||||
import org.briarproject.briar.api.socialbackup.SocialBackupManager;
|
import org.briarproject.briar.api.socialbackup.SocialBackupManager;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
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;
|
import static org.briarproject.briar.api.socialbackup.SocialBackupManager.MINOR_VERSION;
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
public class DefaultSocialBackupModule {
|
public class SocialBackupModule {
|
||||||
|
|
||||||
public static class EagerSingletons {
|
public static class EagerSingletons {
|
||||||
@Inject
|
@Inject
|
||||||
@@ -91,9 +90,4 @@ public class DefaultSocialBackupModule {
|
|||||||
MessageParser messageParser(MessageParserImpl messageParser) {
|
MessageParser messageParser(MessageParserImpl messageParser) {
|
||||||
return 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.BrambleCoreModule;
|
||||||
import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule;
|
import org.briarproject.bramble.test.BrambleCoreIntegrationTestModule;
|
||||||
import org.briarproject.briar.BriarCoreModule;
|
import org.briarproject.briar.BriarCoreModule;
|
||||||
import org.briarproject.briar.socialbackup.DefaultSocialBackupModule;
|
import org.briarproject.briar.socialbackup.DefaultDarkCrystalModule;
|
||||||
import org.briarproject.briar.test.BriarIntegrationTestComponent;
|
import org.briarproject.briar.test.BriarIntegrationTestComponent;
|
||||||
|
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
@@ -15,7 +15,7 @@ import dagger.Component;
|
|||||||
BrambleCoreIntegrationTestModule.class,
|
BrambleCoreIntegrationTestModule.class,
|
||||||
BrambleCoreModule.class,
|
BrambleCoreModule.class,
|
||||||
BriarCoreModule.class,
|
BriarCoreModule.class,
|
||||||
DefaultSocialBackupModule.class
|
DefaultDarkCrystalModule.class
|
||||||
})
|
})
|
||||||
interface IntroductionIntegrationTestComponent
|
interface IntroductionIntegrationTestComponent
|
||||||
extends BriarIntegrationTestComponent {
|
extends BriarIntegrationTestComponent {
|
||||||
|
|||||||
@@ -37,7 +37,8 @@ import org.briarproject.briar.messaging.MessagingModule;
|
|||||||
import org.briarproject.briar.privategroup.PrivateGroupModule;
|
import org.briarproject.briar.privategroup.PrivateGroupModule;
|
||||||
import org.briarproject.briar.privategroup.invitation.GroupInvitationModule;
|
import org.briarproject.briar.privategroup.invitation.GroupInvitationModule;
|
||||||
import org.briarproject.briar.sharing.SharingModule;
|
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;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
@@ -48,7 +49,7 @@ import dagger.Component;
|
|||||||
BrambleCoreIntegrationTestModule.class,
|
BrambleCoreIntegrationTestModule.class,
|
||||||
BrambleCoreModule.class,
|
BrambleCoreModule.class,
|
||||||
BriarCoreModule.class,
|
BriarCoreModule.class,
|
||||||
DefaultSocialBackupModule.class
|
DefaultDarkCrystalModule.class
|
||||||
})
|
})
|
||||||
public interface BriarIntegrationTestComponent
|
public interface BriarIntegrationTestComponent
|
||||||
extends BrambleCoreIntegrationTestEagerSingletons {
|
extends BrambleCoreIntegrationTestEagerSingletons {
|
||||||
@@ -73,7 +74,7 @@ public interface BriarIntegrationTestComponent
|
|||||||
|
|
||||||
void inject(SharingModule.EagerSingletons init);
|
void inject(SharingModule.EagerSingletons init);
|
||||||
|
|
||||||
void inject(DefaultSocialBackupModule.EagerSingletons init);
|
void inject(SocialBackupModule.EagerSingletons init);
|
||||||
|
|
||||||
LifecycleManager getLifecycleManager();
|
LifecycleManager getLifecycleManager();
|
||||||
|
|
||||||
@@ -138,7 +139,7 @@ public interface BriarIntegrationTestComponent
|
|||||||
c.inject(new MessagingModule.EagerSingletons());
|
c.inject(new MessagingModule.EagerSingletons());
|
||||||
c.inject(new PrivateGroupModule.EagerSingletons());
|
c.inject(new PrivateGroupModule.EagerSingletons());
|
||||||
c.inject(new SharingModule.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.event.HeadlessEventModule
|
||||||
import org.briarproject.briar.headless.forums.HeadlessForumModule
|
import org.briarproject.briar.headless.forums.HeadlessForumModule
|
||||||
import org.briarproject.briar.headless.messaging.HeadlessMessagingModule
|
import org.briarproject.briar.headless.messaging.HeadlessMessagingModule
|
||||||
|
import org.briarproject.briar.socialbackup.DefaultDarkCrystalModule
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.Collections.emptyList
|
import java.util.Collections.emptyList
|
||||||
import javax.inject.Singleton
|
import javax.inject.Singleton
|
||||||
@@ -37,6 +38,7 @@ import javax.inject.Singleton
|
|||||||
AccountModule::class,
|
AccountModule::class,
|
||||||
CircumventionModule::class,
|
CircumventionModule::class,
|
||||||
DefaultBatteryManagerModule::class,
|
DefaultBatteryManagerModule::class,
|
||||||
|
DefaultDarkCrystalModule::class, // FIXME: Real implementation needed
|
||||||
DefaultEventExecutorModule::class,
|
DefaultEventExecutorModule::class,
|
||||||
DefaultTaskSchedulerModule::class,
|
DefaultTaskSchedulerModule::class,
|
||||||
DefaultWakefulIoExecutorModule::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.event.HeadlessEventModule
|
||||||
import org.briarproject.briar.headless.forums.HeadlessForumModule
|
import org.briarproject.briar.headless.forums.HeadlessForumModule
|
||||||
import org.briarproject.briar.headless.messaging.HeadlessMessagingModule
|
import org.briarproject.briar.headless.messaging.HeadlessMessagingModule
|
||||||
|
import org.briarproject.briar.socialbackup.DefaultDarkCrystalModule
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.Collections.emptyList
|
import java.util.Collections.emptyList
|
||||||
import javax.inject.Singleton
|
import javax.inject.Singleton
|
||||||
@@ -34,6 +35,7 @@ import javax.inject.Singleton
|
|||||||
JavaSystemModule::class,
|
JavaSystemModule::class,
|
||||||
AccountModule::class,
|
AccountModule::class,
|
||||||
CircumventionModule::class,
|
CircumventionModule::class,
|
||||||
|
DefaultDarkCrystalModule::class,
|
||||||
DefaultEventExecutorModule::class,
|
DefaultEventExecutorModule::class,
|
||||||
DefaultTaskSchedulerModule::class,
|
DefaultTaskSchedulerModule::class,
|
||||||
DefaultWakefulIoExecutorModule::class,
|
DefaultWakefulIoExecutorModule::class,
|
||||||
|
|||||||
Reference in New Issue
Block a user