mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-14 19:59:05 +01:00
Semi-encapsulated the core/api dependency graphs and created a proper structure to load eager singletons
This commit is contained in:
103
briar-core/src/org/briarproject/CoreComponent.java
Normal file
103
briar-core/src/org/briarproject/CoreComponent.java
Normal file
@@ -0,0 +1,103 @@
|
||||
package org.briarproject;
|
||||
|
||||
import org.briarproject.api.android.PlatformExecutor;
|
||||
import org.briarproject.api.android.ReferenceManager;
|
||||
import org.briarproject.api.contact.ContactManager;
|
||||
import org.briarproject.api.crypto.CryptoComponent;
|
||||
import org.briarproject.api.crypto.CryptoExecutor;
|
||||
import org.briarproject.api.crypto.PasswordStrengthEstimator;
|
||||
import org.briarproject.api.db.DatabaseConfig;
|
||||
import org.briarproject.api.db.DatabaseExecutor;
|
||||
import org.briarproject.api.event.EventBus;
|
||||
import org.briarproject.api.forum.ForumManager;
|
||||
import org.briarproject.api.forum.ForumPostFactory;
|
||||
import org.briarproject.api.forum.ForumSharingManager;
|
||||
import org.briarproject.api.identity.AuthorFactory;
|
||||
import org.briarproject.api.identity.IdentityManager;
|
||||
import org.briarproject.api.invitation.InvitationTaskFactory;
|
||||
import org.briarproject.api.lifecycle.IoExecutor;
|
||||
import org.briarproject.api.lifecycle.LifecycleManager;
|
||||
import org.briarproject.api.messaging.MessagingManager;
|
||||
import org.briarproject.api.messaging.PrivateMessageFactory;
|
||||
import org.briarproject.api.plugins.ConnectionRegistry;
|
||||
import org.briarproject.api.plugins.PluginManager;
|
||||
import org.briarproject.api.properties.TransportPropertyManager;
|
||||
import org.briarproject.api.settings.SettingsManager;
|
||||
import org.briarproject.api.sync.ValidationManager;
|
||||
import org.briarproject.api.transport.KeyManager;
|
||||
import org.briarproject.clients.ClientsModule;
|
||||
import org.briarproject.contact.ContactModule;
|
||||
import org.briarproject.crypto.CryptoModule;
|
||||
import org.briarproject.data.DataModule;
|
||||
import org.briarproject.db.DatabaseModule;
|
||||
import org.briarproject.event.EventModule;
|
||||
import org.briarproject.forum.ForumModule;
|
||||
import org.briarproject.identity.IdentityModule;
|
||||
import org.briarproject.invitation.InvitationModule;
|
||||
import org.briarproject.lifecycle.LifecycleModule;
|
||||
import org.briarproject.messaging.MessagingModule;
|
||||
import org.briarproject.messaging.PrivateMessageValidator;
|
||||
import org.briarproject.plugins.PluginsModule;
|
||||
import org.briarproject.properties.PropertiesModule;
|
||||
import org.briarproject.properties.TransportPropertyValidator;
|
||||
import org.briarproject.reliability.ReliabilityModule;
|
||||
import org.briarproject.settings.SettingsModule;
|
||||
import org.briarproject.sync.SyncModule;
|
||||
import org.briarproject.system.SystemModule;
|
||||
import org.briarproject.transport.TransportModule;
|
||||
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Component;
|
||||
|
||||
@Singleton
|
||||
@Component(modules = {DatabaseModule.class,
|
||||
CryptoModule.class, LifecycleModule.class, PlatformModule.class,
|
||||
ReliabilityModule.class, MessagingModule.class,
|
||||
InvitationModule.class, ForumModule.class, IdentityModule.class,
|
||||
EventModule.class, DataModule.class, ContactModule.class,
|
||||
PropertiesModule.class, TransportModule.class, SyncModule.class,
|
||||
SettingsModule.class, ClientsModule.class, SystemModule.class,
|
||||
PluginsModule.class})
|
||||
public interface CoreComponent {
|
||||
@IoExecutor
|
||||
Executor ioExecutor();
|
||||
ContactManager contactManager();
|
||||
@CryptoExecutor Executor cryptoExecutor();
|
||||
DatabaseConfig databaseConfig();
|
||||
PasswordStrengthEstimator passwordStrengthEstimator();
|
||||
CryptoComponent cryptoComponent();
|
||||
@DatabaseExecutor Executor dbExecutor();
|
||||
LifecycleManager lifecycleManager();
|
||||
AuthorFactory authFactory();
|
||||
EventBus eventBus();
|
||||
KeyManager keyManager();
|
||||
ValidationManager validationManager();
|
||||
ForumManager forumManager();
|
||||
IdentityManager identityManager();
|
||||
PluginManager pluginManager();
|
||||
SettingsManager settingsManater();
|
||||
InvitationTaskFactory invitationTaskFactory();
|
||||
MessagingManager messagingManager();
|
||||
TransportPropertyManager transportPropertyManager();
|
||||
ConnectionRegistry connectionRegistry();
|
||||
ForumSharingManager forumSharingManager();
|
||||
PrivateMessageFactory privateMessageFactory();
|
||||
ForumPostFactory forumPostFactory();
|
||||
PrivateMessageValidator privateMessageValidator();
|
||||
TransportPropertyValidator transportPropertyValidator();
|
||||
PlatformExecutor platformExecutor();
|
||||
// Eager singletons
|
||||
void inject(ContactModule.EagerSingletons init);
|
||||
void inject(CryptoModule.EagerSingletons init);
|
||||
void inject(DatabaseModule.EagerSingletons init);
|
||||
void inject(ForumModule.EagerSingletons init);
|
||||
void inject(LifecycleModule.EagerSingletons init);
|
||||
void inject(MessagingModule.EagerSingletons init);
|
||||
void inject(PluginsModule.EagerSingletons init);
|
||||
void inject(PropertiesModule.EagerSingletons init);
|
||||
void inject(SyncModule.EagerSingletons init);
|
||||
void inject(TransportModule.EagerSingletons init);
|
||||
}
|
||||
28
briar-core/src/org/briarproject/CoreEagerSingletons.java
Normal file
28
briar-core/src/org/briarproject/CoreEagerSingletons.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package org.briarproject;
|
||||
|
||||
import org.briarproject.contact.ContactModule;
|
||||
import org.briarproject.crypto.CryptoModule;
|
||||
import org.briarproject.db.DatabaseModule;
|
||||
import org.briarproject.forum.ForumModule;
|
||||
import org.briarproject.lifecycle.LifecycleModule;
|
||||
import org.briarproject.messaging.MessagingModule;
|
||||
import org.briarproject.plugins.PluginsModule;
|
||||
import org.briarproject.properties.PropertiesModule;
|
||||
import org.briarproject.sync.SyncModule;
|
||||
import org.briarproject.transport.TransportModule;
|
||||
|
||||
public class CoreEagerSingletons {
|
||||
|
||||
public static void initEagerSingletons(CoreComponent c) {
|
||||
c.inject(new ContactModule.EagerSingletons());
|
||||
c.inject(new CryptoModule.EagerSingletons());
|
||||
c.inject(new DatabaseModule.EagerSingletons());
|
||||
c.inject(new ForumModule.EagerSingletons());
|
||||
c.inject(new LifecycleModule.EagerSingletons());
|
||||
c.inject(new MessagingModule.EagerSingletons());
|
||||
c.inject(new PluginsModule.EagerSingletons());
|
||||
c.inject(new PropertiesModule.EagerSingletons());
|
||||
c.inject(new SyncModule.EagerSingletons());
|
||||
c.inject(new TransportModule.EagerSingletons());
|
||||
}
|
||||
}
|
||||
36
briar-core/src/org/briarproject/PlatformModule.java
Normal file
36
briar-core/src/org/briarproject/PlatformModule.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package org.briarproject;
|
||||
|
||||
import org.briarproject.api.android.PlatformExecutor;
|
||||
import org.briarproject.api.db.DatabaseConfig;
|
||||
import org.briarproject.api.ui.UiCallback;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
/**
|
||||
* This class contains methods that MUST(!) be overridden in platform specific
|
||||
* modules that use the core.
|
||||
*/
|
||||
@Module
|
||||
public class PlatformModule {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
public DatabaseConfig provideDatabaseConfig() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Provides
|
||||
public UiCallback provideUICallback() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Provides
|
||||
public PlatformExecutor providePlatformExecutor() {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -3,9 +3,8 @@ package org.briarproject.contact;
|
||||
import org.briarproject.api.contact.ContactManager;
|
||||
import org.briarproject.api.identity.IdentityManager;
|
||||
import org.briarproject.api.lifecycle.LifecycleManager;
|
||||
import org.briarproject.identity.IdentityModule;
|
||||
import org.briarproject.lifecycle.LifecycleModule;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Module;
|
||||
@@ -14,6 +13,10 @@ import dagger.Provides;
|
||||
@Module
|
||||
public class ContactModule {
|
||||
|
||||
public static class EagerSingletons {
|
||||
@Inject ContactManager contactManager;
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
ContactManager getContactManager(LifecycleManager lifecycleManager,
|
||||
|
||||
@@ -7,7 +7,6 @@ import org.briarproject.api.crypto.StreamDecrypterFactory;
|
||||
import org.briarproject.api.crypto.StreamEncrypterFactory;
|
||||
import org.briarproject.api.lifecycle.LifecycleManager;
|
||||
import org.briarproject.api.system.SeedProvider;
|
||||
import org.briarproject.lifecycle.LifecycleModule;
|
||||
|
||||
import java.security.SecureRandom;
|
||||
import java.util.concurrent.BlockingQueue;
|
||||
@@ -17,6 +16,7 @@ import java.util.concurrent.LinkedBlockingQueue;
|
||||
import java.util.concurrent.RejectedExecutionHandler;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Provider;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
@@ -28,6 +28,11 @@ import static java.util.concurrent.TimeUnit.SECONDS;
|
||||
@Module
|
||||
public class CryptoModule {
|
||||
|
||||
public static class EagerSingletons {
|
||||
@Inject
|
||||
@CryptoExecutor Executor cryptoExecutor;
|
||||
}
|
||||
|
||||
/**
|
||||
* The maximum number of executor threads.
|
||||
*/
|
||||
|
||||
@@ -7,9 +7,6 @@ import org.briarproject.api.event.EventBus;
|
||||
import org.briarproject.api.lifecycle.LifecycleManager;
|
||||
import org.briarproject.api.lifecycle.ShutdownManager;
|
||||
import org.briarproject.api.system.Clock;
|
||||
import org.briarproject.data.DataModule;
|
||||
import org.briarproject.event.EventModule;
|
||||
import org.briarproject.lifecycle.LifecycleModule;
|
||||
|
||||
import java.security.SecureRandom;
|
||||
import java.sql.Connection;
|
||||
@@ -21,7 +18,6 @@ import java.util.concurrent.RejectedExecutionHandler;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Module;
|
||||
@@ -32,6 +28,11 @@ import static java.util.concurrent.TimeUnit.SECONDS;
|
||||
@Module
|
||||
public class DatabaseModule {
|
||||
|
||||
public static class EagerSingletons {
|
||||
@Inject
|
||||
@DatabaseExecutor ExecutorService executorService;
|
||||
}
|
||||
|
||||
private final ExecutorService databaseExecutor;
|
||||
|
||||
public DatabaseModule() {
|
||||
|
||||
@@ -4,25 +4,17 @@ import org.briarproject.api.clients.ClientHelper;
|
||||
import org.briarproject.api.contact.ContactManager;
|
||||
import org.briarproject.api.crypto.CryptoComponent;
|
||||
import org.briarproject.api.data.BdfReaderFactory;
|
||||
import org.briarproject.api.data.BdfWriterFactory;
|
||||
import org.briarproject.api.data.MetadataEncoder;
|
||||
import org.briarproject.api.data.MetadataParser;
|
||||
import org.briarproject.api.data.ObjectReader;
|
||||
import org.briarproject.api.db.DatabaseComponent;
|
||||
import org.briarproject.api.forum.ForumManager;
|
||||
import org.briarproject.api.forum.ForumPostFactory;
|
||||
import org.briarproject.api.forum.ForumSharingManager;
|
||||
import org.briarproject.api.identity.Author;
|
||||
import org.briarproject.api.identity.AuthorFactory;
|
||||
import org.briarproject.api.sync.MessageFactory;
|
||||
import org.briarproject.api.sync.ValidationManager;
|
||||
import org.briarproject.api.system.Clock;
|
||||
import org.briarproject.contact.ContactModule;
|
||||
import org.briarproject.crypto.CryptoModule;
|
||||
import org.briarproject.data.DataModule;
|
||||
import org.briarproject.db.DatabaseModule;
|
||||
import org.briarproject.sync.SyncModule;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Module;
|
||||
@@ -31,6 +23,15 @@ import dagger.Provides;
|
||||
@Module
|
||||
public class ForumModule {
|
||||
|
||||
public static class EagerSingletons {
|
||||
@Inject
|
||||
ForumListValidator forumListValidator;
|
||||
@Inject
|
||||
ForumPostValidator forumPostValidator;
|
||||
@Inject
|
||||
ForumSharingManager forumSharingManager;
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
ForumManager provideForumManager(DatabaseComponent db,
|
||||
|
||||
@@ -9,6 +9,7 @@ import java.util.concurrent.RejectedExecutionHandler;
|
||||
import java.util.concurrent.SynchronousQueue;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import org.briarproject.api.db.DatabaseComponent;
|
||||
@@ -17,7 +18,6 @@ import org.briarproject.api.lifecycle.IoExecutor;
|
||||
import org.briarproject.api.lifecycle.LifecycleManager;
|
||||
import org.briarproject.api.lifecycle.ShutdownManager;
|
||||
import org.briarproject.api.system.Clock;
|
||||
import org.briarproject.event.EventModule;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
@@ -25,6 +25,11 @@ import dagger.Provides;
|
||||
@Module
|
||||
public class LifecycleModule {
|
||||
|
||||
public static class EagerSingletons {
|
||||
@Inject
|
||||
@IoExecutor Executor executor;
|
||||
}
|
||||
|
||||
private final ExecutorService ioExecutor;
|
||||
|
||||
public LifecycleModule() {
|
||||
|
||||
@@ -2,18 +2,13 @@ package org.briarproject.messaging;
|
||||
|
||||
import org.briarproject.api.clients.ClientHelper;
|
||||
import org.briarproject.api.contact.ContactManager;
|
||||
import org.briarproject.api.data.BdfReaderFactory;
|
||||
import org.briarproject.api.data.BdfWriterFactory;
|
||||
import org.briarproject.api.data.MetadataEncoder;
|
||||
import org.briarproject.api.messaging.MessagingManager;
|
||||
import org.briarproject.api.messaging.PrivateMessageFactory;
|
||||
import org.briarproject.api.sync.MessageFactory;
|
||||
import org.briarproject.api.sync.ValidationManager;
|
||||
import org.briarproject.api.system.Clock;
|
||||
import org.briarproject.contact.ContactModule;
|
||||
import org.briarproject.data.DataModule;
|
||||
import org.briarproject.sync.SyncModule;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Module;
|
||||
@@ -24,13 +19,17 @@ import static org.briarproject.messaging.MessagingManagerImpl.CLIENT_ID;
|
||||
@Module
|
||||
public class MessagingModule {
|
||||
|
||||
public static class EagerSingletons {
|
||||
@Inject MessagingManager messagingManager;
|
||||
@Inject PrivateMessageValidator privateMessageValidator;
|
||||
}
|
||||
|
||||
@Provides
|
||||
PrivateMessageFactory providePrivateMessageFactory(
|
||||
ClientHelper clientHelper) {
|
||||
return new PrivateMessageFactoryImpl(clientHelper);
|
||||
}
|
||||
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
PrivateMessageValidator getValidator(ValidationManager validationManager,
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package org.briarproject.plugins;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import org.briarproject.api.android.PlatformExecutor;
|
||||
import org.briarproject.api.event.EventBus;
|
||||
import org.briarproject.api.lifecycle.IoExecutor;
|
||||
import org.briarproject.api.lifecycle.LifecycleManager;
|
||||
@@ -9,13 +11,19 @@ import org.briarproject.api.plugins.BackoffFactory;
|
||||
import org.briarproject.api.plugins.ConnectionManager;
|
||||
import org.briarproject.api.plugins.ConnectionRegistry;
|
||||
import org.briarproject.api.plugins.PluginManager;
|
||||
import org.briarproject.api.plugins.duplex.DuplexPluginConfig;
|
||||
import org.briarproject.api.plugins.simplex.SimplexPluginConfig;
|
||||
import org.briarproject.api.plugins.simplex.SimplexPluginFactory;
|
||||
import org.briarproject.api.sync.SyncSessionFactory;
|
||||
import org.briarproject.api.system.LocationUtils;
|
||||
import org.briarproject.api.system.Timer;
|
||||
import org.briarproject.api.transport.KeyManager;
|
||||
import org.briarproject.api.transport.StreamReaderFactory;
|
||||
import org.briarproject.api.transport.StreamWriterFactory;
|
||||
|
||||
import java.security.SecureRandom;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
import dagger.Module;
|
||||
@@ -25,6 +33,11 @@ import dagger.Provides;
|
||||
@Module
|
||||
public class PluginsModule {
|
||||
|
||||
public static class EagerSingletons {
|
||||
@Inject
|
||||
PluginManager pluginManager;
|
||||
}
|
||||
|
||||
@Provides
|
||||
BackoffFactory provideBackoffFactory() {
|
||||
return new BackoffFactoryImpl();
|
||||
@@ -62,4 +75,21 @@ public class PluginsModule {
|
||||
lifecycleManager.register(pluginManager);
|
||||
return pluginManager;
|
||||
}
|
||||
|
||||
@Provides
|
||||
SimplexPluginConfig provideSimplexPluginConfig() {
|
||||
return new SimplexPluginConfig() {
|
||||
public Collection<SimplexPluginFactory> getFactories() {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Provides
|
||||
public DuplexPluginConfig provideDuplexPluginConfig(@IoExecutor Executor ioExecutor,
|
||||
PlatformExecutor platformExecutor, /*Application app,*/
|
||||
SecureRandom random, BackoffFactory backoffFactory,
|
||||
LocationUtils locationUtils, EventBus eventBus) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,15 +2,12 @@ package org.briarproject.properties;
|
||||
|
||||
import org.briarproject.api.clients.ClientHelper;
|
||||
import org.briarproject.api.contact.ContactManager;
|
||||
import org.briarproject.api.data.BdfReaderFactory;
|
||||
import org.briarproject.api.data.MetadataEncoder;
|
||||
import org.briarproject.api.properties.TransportPropertyManager;
|
||||
import org.briarproject.api.sync.ValidationManager;
|
||||
import org.briarproject.api.system.Clock;
|
||||
import org.briarproject.contact.ContactModule;
|
||||
import org.briarproject.data.DataModule;
|
||||
import org.briarproject.sync.SyncModule;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Module;
|
||||
@@ -21,6 +18,11 @@ import static org.briarproject.properties.TransportPropertyManagerImpl.CLIENT_ID
|
||||
@Module
|
||||
public class PropertiesModule {
|
||||
|
||||
public static class EagerSingletons {
|
||||
@Inject TransportPropertyValidator transportPropertyValidator;
|
||||
@Inject TransportPropertyManager transportPropertyManager;
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
TransportPropertyValidator getValidator(ValidationManager validationManager,
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
package org.briarproject.sync;
|
||||
|
||||
import org.briarproject.api.crypto.CryptoComponent;
|
||||
import org.briarproject.api.data.BdfWriterFactory;
|
||||
import org.briarproject.api.data.ObjectReader;
|
||||
import org.briarproject.api.db.DatabaseComponent;
|
||||
import org.briarproject.api.db.DatabaseExecutor;
|
||||
import org.briarproject.api.event.EventBus;
|
||||
import org.briarproject.api.identity.Author;
|
||||
import org.briarproject.api.identity.AuthorFactory;
|
||||
import org.briarproject.api.lifecycle.LifecycleManager;
|
||||
import org.briarproject.api.sync.GroupFactory;
|
||||
import org.briarproject.api.sync.MessageFactory;
|
||||
@@ -16,10 +12,6 @@ import org.briarproject.api.sync.PacketWriterFactory;
|
||||
import org.briarproject.api.sync.SyncSessionFactory;
|
||||
import org.briarproject.api.sync.ValidationManager;
|
||||
import org.briarproject.api.system.Clock;
|
||||
import org.briarproject.crypto.CryptoModule;
|
||||
import org.briarproject.db.DatabaseModule;
|
||||
import org.briarproject.event.EventModule;
|
||||
import org.briarproject.lifecycle.LifecycleModule;
|
||||
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
@@ -32,6 +24,10 @@ import dagger.Provides;
|
||||
@Module
|
||||
public class SyncModule {
|
||||
|
||||
public static class EagerSingletons {
|
||||
@Inject ValidationManager validationManager;
|
||||
}
|
||||
|
||||
@Provides
|
||||
GroupFactory provideGroupFactory(CryptoComponent crypto) {
|
||||
return new GroupFactoryImpl(crypto);
|
||||
|
||||
32
briar-core/src/org/briarproject/system/SystemModule.java
Normal file
32
briar-core/src/org/briarproject/system/SystemModule.java
Normal file
@@ -0,0 +1,32 @@
|
||||
package org.briarproject.system;
|
||||
|
||||
import org.briarproject.api.system.Clock;
|
||||
import org.briarproject.api.system.LocationUtils;
|
||||
import org.briarproject.api.system.SeedProvider;
|
||||
import org.briarproject.api.system.Timer;
|
||||
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
@Module
|
||||
public class SystemModule {
|
||||
@Provides
|
||||
Clock provideClock() {
|
||||
return new SystemClock();
|
||||
}
|
||||
|
||||
@Provides
|
||||
Timer provideTimer() {
|
||||
return new SystemTimer();
|
||||
}
|
||||
|
||||
@Provides
|
||||
public SeedProvider provideSeedProvider() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Provides
|
||||
public LocationUtils provideLocationUtils() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -7,9 +7,8 @@ import org.briarproject.api.lifecycle.LifecycleManager;
|
||||
import org.briarproject.api.transport.KeyManager;
|
||||
import org.briarproject.api.transport.StreamReaderFactory;
|
||||
import org.briarproject.api.transport.StreamWriterFactory;
|
||||
import org.briarproject.event.EventModule;
|
||||
import org.briarproject.lifecycle.LifecycleModule;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.Module;
|
||||
@@ -18,6 +17,10 @@ import dagger.Provides;
|
||||
@Module
|
||||
public class TransportModule {
|
||||
|
||||
public static class EagerSingletons {
|
||||
@Inject KeyManager keyManager;
|
||||
}
|
||||
|
||||
@Provides
|
||||
StreamReaderFactory provideStreamReaderFactory(
|
||||
StreamDecrypterFactory streamDecrypterFactory) {
|
||||
|
||||
Reference in New Issue
Block a user