From bd566fdb8f6a082ea6467d5bd578805ee4a73e93 Mon Sep 17 00:00:00 2001
From: akwizgran <akwizgran@users.sourceforge.net>
Date: Thu, 19 Dec 2013 23:23:41 +0000
Subject: [PATCH] Moved CPU architecture check from Tor plugin to plugin
 factory.

This allows us to avoid instantiating the plugin on unsupported
architectures.
---
 briar-android/src/net/sf/briar/plugins/tor/TorPlugin.java   | 6 ------
 .../src/net/sf/briar/plugins/tor/TorPluginFactory.java      | 3 +++
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/briar-android/src/net/sf/briar/plugins/tor/TorPlugin.java b/briar-android/src/net/sf/briar/plugins/tor/TorPlugin.java
index 706c0e13a2..d099da15e4 100644
--- a/briar-android/src/net/sf/briar/plugins/tor/TorPlugin.java
+++ b/briar-android/src/net/sf/briar/plugins/tor/TorPlugin.java
@@ -113,12 +113,6 @@ class TorPlugin implements DuplexPlugin, EventHandler {
 	}
 
 	public boolean start() throws IOException {
-		// Check that we have a Tor binary for this architecture
-		if(!Build.CPU_ABI.startsWith("armeabi")) {
-			if(LOG.isLoggable(INFO))
-				LOG.info("No Tor binary for this architecture");
-			return false;
-		}
 		// Try to connect to an existing Tor process if there is one
 		try {
 			controlSocket = new Socket("127.0.0.1", CONTROL_PORT);
diff --git a/briar-android/src/net/sf/briar/plugins/tor/TorPluginFactory.java b/briar-android/src/net/sf/briar/plugins/tor/TorPluginFactory.java
index 494edc0e11..f77bbfc4ac 100644
--- a/briar-android/src/net/sf/briar/plugins/tor/TorPluginFactory.java
+++ b/briar-android/src/net/sf/briar/plugins/tor/TorPluginFactory.java
@@ -8,6 +8,7 @@ import net.sf.briar.api.plugins.duplex.DuplexPlugin;
 import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
 import net.sf.briar.api.plugins.duplex.DuplexPluginFactory;
 import android.content.Context;
+import android.os.Build;
 
 public class TorPluginFactory implements DuplexPluginFactory {
 
@@ -31,6 +32,8 @@ public class TorPluginFactory implements DuplexPluginFactory {
 	}
 
 	public DuplexPlugin createPlugin(DuplexPluginCallback callback) {
+		// Check that we have a Tor binary for this architecture
+		if(!Build.CPU_ABI.startsWith("armeabi")) return null;
 		return new TorPlugin(pluginExecutor,appContext, shutdownManager,
 				callback, MAX_FRAME_LENGTH, MAX_LATENCY, POLLING_INTERVAL);
 	}
-- 
GitLab