diff --git a/briar-android/src/org/briarproject/android/AndroidExecutorImpl.java b/briar-android/src/org/briarproject/android/AndroidExecutorImpl.java index 5d9c4709156887957a8112ebb43abae5790ba85d..079df65e2e337c60f888a9ce4dcd0a789ab3442b 100644 --- a/briar-android/src/org/briarproject/android/AndroidExecutorImpl.java +++ b/briar-android/src/org/briarproject/android/AndroidExecutorImpl.java @@ -6,6 +6,7 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.FutureTask; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.logging.Logger; import javax.inject.Inject; @@ -19,6 +20,9 @@ class AndroidExecutorImpl implements AndroidExecutor { private static final int SHUTDOWN = 0, RUN = 1; + private static final Logger LOG = + Logger.getLogger(AndroidExecutorImpl.class.getName()); + private final Runnable loop; private final AtomicBoolean started = new AtomicBoolean(false); private final CountDownLatch startLatch = new CountDownLatch(1); @@ -43,6 +47,7 @@ class AndroidExecutorImpl implements AndroidExecutor { try { startLatch.await(); } catch(InterruptedException e) { + LOG.warning("Interrupted while starting executor thread"); Thread.currentThread().interrupt(); } } diff --git a/briar-android/src/org/briarproject/android/BriarActivity.java b/briar-android/src/org/briarproject/android/BriarActivity.java index 43305d5d5aefe20f6d6a5745dcaa2d26426af387..a80e276b1fddd25d6fa7a4cbdb789d0037b0b358 100644 --- a/briar-android/src/org/briarproject/android/BriarActivity.java +++ b/briar-android/src/org/briarproject/android/BriarActivity.java @@ -92,6 +92,7 @@ public class BriarActivity extends RoboFragmentActivity { service.waitForShutdown(); } catch(InterruptedException e) { LOG.warning("Interrupted while waiting for service"); + Thread.currentThread().interrupt(); } finishAndExit(); } diff --git a/briar-android/src/org/briarproject/android/TestingActivity.java b/briar-android/src/org/briarproject/android/TestingActivity.java index 3889f82d392bf2818ac3d35246b3f1d5c0bfd748..076d29f0aa1ba5bcdf792854dbe567efb2d9ad28 100644 --- a/briar-android/src/org/briarproject/android/TestingActivity.java +++ b/briar-android/src/org/briarproject/android/TestingActivity.java @@ -261,7 +261,8 @@ public class TestingActivity extends BriarActivity implements OnClickListener { } }); } catch(InterruptedException e) { - if(LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); + LOG.warning("Interrupted while getting BluetoothAdapter"); + Thread.currentThread().interrupt(); } catch(ExecutionException e) { if(LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); } diff --git a/briar-android/src/org/briarproject/plugins/droidtooth/DroidtoothPlugin.java b/briar-android/src/org/briarproject/plugins/droidtooth/DroidtoothPlugin.java index acc2ffc107d2dcb02d1f0ff377ce18a78133bcd7..c44ddf5a4246eb14118572bb7a92f3b2e073ca0a 100644 --- a/briar-android/src/org/briarproject/plugins/droidtooth/DroidtoothPlugin.java +++ b/briar-android/src/org/briarproject/plugins/droidtooth/DroidtoothPlugin.java @@ -110,7 +110,8 @@ class DroidtoothPlugin implements DuplexPlugin { } }); } catch(InterruptedException e) { - throw new IOException(e.toString()); + Thread.currentThread().interrupt(); + throw new IOException("Interrupted while getting BluetoothAdapter"); } catch(ExecutionException e) { throw new IOException(e.toString()); } @@ -427,6 +428,7 @@ class DroidtoothPlugin implements DuplexPlugin { addresses = discoverDevices(end - now); } catch(InterruptedException e) { LOG.warning("Interrupted while discovering devices"); + Thread.currentThread().interrupt(); return; } // Connect to any device with the right UUID diff --git a/briar-android/src/org/briarproject/plugins/tor/TorPlugin.java b/briar-android/src/org/briarproject/plugins/tor/TorPlugin.java index 0c4e515cd4000acad2f97fea0b09baf210f58fc4..18aa76010482f0b1a3cb3b2267b5438178d8ffb1 100644 --- a/briar-android/src/org/briarproject/plugins/tor/TorPlugin.java +++ b/briar-android/src/org/briarproject/plugins/tor/TorPlugin.java @@ -178,6 +178,7 @@ class TorPlugin implements DuplexPlugin, EventHandler { } } catch(InterruptedException e1) { LOG.warning("Interrupted while starting Tor"); + Thread.currentThread().interrupt(); return false; } // Now we should be able to connect to the new process @@ -471,6 +472,8 @@ class TorPlugin implements DuplexPlugin, EventHandler { if(LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e); } catch(InterruptedException e) { LOG.warning("Interrupted while creating hidden service"); + Thread.currentThread().interrupt(); + return; } } // Publish the hidden service's onion hostname in transport properties diff --git a/briar-core/src/org/briarproject/invitation/ConnectorGroup.java b/briar-core/src/org/briarproject/invitation/ConnectorGroup.java index abc4a9ecc8cc8c187da47868325c4b69aafbda4e..7ce73fcc85c620788d74c66ad5950d1785335127 100644 --- a/briar-core/src/org/briarproject/invitation/ConnectorGroup.java +++ b/briar-core/src/org/briarproject/invitation/ConnectorGroup.java @@ -159,6 +159,7 @@ class ConnectorGroup extends Thread implements InvitationTask { for(Connector c : connectors) c.join(); } catch(InterruptedException e) { LOG.warning("Interrupted while waiting for connectors"); + Thread.currentThread().interrupt(); } // If none of the threads connected, inform the listeners if(!connected.get()) { diff --git a/briar-core/src/org/briarproject/messaging/duplex/DuplexConnection.java b/briar-core/src/org/briarproject/messaging/duplex/DuplexConnection.java index 853249cf6d38ef3cf3a1029fe828d128ad0c617e..06d4758045befa69b465357ba3770f888866126e 100644 --- a/briar-core/src/org/briarproject/messaging/duplex/DuplexConnection.java +++ b/briar-core/src/org/briarproject/messaging/duplex/DuplexConnection.java @@ -252,6 +252,7 @@ abstract class DuplexConnection implements EventListener { } } catch(InterruptedException e) { LOG.warning("Interrupted while waiting for task"); + Thread.currentThread().interrupt(); dispose(true, true); } catch(IOException e) { if(LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e);