Fix IdentityManager hooks

This commit makes sure that there is only one identity manager that is
initialized early enough so hooks can be added properly.

Closes #446
This commit is contained in:
Torsten Grote
2016-06-23 11:59:43 -03:00
parent 4176f592df
commit 9c2250277b
3 changed files with 11 additions and 4 deletions

View File

@@ -5,6 +5,7 @@ import org.briarproject.contact.ContactModule;
import org.briarproject.crypto.CryptoModule;
import org.briarproject.db.DatabaseExecutorModule;
import org.briarproject.forum.ForumModule;
import org.briarproject.identity.IdentityModule;
import org.briarproject.introduction.IntroductionModule;
import org.briarproject.lifecycle.LifecycleModule;
import org.briarproject.messaging.MessagingModule;
@@ -27,6 +28,8 @@ public interface CoreEagerSingletons {
void inject(ForumModule.EagerSingletons init);
void inject(IdentityModule.EagerSingletons init);
void inject(IntroductionModule.EagerSingletons init);
void inject(LifecycleModule.EagerSingletons init);

View File

@@ -61,6 +61,7 @@ public class CoreModule {
c.inject(new CryptoModule.EagerSingletons());
c.inject(new DatabaseExecutorModule.EagerSingletons());
c.inject(new ForumModule.EagerSingletons());
c.inject(new IdentityModule.EagerSingletons());
c.inject(new LifecycleModule.EagerSingletons());
c.inject(new MessagingModule.EagerSingletons());
c.inject(new PluginsModule.EagerSingletons());

View File

@@ -4,15 +4,12 @@ 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.event.EventBus;
import org.briarproject.api.identity.Author;
import org.briarproject.api.identity.AuthorFactory;
import org.briarproject.api.identity.IdentityManager;
import org.briarproject.api.system.Clock;
import org.briarproject.crypto.CryptoModule;
import org.briarproject.data.DataModule;
import org.briarproject.db.DatabaseModule;
import javax.inject.Inject;
import javax.inject.Singleton;
import dagger.Module;
@@ -21,6 +18,11 @@ import dagger.Provides;
@Module
public class IdentityModule {
public static class EagerSingletons {
@Inject
IdentityManager identityManager;
}
@Provides
AuthorFactory provideAuthorFactory(CryptoComponent crypto,
BdfWriterFactory bdfWriterFactory, Clock clock) {
@@ -28,6 +30,7 @@ public class IdentityModule {
}
@Provides
@Singleton
IdentityManager provideIdendityModule(DatabaseComponent db) {
return new IdentityManagerImpl(db);
}