From c167938b61f34f150ed22bfc928581e577569003 Mon Sep 17 00:00:00 2001
From: akwizgran <akwizgran@users.sourceforge.net>
Date: Mon, 27 Mar 2017 10:26:10 +0100
Subject: [PATCH] Use constants for Tor network setting values.

---
 .../org/briarproject/bramble/plugin/tor/TorPlugin.java   | 9 +++++++--
 .../briarproject/bramble/api/plugin/TorConstants.java    | 4 ++++
 .../briar/android/settings/SettingsFragment.java         | 4 +++-
 3 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/bramble-android/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java b/bramble-android/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java
index 3043f28163..f851b6bf0e 100644
--- a/bramble-android/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java
+++ b/bramble-android/src/main/java/org/briarproject/bramble/plugin/tor/TorPlugin.java
@@ -81,6 +81,9 @@ import static net.freehaven.tor.control.TorControlCommands.HS_PRIVKEY;
 import static org.briarproject.bramble.api.plugin.TorConstants.CONTROL_PORT;
 import static org.briarproject.bramble.api.plugin.TorConstants.ID;
 import static org.briarproject.bramble.api.plugin.TorConstants.PREF_TOR_NETWORK;
+import static org.briarproject.bramble.api.plugin.TorConstants.PREF_TOR_NETWORK_ALWAYS;
+import static org.briarproject.bramble.api.plugin.TorConstants.PREF_TOR_NETWORK_NEVER;
+import static org.briarproject.bramble.api.plugin.TorConstants.PREF_TOR_NETWORK_WIFI;
 import static org.briarproject.bramble.api.plugin.TorConstants.PREF_TOR_PORT;
 import static org.briarproject.bramble.util.PrivacyUtils.scrubOnion;
 
@@ -705,7 +708,8 @@ class TorPlugin implements DuplexPlugin, EventHandler, EventListener {
 				boolean blocked = TorNetworkMetadata.isTorProbablyBlocked(
 						country);
 				Settings s = callback.getSettings();
-				int network = s.getInt(PREF_TOR_NETWORK, 2);
+				int network = s.getInt(PREF_TOR_NETWORK,
+						PREF_TOR_NETWORK_ALWAYS);
 
 				if (LOG.isLoggable(INFO)) {
 					LOG.info("Online: " + online + ", wifi: " + wifi);
@@ -720,7 +724,8 @@ class TorPlugin implements DuplexPlugin, EventHandler, EventListener {
 					} else if (blocked) {
 						LOG.info("Disabling network, country is blocked");
 						enableNetwork(false);
-					} else if (network == 0 || (network == 1 && !wifi)) {
+					} else if (network == PREF_TOR_NETWORK_NEVER
+							|| (network == PREF_TOR_NETWORK_WIFI && !wifi)) {
 						LOG.info("Disabling network due to data setting");
 						enableNetwork(false);
 					} else {
diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/plugin/TorConstants.java b/bramble-api/src/main/java/org/briarproject/bramble/api/plugin/TorConstants.java
index 0b6be6cc73..5ab9594f8b 100644
--- a/bramble-api/src/main/java/org/briarproject/bramble/api/plugin/TorConstants.java
+++ b/bramble-api/src/main/java/org/briarproject/bramble/api/plugin/TorConstants.java
@@ -11,4 +11,8 @@ public interface TorConstants {
 
 	String PREF_TOR_NETWORK = "network";
 	String PREF_TOR_PORT = "port";
+
+	int PREF_TOR_NETWORK_NEVER = 0;
+	int PREF_TOR_NETWORK_WIFI = 1;
+	int PREF_TOR_NETWORK_ALWAYS = 2;
 }
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java
index badba407d3..0f627bb40f 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java
@@ -49,6 +49,7 @@ import static java.util.logging.Level.INFO;
 import static java.util.logging.Level.WARNING;
 import static org.briarproject.bramble.api.plugin.BluetoothConstants.PREF_BT_ENABLE;
 import static org.briarproject.bramble.api.plugin.TorConstants.PREF_TOR_NETWORK;
+import static org.briarproject.bramble.api.plugin.TorConstants.PREF_TOR_NETWORK_ALWAYS;
 import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_RINGTONE;
 import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_BLOG;
 import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_FORUM;
@@ -199,7 +200,8 @@ public class SettingsFragment extends PreferenceFragmentCompat
 						LOG.info("Loading settings took " + duration + " ms");
 					boolean btSetting =
 							btSettings.getBoolean(PREF_BT_ENABLE, false);
-					int torSetting = torSettings.getInt(PREF_TOR_NETWORK, 2);
+					int torSetting = torSettings.getInt(PREF_TOR_NETWORK,
+							PREF_TOR_NETWORK_ALWAYS);
 					displaySettings(btSetting, torSetting);
 				} catch (DbException e) {
 					if (LOG.isLoggable(WARNING))
-- 
GitLab