From 10764d727b519b45454ac7ebcb828345cc60bdb1 Mon Sep 17 00:00:00 2001
From: Ernir Erlingsson <ernir@ymirmobile.com>
Date: Tue, 8 Mar 2016 23:05:10 +0100
Subject: [PATCH] rebased with master

---
 .../briarproject/sync/ConstantsComponent.java |  3 ++-
 .../briarproject/android/AndroidModule.java   | 11 ++++++++
 .../android/BriarApplication.java             |  2 --
 .../src/org/briarproject/data/DataModule.java |  8 +++---
 .../data/MetadataEncoderImpl.java             |  4 +--
 .../briarproject/data/MetadataParserImpl.java |  4 +--
 .../org/briarproject/forum/ForumModule.java   | 26 ++++++++-----------
 .../messaging/MessagingModule.java            | 10 +++----
 .../messaging/PrivateMessageValidator.java    |  2 +-
 .../properties/PropertiesModule.java          |  5 ++--
 .../TransportPropertyValidator.java           |  2 +-
 .../org/briarproject/TestLifecycleModule.java |  1 +
 12 files changed, 43 insertions(+), 35 deletions(-)

diff --git a/briar-android-tests/src/test/java/org/briarproject/sync/ConstantsComponent.java b/briar-android-tests/src/test/java/org/briarproject/sync/ConstantsComponent.java
index 9a59db135d..6e8b2c7829 100644
--- a/briar-android-tests/src/test/java/org/briarproject/sync/ConstantsComponent.java
+++ b/briar-android-tests/src/test/java/org/briarproject/sync/ConstantsComponent.java
@@ -3,6 +3,7 @@ package org.briarproject.sync;
 import org.briarproject.TestDatabaseModule;
 import org.briarproject.TestLifecycleModule;
 import org.briarproject.TestSystemModule;
+import org.briarproject.clients.ClientsModule;
 import org.briarproject.contact.ContactModule;
 import org.briarproject.crypto.CryptoModule;
 import org.briarproject.data.DataModule;
@@ -22,7 +23,7 @@ import dagger.Component;
 		TestSystemModule.class, ContactModule.class, CryptoModule.class,
 		DatabaseModule.class, EventModule.class, SyncModule.class,
 		DataModule.class, TransportModule.class, ForumModule.class,
-		IdentityModule.class, MessagingModule.class})
+		IdentityModule.class, MessagingModule.class, ClientsModule.class})
 public interface ConstantsComponent {
 	void inject(ConstantsTest testCase);
 }
diff --git a/briar-android/src/org/briarproject/android/AndroidModule.java b/briar-android/src/org/briarproject/android/AndroidModule.java
index b258be889a..9343a31e82 100644
--- a/briar-android/src/org/briarproject/android/AndroidModule.java
+++ b/briar-android/src/org/briarproject/android/AndroidModule.java
@@ -10,11 +10,14 @@ import org.briarproject.api.crypto.SecretKey;
 import org.briarproject.api.db.DatabaseConfig;
 import org.briarproject.api.event.EventBus;
 import org.briarproject.api.lifecycle.LifecycleManager;
+import org.briarproject.api.messaging.MessagingManager;
 import org.briarproject.api.plugins.PluginManager;
 import org.briarproject.api.properties.TransportPropertyManager;
 import org.briarproject.api.sync.ValidationManager;
 import org.briarproject.api.transport.KeyManager;
 import org.briarproject.api.ui.UiCallback;
+import org.briarproject.messaging.PrivateMessageValidator;
+import org.briarproject.properties.TransportPropertyValidator;
 
 import java.io.File;
 
