mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-19 14:19:53 +01:00
Include IP, Bluetooth and Tor addresses in debugging info.
This commit is contained in:
@@ -44,7 +44,11 @@ import org.briarproject.android.util.HorizontalBorder;
|
|||||||
import org.briarproject.android.util.LayoutUtils;
|
import org.briarproject.android.util.LayoutUtils;
|
||||||
import org.briarproject.android.util.ListLoadingProgressBar;
|
import org.briarproject.android.util.ListLoadingProgressBar;
|
||||||
import org.briarproject.api.TransportId;
|
import org.briarproject.api.TransportId;
|
||||||
|
import org.briarproject.api.TransportProperties;
|
||||||
import org.briarproject.api.android.AndroidExecutor;
|
import org.briarproject.api.android.AndroidExecutor;
|
||||||
|
import org.briarproject.api.db.DatabaseComponent;
|
||||||
|
import org.briarproject.api.db.DbException;
|
||||||
|
import org.briarproject.api.lifecycle.LifecycleManager;
|
||||||
import org.briarproject.api.plugins.Plugin;
|
import org.briarproject.api.plugins.Plugin;
|
||||||
import org.briarproject.api.plugins.PluginManager;
|
import org.briarproject.api.plugins.PluginManager;
|
||||||
import org.briarproject.util.StringUtils;
|
import org.briarproject.util.StringUtils;
|
||||||
@@ -55,6 +59,7 @@ import android.content.res.Resources;
|
|||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
import android.net.NetworkInfo;
|
import android.net.NetworkInfo;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.net.wifi.WifiInfo;
|
||||||
import android.net.wifi.WifiManager;
|
import android.net.wifi.WifiManager;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
@@ -74,6 +79,8 @@ public class TestingActivity extends BriarActivity implements OnClickListener {
|
|||||||
|
|
||||||
@Inject private AndroidExecutor androidExecutor;
|
@Inject private AndroidExecutor androidExecutor;
|
||||||
@Inject private PluginManager pluginManager;
|
@Inject private PluginManager pluginManager;
|
||||||
|
@Inject private LifecycleManager lifecycleManager;
|
||||||
|
@Inject private DatabaseComponent db;
|
||||||
private ScrollView scroll = null;
|
private ScrollView scroll = null;
|
||||||
private ListLoadingProgressBar progress = null;
|
private ListLoadingProgressBar progress = null;
|
||||||
private LinearLayout status = null;
|
private LinearLayout status = null;
|
||||||
@@ -176,6 +183,7 @@ public class TestingActivity extends BriarActivity implements OnClickListener {
|
|||||||
}.execute();
|
}.execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FIXME: Load strings from resources if we're keeping this activity
|
||||||
private Map<String, String> getStatusMap() {
|
private Map<String, String> getStatusMap() {
|
||||||
Map<String, String> statusMap = new LinkedHashMap<String, String>();
|
Map<String, String> statusMap = new LinkedHashMap<String, String>();
|
||||||
|
|
||||||
@@ -223,7 +231,6 @@ public class TestingActivity extends BriarActivity implements OnClickListener {
|
|||||||
// Is mobile data connected ?
|
// Is mobile data connected ?
|
||||||
boolean mobileConnected = mobile != null && mobile.isConnected();
|
boolean mobileConnected = mobile != null && mobile.isConnected();
|
||||||
|
|
||||||
// Strings aren't loaded from resources as this activity is temporary
|
|
||||||
String mobileStatus;
|
String mobileStatus;
|
||||||
if(mobileAvailable) mobileStatus = "Available, ";
|
if(mobileAvailable) mobileStatus = "Available, ";
|
||||||
else mobileStatus = "Not available, ";
|
else mobileStatus = "Not available, ";
|
||||||
@@ -250,6 +257,18 @@ public class TestingActivity extends BriarActivity implements OnClickListener {
|
|||||||
else wifiStatus += "not enabled, ";
|
else wifiStatus += "not enabled, ";
|
||||||
if(wifiConnected) wifiStatus += "connected";
|
if(wifiConnected) wifiStatus += "connected";
|
||||||
else wifiStatus += "not connected";
|
else wifiStatus += "not connected";
|
||||||
|
if(wm != null) {
|
||||||
|
WifiInfo wifiInfo = wm.getConnectionInfo();
|
||||||
|
if(wifiInfo != null) {
|
||||||
|
int ip = wifiInfo.getIpAddress(); // Nice API, Google
|
||||||
|
int ip1 = ip & 0xFF;
|
||||||
|
int ip2 = (ip >> 8) & 0xFF;
|
||||||
|
int ip3 = (ip >> 16) & 0xFF;
|
||||||
|
int ip4 = (ip >> 24) & 0xFF;
|
||||||
|
String address = ip1 + "." + ip2 + "." + ip3 + "." + ip4;
|
||||||
|
wifiStatus += "\nAddress: " + address;
|
||||||
|
}
|
||||||
|
}
|
||||||
statusMap.put("Wi-Fi:", wifiStatus);
|
statusMap.put("Wi-Fi:", wifiStatus);
|
||||||
|
|
||||||
// Is Bluetooth available?
|
// Is Bluetooth available?
|
||||||
@@ -287,8 +306,20 @@ public class TestingActivity extends BriarActivity implements OnClickListener {
|
|||||||
else btStatus += "not connectable, ";
|
else btStatus += "not connectable, ";
|
||||||
if(btDiscoverable) btStatus += "discoverable";
|
if(btDiscoverable) btStatus += "discoverable";
|
||||||
else btStatus += "not discoverable";
|
else btStatus += "not discoverable";
|
||||||
|
if(bt != null) btStatus += "\nAddress: " + bt.getAddress();
|
||||||
statusMap.put("Bluetooth:", btStatus);
|
statusMap.put("Bluetooth:", btStatus);
|
||||||
|
|
||||||
|
Map<TransportId, TransportProperties> props = Collections.emptyMap();
|
||||||
|
try {
|
||||||
|
lifecycleManager.waitForDatabase();
|
||||||
|
props = db.getLocalProperties();
|
||||||
|
} catch(InterruptedException e) {
|
||||||
|
LOG.info("Interrupted while waiting for database");
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
} catch(DbException e) {
|
||||||
|
if(LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e);
|
||||||
|
}
|
||||||
|
|
||||||
Plugin torPlugin = pluginManager.getPlugin(new TransportId("tor"));
|
Plugin torPlugin = pluginManager.getPlugin(new TransportId("tor"));
|
||||||
boolean torPluginEnabled = torPlugin != null;
|
boolean torPluginEnabled = torPlugin != null;
|
||||||
boolean torPluginRunning = torPlugin != null && torPlugin.isRunning();
|
boolean torPluginRunning = torPlugin != null && torPlugin.isRunning();
|
||||||
@@ -298,6 +329,9 @@ public class TestingActivity extends BriarActivity implements OnClickListener {
|
|||||||
else torPluginStatus = "Not enabled, ";
|
else torPluginStatus = "Not enabled, ";
|
||||||
if(torPluginRunning) torPluginStatus += "running";
|
if(torPluginRunning) torPluginStatus += "running";
|
||||||
else torPluginStatus += "not running";
|
else torPluginStatus += "not running";
|
||||||
|
TransportProperties torProps = props.get(new TransportId("tor"));
|
||||||
|
if(torProps != null)
|
||||||
|
torPluginStatus += "\nAddress: " + torProps.get("onion");
|
||||||
statusMap.put("Tor plugin:", torPluginStatus);
|
statusMap.put("Tor plugin:", torPluginStatus);
|
||||||
|
|
||||||
Plugin lanPlugin = pluginManager.getPlugin(new TransportId("lan"));
|
Plugin lanPlugin = pluginManager.getPlugin(new TransportId("lan"));
|
||||||
@@ -309,6 +343,9 @@ public class TestingActivity extends BriarActivity implements OnClickListener {
|
|||||||
else lanPluginStatus = "Not enabled, ";
|
else lanPluginStatus = "Not enabled, ";
|
||||||
if(lanPluginRunning) lanPluginStatus += "running";
|
if(lanPluginRunning) lanPluginStatus += "running";
|
||||||
else lanPluginStatus += "not running";
|
else lanPluginStatus += "not running";
|
||||||
|
TransportProperties lanProps = props.get(new TransportId("lan"));
|
||||||
|
if(lanProps != null)
|
||||||
|
lanPluginStatus += "\nAddress: " + lanProps.get("address");
|
||||||
statusMap.put("LAN plugin:", lanPluginStatus);
|
statusMap.put("LAN plugin:", lanPluginStatus);
|
||||||
|
|
||||||
Plugin btPlugin = pluginManager.getPlugin(new TransportId("bt"));
|
Plugin btPlugin = pluginManager.getPlugin(new TransportId("bt"));
|
||||||
@@ -320,6 +357,9 @@ public class TestingActivity extends BriarActivity implements OnClickListener {
|
|||||||
else btPluginStatus = "Not enabled, ";
|
else btPluginStatus = "Not enabled, ";
|
||||||
if(btPluginRunning) btPluginStatus += "running";
|
if(btPluginRunning) btPluginStatus += "running";
|
||||||
else btPluginStatus += "not running";
|
else btPluginStatus += "not running";
|
||||||
|
TransportProperties btProps = props.get(new TransportId("bt"));
|
||||||
|
if(btProps != null)
|
||||||
|
btPluginStatus += "\nAddress: " + btProps.get("address");
|
||||||
statusMap.put("Bluetooth plugin:", btPluginStatus);
|
statusMap.put("Bluetooth plugin:", btPluginStatus);
|
||||||
|
|
||||||
// All log output from the current process
|
// All log output from the current process
|
||||||
|
|||||||
Reference in New Issue
Block a user