From f25fbc5b94b1056d09f96c19c7833a724e4f4b5d Mon Sep 17 00:00:00 2001
From: akwizgran <michael@briarproject.org>
Date: Wed, 18 Apr 2018 11:16:49 +0100
Subject: [PATCH] Merge registration methods for clients and hooks.

---
 .../api/sync/ClientVersioningManager.java      | 14 ++++----------
 .../bramble/properties/PropertiesModule.java   |  4 +---
 .../sync/ClientVersioningManagerImpl.java      |  7 +------
 .../briar/introduction/IntroductionModule.java |  4 +---
 .../briar/messaging/MessagingModule.java       |  4 +---
 .../invitation/GroupInvitationModule.java      |  9 ++-------
 .../briar/sharing/SharingModule.java           | 18 ++++--------------
 7 files changed, 14 insertions(+), 46 deletions(-)

diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ClientVersioningManager.java b/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ClientVersioningManager.java
index b8be969f48..f15528d5ce 100644
--- a/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ClientVersioningManager.java
+++ b/bramble-api/src/main/java/org/briarproject/bramble/api/sync/ClientVersioningManager.java
@@ -22,17 +22,11 @@ public interface ClientVersioningManager {
 	int MAJOR_VERSION = 0;
 
 	/**
-	 * Registers a client that will be advertised to contacts. This method
-	 * should be called before {@link LifecycleManager#startServices(String)}.
+	 * Registers a client that will be advertised to contacts. The hook will
+	 * be called when the visibility of the client changes. This method should
+	 * be called before {@link LifecycleManager#startServices(String)}.
 	 */
-	void registerClient(ClientId clientId, int majorVersion, int minorVersion);
-
-	/**
-	 * Registers a hook that will be called when the visibility of the given
-	 * client changes. This method should be called before
-	 * {@link LifecycleManager#startServices(String)}.
-	 */
-	void registerClientVersioningHook(ClientId clientId, int majorVersion,
+	void registerClient(ClientId clientId, int majorVersion, int minorVersion,
 			ClientVersioningHook hook);
 
 	/**
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/properties/PropertiesModule.java b/bramble-core/src/main/java/org/briarproject/bramble/properties/PropertiesModule.java
index d2d1b6324b..c6d2dbaf97 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/properties/PropertiesModule.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/properties/PropertiesModule.java
@@ -53,9 +53,7 @@ public class PropertiesModule {
 				transportPropertyManager);
 		contactManager.registerContactHook(transportPropertyManager);
 		clientVersioningManager.registerClient(CLIENT_ID, MAJOR_VERSION,
-				MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(CLIENT_ID,
-				MAJOR_VERSION, transportPropertyManager);
+				MINOR_VERSION, transportPropertyManager);
 		return transportPropertyManager;
 	}
 }
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersioningManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersioningManagerImpl.java
index 653b72af53..6c9191f29f 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersioningManagerImpl.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersioningManagerImpl.java
@@ -80,14 +80,9 @@ class ClientVersioningManagerImpl implements ClientVersioningManager, Client,
 
 	@Override
 	public void registerClient(ClientId clientId, int majorVersion,
-			int minorVersion) {
+			int minorVersion, ClientVersioningHook hook) {
 		clients.add(new ClientMinorVersion(clientId, majorVersion,
 				minorVersion));
-	}
-
-	@Override
-	public void registerClientVersioningHook(ClientId clientId,
-			int majorVersion, ClientVersioningHook hook) {
 		hooks.put(new ClientVersion(clientId, majorVersion), hook);
 	}
 
diff --git a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionModule.java b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionModule.java
index 17d08cd185..e959f4ca5b 100644
--- a/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionModule.java
+++ b/briar-core/src/main/java/org/briarproject/briar/introduction/IntroductionModule.java
@@ -57,9 +57,7 @@ public class IntroductionModule {
 				MAJOR_VERSION, introductionManager);
 		conversationManager.registerConversationClient(introductionManager);
 		clientVersioningManager.registerClient(CLIENT_ID, MAJOR_VERSION,
-				MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(CLIENT_ID,
-				MAJOR_VERSION, introductionManager);
+				MINOR_VERSION, introductionManager);
 		return introductionManager;
 	}
 
diff --git a/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingModule.java b/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingModule.java
index 8363ef3931..80ba2578a7 100644
--- a/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingModule.java
+++ b/briar-core/src/main/java/org/briarproject/briar/messaging/MessagingModule.java
@@ -64,9 +64,7 @@ public class MessagingModule {
 				messagingManager);
 		conversationManager.registerConversationClient(messagingManager);
 		clientVersioningManager.registerClient(CLIENT_ID, MAJOR_VERSION,
-				MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(CLIENT_ID,
-				MAJOR_VERSION, messagingManager);
+				MINOR_VERSION, messagingManager);
 		return messagingManager;
 	}
 
diff --git a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationModule.java b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationModule.java
index 03f0ed6788..1ae6ceb74d 100644
--- a/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationModule.java
+++ b/briar-core/src/main/java/org/briarproject/briar/privategroup/invitation/GroupInvitationModule.java
@@ -49,17 +49,12 @@ public class GroupInvitationModule {
 		privateGroupManager.registerPrivateGroupHook(groupInvitationManager);
 		conversationManager.registerConversationClient(groupInvitationManager);
 		clientVersioningManager.registerClient(CLIENT_ID, MAJOR_VERSION,
-				MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(CLIENT_ID,
-				MAJOR_VERSION, groupInvitationManager);
+				MINOR_VERSION, groupInvitationManager);
 		// The group invitation manager handles client visibility changes for
 		// the private group manager
 		clientVersioningManager.registerClient(PrivateGroupManager.CLIENT_ID,
 				PrivateGroupManager.MAJOR_VERSION,
-				PrivateGroupManager.MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(
-				PrivateGroupManager.CLIENT_ID,
-				PrivateGroupManager.MAJOR_VERSION,
+				PrivateGroupManager.MINOR_VERSION,
 				groupInvitationManager.getPrivateGroupClientVersioningHook());
 		return groupInvitationManager;
 	}
diff --git a/briar-core/src/main/java/org/briarproject/briar/sharing/SharingModule.java b/briar-core/src/main/java/org/briarproject/briar/sharing/SharingModule.java
index b58bc246ab..296511ec30 100644
--- a/briar-core/src/main/java/org/briarproject/briar/sharing/SharingModule.java
+++ b/briar-core/src/main/java/org/briarproject/briar/sharing/SharingModule.java
@@ -85,16 +85,11 @@ public class SharingModule {
 		blogManager.registerRemoveBlogHook(blogSharingManager);
 		clientVersioningManager.registerClient(BlogSharingManager.CLIENT_ID,
 				BlogSharingManager.MAJOR_VERSION,
-				BlogSharingManager.MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(
-				BlogSharingManager.CLIENT_ID, BlogSharingManager.MAJOR_VERSION,
-				blogSharingManager);
+				BlogSharingManager.MINOR_VERSION, blogSharingManager);
 		// The blog sharing manager handles client visibility changes for the
 		// blog manager
 		clientVersioningManager.registerClient(BlogManager.CLIENT_ID,
-				BlogManager.MAJOR_VERSION, BlogManager.MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(
-				BlogManager.CLIENT_ID, BlogManager.MAJOR_VERSION,
+				BlogManager.MAJOR_VERSION, BlogManager.MINOR_VERSION,
 				blogSharingManager.getShareableClientVersioningHook());
 		return blogSharingManager;
 	}
@@ -149,16 +144,11 @@ public class SharingModule {
 		forumManager.registerRemoveForumHook(forumSharingManager);
 		clientVersioningManager.registerClient(ForumSharingManager.CLIENT_ID,
 				ForumSharingManager.MAJOR_VERSION,
-				ForumSharingManager.MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(
-				ForumSharingManager.CLIENT_ID,
-				ForumSharingManager.MAJOR_VERSION, forumSharingManager);
+				ForumSharingManager.MINOR_VERSION, forumSharingManager);
 		// The forum sharing manager handles client visibility changes for the
 		// forum manager
 		clientVersioningManager.registerClient(ForumManager.CLIENT_ID,
-				ForumManager.MAJOR_VERSION, ForumManager.MINOR_VERSION);
-		clientVersioningManager.registerClientVersioningHook(
-				ForumManager.CLIENT_ID, ForumManager.MAJOR_VERSION,
+				ForumManager.MAJOR_VERSION, ForumManager.MINOR_VERSION,
 				forumSharingManager.getShareableClientVersioningHook());
 		return forumSharingManager;
 	}
-- 
GitLab