@@ -41,6 +44,14 @@ public class AndroidModule {
 		AndroidNotificationManager androidNotificationManager;
 		@Inject
 		TransportPropertyManager transportPropertyManager;
+		@Inject
+		MessagingManager messagingManager;
+		@Inject
+		PrivateMessageValidator privateMessageValidator;
+		@Inject
+		TransportPropertyValidator transportPropertyValidator;
+
+
 	}
 
 	static void injectEager(AndroidComponent c) {
diff --git a/briar-android/src/org/briarproject/android/BriarApplication.java b/briar-android/src/org/briarproject/android/BriarApplication.java
index e56688e697..ac670b9efa 100644
--- a/briar-android/src/org/briarproject/android/BriarApplication.java
+++ b/briar-android/src/org/briarproject/android/BriarApplication.java
@@ -6,8 +6,6 @@ import java.util.logging.Logger;
 import android.app.Application;
 import android.content.Context;
 
-import org.briarproject.event.EventModule;
-
 public class BriarApplication extends Application {
 
 	private static final Logger LOG =
diff --git a/briar-core/src/org/briarproject/data/DataModule.java b/briar-core/src/org/briarproject/data/DataModule.java
index 5c77b8ac73..8a8286511c 100644
--- a/briar-core/src/org/briarproject/data/DataModule.java
+++ b/briar-core/src/org/briarproject/data/DataModule.java
@@ -23,13 +23,13 @@ public class DataModule {
 	}
 
 	@Provides
-	MetadataParser provideMetaDataParser() {
-		return new MetadataParserImpl();
+	MetadataParser provideMetaDataParser(BdfReaderFactory bdfReaderFactory) {
+		return new MetadataParserImpl(bdfReaderFactory);
 	}
 
 	@Provides
-	MetadataEncoder provideMetaDataEncoider() {
-		return new MetadataEncoderImpl();
+	MetadataEncoder provideMetaDataEncoider(BdfWriterFactory bdfWriterFactory) {
+		return new MetadataEncoderImpl(bdfWriterFactory);
 	}
 
 }
diff --git a/briar-core/src/org/briarproject/data/MetadataEncoderImpl.java b/briar-core/src/org/briarproject/data/MetadataEncoderImpl.java
index c35ee3ddb8..d6cc64b145 100644
--- a/briar-core/src/org/briarproject/data/MetadataEncoderImpl.java
+++ b/briar-core/src/org/briarproject/data/MetadataEncoderImpl.java
@@ -1,7 +1,5 @@
 package org.briarproject.data;
 
-import com.google.inject.Inject;
-
 import org.briarproject.api.Bytes;
 import org.briarproject.api.FormatException;
 import org.briarproject.api.data.BdfDictionary;
@@ -16,6 +14,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
+import javax.inject.Inject;
+
 import static org.briarproject.api.data.BdfDictionary.NULL_VALUE;
 import static org.briarproject.api.db.Metadata.REMOVE;
 
diff --git a/briar-core/src/org/briarproject/data/MetadataParserImpl.java b/briar-core/src/org/briarproject/data/MetadataParserImpl.java
index 7d59970b8c..f387b2d0c5 100644
--- a/briar-core/src/org/briarproject/data/MetadataParserImpl.java
+++ b/briar-core/src/org/briarproject/data/MetadataParserImpl.java
@@ -1,7 +1,5 @@
 package org.briarproject.data;
 
-import com.google.inject.Inject;
-
 import org.briarproject.api.FormatException;
 import org.briarproject.api.data.BdfDictionary;
 import org.briarproject.api.data.BdfReader;
@@ -13,6 +11,8 @@ import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.util.Map.Entry;
 
+import javax.inject.Inject;
+
 import static org.briarproject.api.data.BdfDictionary.NULL_VALUE;
 import static org.briarproject.api.db.Metadata.REMOVE;
 
diff --git a/briar-core/src/org/briarproject/forum/ForumModule.java b/briar-core/src/org/briarproject/forum/ForumModule.java
index dba71334f0..cbe2c7f19c 100644
--- a/briar-core/src/org/briarproject/forum/ForumModule.java
+++ b/briar-core/src/org/briarproject/forum/ForumModule.java
@@ -1,5 +1,6 @@
 package org.briarproject.forum;
 
+import org.briarproject.api.clients.ClientHelper;
 import org.briarproject.api.contact.ContactManager;
 import org.briarproject.api.crypto.CryptoComponent;
 import org.briarproject.api.data.BdfReaderFactory;
@@ -12,6 +13,7 @@ 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;
@@ -40,23 +42,18 @@ public class ForumModule {
 
 	@Provides
 	ForumPostFactory provideForumPostFactory(CryptoComponent crypto,
-			MessageFactory messageFactory,
-			BdfWriterFactory bdfWriterFactory) {
-		return new ForumPostFactoryImpl(crypto, messageFactory,
-				bdfWriterFactory);
+			ClientHelper clientHelper) {
+		return new ForumPostFactoryImpl(crypto, clientHelper);
 	}
 
 	@Provides
 	@Singleton
 	ForumPostValidator provideForumPostValidator(
 			ValidationManager validationManager, CryptoComponent crypto,
-			BdfReaderFactory bdfReaderFactory,
-			BdfWriterFactory bdfWriterFactory,
-			ObjectReader<Author> authorReader, MetadataEncoder metadataEncoder,
-			Clock clock) {
+			AuthorFactory authorFactory, ClientHelper clientHelper,
+			MetadataEncoder metadataEncoder, Clock clock) {
 		ForumPostValidator validator = new ForumPostValidator(crypto,
-				bdfReaderFactory, bdfWriterFactory, authorReader,
-				metadataEncoder, clock);
+				authorFactory, clientHelper, metadataEncoder, clock);
 		validationManager.registerMessageValidator(
 				ForumManagerImpl.CLIENT_ID, validator);
 		return validator;
@@ -65,11 +62,10 @@ public class ForumModule {
 	@Provides
 	@Singleton
 	ForumListValidator provideForumListValidator(
-			ValidationManager validationManager,
-			BdfReaderFactory bdfReaderFactory,
-			MetadataEncoder metadataEncoder) {
-		ForumListValidator validator = new ForumListValidator(bdfReaderFactory,
-				metadataEncoder);
+			ValidationManager validationManager, ClientHelper clientHelper,
+			MetadataEncoder metadataEncoder, Clock clock) {
+		ForumListValidator validator = new ForumListValidator(clientHelper,
+				metadataEncoder, clock);
 		validationManager.registerMessageValidator(
 				ForumSharingManagerImpl.CLIENT_ID, validator);
 		return validator;
diff --git a/briar-core/src/org/briarproject/messaging/MessagingModule.java b/briar-core/src/org/briarproject/messaging/MessagingModule.java
index 6a68b0fe1a..6f0921d828 100644
--- a/briar-core/src/org/briarproject/messaging/MessagingModule.java
+++ b/briar-core/src/org/briarproject/messaging/MessagingModule.java
@@ -1,5 +1,6 @@
 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;
@@ -25,19 +26,18 @@ public class MessagingModule {
 
 	@Provides
 	PrivateMessageFactory providePrivateMessageFactory(
-			MessageFactory messageFactory,
-			BdfWriterFactory bdfWriterFactory) {
-		return new PrivateMessageFactoryImpl(messageFactory, bdfWriterFactory);
+			ClientHelper clientHelper) {
+		return new PrivateMessageFactoryImpl(clientHelper);
 	}
 
 
 	@Provides
 	@Singleton
 	PrivateMessageValidator getValidator(ValidationManager validationManager,
-			BdfReaderFactory bdfReaderFactory, MetadataEncoder metadataEncoder,
+			ClientHelper clientHelper, MetadataEncoder metadataEncoder,
 			Clock clock) {
 		PrivateMessageValidator validator = new PrivateMessageValidator(
-				bdfReaderFactory, metadataEncoder, clock);
+				clientHelper, metadataEncoder, clock);
 		validationManager.registerMessageValidator(CLIENT_ID, validator);
 		return validator;
 	}
diff --git a/briar-core/src/org/briarproject/messaging/PrivateMessageValidator.java b/briar-core/src/org/briarproject/messaging/PrivateMessageValidator.java
index 550da3f9c7..ad1fcb81b7 100644
--- a/briar-core/src/org/briarproject/messaging/PrivateMessageValidator.java
+++ b/briar-core/src/org/briarproject/messaging/PrivateMessageValidator.java
@@ -14,7 +14,7 @@ import org.briarproject.clients.BdfMessageValidator;
 import static org.briarproject.api.messaging.MessagingConstants.MAX_CONTENT_TYPE_LENGTH;
 import static org.briarproject.api.messaging.MessagingConstants.MAX_PRIVATE_MESSAGE_BODY_LENGTH;
 
-class PrivateMessageValidator extends BdfMessageValidator {
+public class PrivateMessageValidator extends BdfMessageValidator {
 
 	PrivateMessageValidator(ClientHelper clientHelper,
 			MetadataEncoder metadataEncoder, Clock clock) {
diff --git a/briar-core/src/org/briarproject/properties/PropertiesModule.java b/briar-core/src/org/briarproject/properties/PropertiesModule.java
index 15fcf56aa5..e008146d23 100644
--- a/briar-core/src/org/briarproject/properties/PropertiesModule.java
+++ b/briar-core/src/org/briarproject/properties/PropertiesModule.java
@@ -1,5 +1,6 @@
 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;
@@ -23,10 +24,10 @@ public class PropertiesModule {
 	@Provides
 	@Singleton
 	TransportPropertyValidator getValidator(ValidationManager validationManager,
-			BdfReaderFactory bdfReaderFactory, MetadataEncoder metadataEncoder,
+			ClientHelper clientHelper, MetadataEncoder metadataEncoder,
 			Clock clock) {
 		TransportPropertyValidator validator = new TransportPropertyValidator(
-				bdfReaderFactory, metadataEncoder, clock);
+				clientHelper, metadataEncoder, clock);
 		validationManager.registerMessageValidator(CLIENT_ID, validator);
 		return validator;
 	}
diff --git a/briar-core/src/org/briarproject/properties/TransportPropertyValidator.java b/briar-core/src/org/briarproject/properties/TransportPropertyValidator.java
index 55b913c7dd..b26775d736 100644
--- a/briar-core/src/org/briarproject/properties/TransportPropertyValidator.java
+++ b/briar-core/src/org/briarproject/properties/TransportPropertyValidator.java
@@ -15,7 +15,7 @@ import static org.briarproject.api.TransportId.MAX_TRANSPORT_ID_LENGTH;
 import static org.briarproject.api.properties.TransportPropertyConstants.MAX_PROPERTIES_PER_TRANSPORT;
 import static org.briarproject.api.properties.TransportPropertyConstants.MAX_PROPERTY_LENGTH;
 
-class TransportPropertyValidator extends BdfMessageValidator {
+public class TransportPropertyValidator extends BdfMessageValidator {
 
 	TransportPropertyValidator(ClientHelper clientHelper,
 			MetadataEncoder metadataEncoder, Clock clock) {
diff --git a/briar-tests/src/org/briarproject/TestLifecycleModule.java b/briar-tests/src/org/briarproject/TestLifecycleModule.java
index 8df124d7d6..6022af177e 100644
--- a/briar-tests/src/org/briarproject/TestLifecycleModule.java
+++ b/briar-tests/src/org/briarproject/TestLifecycleModule.java
@@ -55,6 +55,7 @@ public class TestLifecycleModule {
 		};
 	}
 
+	@Provides
 	ShutdownManager provideShutdownManager() {
 		return new ShutdownManager() {
 			@Override
-- 
GitLab