From 1bcedea34af403bf25be700dfe3d06b6534d41a0 Mon Sep 17 00:00:00 2001
From: akwizgran <michael@briarproject.org>
Date: Mon, 16 Jul 2018 16:21:25 +0100
Subject: [PATCH] Removed unused ReferenceManager.

---
 .../briarproject/briar/android/AppModule.java |  7 --
 .../briar/android/ReferenceManagerImpl.java   | 83 -------------------
 .../briar/api/android/ReferenceManager.java   | 27 ------
 3 files changed, 117 deletions(-)
 delete mode 100644 briar-android/src/main/java/org/briarproject/briar/android/ReferenceManagerImpl.java
 delete mode 100644 briar-android/src/main/java/org/briarproject/briar/api/android/ReferenceManager.java

diff --git a/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java b/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java
index 565a2c6d35..5a2ad896c6 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java
@@ -31,7 +31,6 @@ import org.briarproject.bramble.util.AndroidUtils;
 import org.briarproject.bramble.util.StringUtils;
 import org.briarproject.briar.api.android.AndroidNotificationManager;
 import org.briarproject.briar.api.android.DozeWatchdog;
-import org.briarproject.briar.api.android.ReferenceManager;
 import org.briarproject.briar.api.android.ScreenFilterMonitor;
 
 import java.io.File;
@@ -166,12 +165,6 @@ public class AppModule {
 		return app.getSharedPreferences("db", MODE_PRIVATE);
 	}
 
-	@Provides
-	@Singleton
-	ReferenceManager provideReferenceManager() {
-		return new ReferenceManagerImpl();
-	}
-
 	@Provides
 	@Singleton
 	AndroidNotificationManager provideAndroidNotificationManager(
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/ReferenceManagerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/ReferenceManagerImpl.java
deleted file mode 100644
index 99fa824980..0000000000
--- a/briar-android/src/main/java/org/briarproject/briar/android/ReferenceManagerImpl.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.briarproject.briar.android;
-
-import org.briarproject.briar.api.android.ReferenceManager;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
-import java.util.logging.Logger;
-
-import static java.util.logging.Level.INFO;
-
-class ReferenceManagerImpl implements ReferenceManager {
-
-	private static final Logger LOG =
-			Logger.getLogger(ReferenceManagerImpl.class.getName());
-
-	private final Lock lock = new ReentrantLock();
-
-	// The following are locking: lock
-	private final Map<Class<?>, Map<Long, Object>> outerMap = new HashMap<>();
-	private long nextHandle = 0;
-
-	@Override
-	public <T> T getReference(long handle, Class<T> c) {
-		lock.lock();
-		try {
-			Map<Long, Object> innerMap = outerMap.get(c);
-			if (innerMap == null) {
-				if (LOG.isLoggable(INFO))
-					LOG.info("0 handles for " + c.getName());
-				return null;
-			}
-			if (LOG.isLoggable(INFO))
-				LOG.info(innerMap.size() + " handles for " + c.getName());
-			Object o = innerMap.get(handle);
-			return c.cast(o);
-		} finally {
-			lock.unlock();
-		}
-
-	}
-
-	@Override
-	public <T> long putReference(T reference, Class<T> c) {
-		lock.lock();
-		try {
-			Map<Long, Object> innerMap = outerMap.get(c);
-			if (innerMap == null) {
-				innerMap = new HashMap<>();
-				outerMap.put(c, innerMap);
-			}
-			long handle = nextHandle++;
-			innerMap.put(handle, reference);
-			if (LOG.isLoggable(INFO)) {
-				LOG.info(innerMap.size() + " handles for " + c.getName() +
-						" after put");
-			}
-			return handle;
-		} finally {
-			lock.unlock();
-		}
-	}
-
-	@Override
-	public <T> T removeReference(long handle, Class<T> c) {
-		lock.lock();
-		try {
-			Map<Long, Object> innerMap = outerMap.get(c);
-			if (innerMap == null) return null;
-			Object o = innerMap.remove(handle);
-			if (innerMap.isEmpty()) outerMap.remove(c);
-			if (LOG.isLoggable(INFO)) {
-				LOG.info(innerMap.size() + " handles for " + c.getName() +
-						" after remove");
-			}
-			return c.cast(o);
-		} finally {
-			lock.unlock();
-		}
-
-	}
-}
diff --git a/briar-android/src/main/java/org/briarproject/briar/api/android/ReferenceManager.java b/briar-android/src/main/java/org/briarproject/briar/api/android/ReferenceManager.java
deleted file mode 100644
index e29b1d9551..0000000000
--- a/briar-android/src/main/java/org/briarproject/briar/api/android/ReferenceManager.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.briarproject.briar.api.android;
-
-/**
- * Manages mappings between object references and serialisable handles. This
- * enables references to be passed between Android UI objects that belong to
- * the same process but can only communicate via serialisation.
- */
-public interface ReferenceManager {
-
-	/**
-	 * Returns the object with the given handle, or null if no mapping exists
-	 * for the handle.
-	 */
-	<T> T getReference(long handle, Class<T> c);
-
-	/**
-	 * Creates a mapping between the given reference and a handle, and returns
-	 * the handle.
-	 */
-	<T> long putReference(T reference, Class<T> c);
-
-	/**
-	 * Removes and returns the object with the given handle, or returns null
-	 * if no mapping exists for the handle.
-	 */
-	<T> T removeReference(long handle, Class<T> c);
-}
-- 
GitLab