diff --git a/bramble-android/src/main/java/org/briarproject/bramble/plugin/bluetooth/AndroidBluetoothPlugin.java b/bramble-android/src/main/java/org/briarproject/bramble/plugin/bluetooth/AndroidBluetoothPlugin.java index b77e5b893..ea6c82f97 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/plugin/bluetooth/AndroidBluetoothPlugin.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/plugin/bluetooth/AndroidBluetoothPlugin.java @@ -71,7 +71,6 @@ class AndroidBluetoothPlugin private final Application app; private final Clock clock; - private volatile boolean wasEnabledByUs = false; private volatile BluetoothStateReceiver receiver = null; // Non-null if the plugin started successfully @@ -133,38 +132,6 @@ class AndroidBluetoothPlugin return adapter != null && adapter.isEnabled(); } - @Override - void enableAdapter() { - if (adapter != null && !adapter.isEnabled()) { - if (adapter.enable()) { - LOG.info("Enabling Bluetooth"); - wasEnabledByUs = true; - } else { - LOG.info("Could not enable Bluetooth"); - } - } - } - - @Override - void disableAdapterIfEnabledByUs() { - if (isAdapterEnabled() && wasEnabledByUs) { - if (adapter.disable()) LOG.info("Disabling Bluetooth"); - else LOG.info("Could not disable Bluetooth"); - wasEnabledByUs = false; - } - } - - @Override - void setEnabledByUs() { - wasEnabledByUs = true; - } - - @Override - void onAdapterDisabled() { - super.onAdapterDisabled(); - wasEnabledByUs = false; - } - @Override @Nullable String getBluetoothAddress() { diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/plugin/event/BluetoothEnabledEvent.java b/bramble-api/src/main/java/org/briarproject/bramble/api/plugin/event/BluetoothEnabledEvent.java deleted file mode 100644 index de2feb408..000000000 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/plugin/event/BluetoothEnabledEvent.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.briarproject.bramble.api.plugin.event; - -import org.briarproject.bramble.api.event.Event; -import org.briarproject.bramble.api.nullsafety.NotNullByDefault; - -import javax.annotation.concurrent.Immutable; - -/** - * An event that informs the Bluetooth plugin that we have enabled the - * Bluetooth adapter. - */ -@Immutable -@NotNullByDefault -public class BluetoothEnabledEvent extends Event { -} diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/plugin/event/DisableBluetoothEvent.java b/bramble-api/src/main/java/org/briarproject/bramble/api/plugin/event/DisableBluetoothEvent.java deleted file mode 100644 index e9a53b27c..000000000 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/plugin/event/DisableBluetoothEvent.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.briarproject.bramble.api.plugin.event; - -import org.briarproject.bramble.api.event.Event; -import org.briarproject.bramble.api.nullsafety.NotNullByDefault; - -import javax.annotation.concurrent.Immutable; - -/** - * An event that asks the Bluetooth plugin to disable the Bluetooth adapter if - * we previously enabled it. - */ -@Immutable -@NotNullByDefault -public class DisableBluetoothEvent extends Event { -} diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/plugin/event/EnableBluetoothEvent.java b/bramble-api/src/main/java/org/briarproject/bramble/api/plugin/event/EnableBluetoothEvent.java deleted file mode 100644 index 659b5a16b..000000000 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/plugin/event/EnableBluetoothEvent.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.briarproject.bramble.api.plugin.event; - -import org.briarproject.bramble.api.event.Event; -import org.briarproject.bramble.api.nullsafety.NotNullByDefault; - -import javax.annotation.concurrent.Immutable; - -/** - * An event that asks the Bluetooth plugin to enable the Bluetooth adapter. - */ -@Immutable -@NotNullByDefault -public class EnableBluetoothEvent extends Event { -} diff --git a/bramble-core/src/main/java/org/briarproject/bramble/plugin/bluetooth/BluetoothPlugin.java b/bramble-core/src/main/java/org/briarproject/bramble/plugin/bluetooth/BluetoothPlugin.java index 4929c7f15..e8cf9b07f 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/plugin/bluetooth/BluetoothPlugin.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/plugin/bluetooth/BluetoothPlugin.java @@ -21,9 +21,6 @@ import org.briarproject.bramble.api.plugin.PluginException; import org.briarproject.bramble.api.plugin.TransportId; import org.briarproject.bramble.api.plugin.duplex.DuplexPlugin; import org.briarproject.bramble.api.plugin.duplex.DuplexTransportConnection; -import org.briarproject.bramble.api.plugin.event.BluetoothEnabledEvent; -import org.briarproject.bramble.api.plugin.event.DisableBluetoothEvent; -import org.briarproject.bramble.api.plugin.event.EnableBluetoothEvent; import org.briarproject.bramble.api.properties.TransportProperties; import org.briarproject.bramble.api.properties.event.RemoteTransportPropertiesUpdatedEvent; import org.briarproject.bramble.api.rendezvous.KeyMaterialSource; @@ -93,12 +90,6 @@ abstract class BluetoothPlugin implements DuplexPlugin, EventListener { abstract boolean isAdapterEnabled(); - abstract void enableAdapter(); - - abstract void disableAdapterIfEnabledByUs(); - - abstract void setEnabledByUs(); - /** * Returns the local Bluetooth address, or null if no valid address can * be found. @@ -189,10 +180,7 @@ abstract class BluetoothPlugin implements DuplexPlugin, EventListener { throw new PluginException(e); } updateProperties(); - if (enabledByUser) { - if (isAdapterEnabled()) bind(); - else enableAdapter(); - } + if (enabledByUser && isAdapterEnabled()) bind(); } private void bind() { @@ -319,7 +307,6 @@ abstract class BluetoothPlugin implements DuplexPlugin, EventListener { public void stop() { SS ss = state.setStopped(); tryToClose(ss); - disableAdapterIfEnabledByUs(); } @Override @@ -490,13 +477,7 @@ abstract class BluetoothPlugin implements DuplexPlugin, EventListener { @Override public void eventOccurred(Event e) { - if (e instanceof EnableBluetoothEvent) { - ioExecutor.execute(this::enableAdapter); - } else if (e instanceof DisableBluetoothEvent) { - ioExecutor.execute(this::disableAdapterIfEnabledByUs); - } else if (e instanceof BluetoothEnabledEvent) { - setEnabledByUs(); - } else if (e instanceof SettingsUpdatedEvent) { + if (e instanceof SettingsUpdatedEvent) { SettingsUpdatedEvent s = (SettingsUpdatedEvent) e; if (s.getNamespace().equals(ID.getString())) ioExecutor.execute(() -> onSettingsUpdated(s.getSettings())); @@ -522,11 +503,13 @@ abstract class BluetoothPlugin implements DuplexPlugin, EventListener { if (ss != null) { LOG.info("Disabled by user, closing server socket"); tryToClose(ss); - disableAdapterIfEnabledByUs(); } else if (s == INACTIVE) { - LOG.info("Enabled by user, opening server socket"); - if (isAdapterEnabled()) bind(); - else enableAdapter(); + if (isAdapterEnabled()) { + LOG.info("Enabled by user, opening server socket"); + bind(); + } else { + LOG.info("Enabled by user but adapter is disabled"); + } } } diff --git a/bramble-java/src/main/java/org/briarproject/bramble/plugin/bluetooth/JavaBluetoothPlugin.java b/bramble-java/src/main/java/org/briarproject/bramble/plugin/bluetooth/JavaBluetoothPlugin.java index ccc93fb2c..d76e4ee0a 100644 --- a/bramble-java/src/main/java/org/briarproject/bramble/plugin/bluetooth/JavaBluetoothPlugin.java +++ b/bramble-java/src/main/java/org/briarproject/bramble/plugin/bluetooth/JavaBluetoothPlugin.java @@ -62,22 +62,6 @@ class JavaBluetoothPlugin return localDevice != null && LocalDevice.isPowerOn(); } - @Override - void enableAdapter() { - // Nothing we can do on this platform - LOG.info("Could not enable Bluetooth"); - } - - @Override - void disableAdapterIfEnabledByUs() { - // We didn't enable it so we don't need to disable it - } - - @Override - void setEnabledByUs() { - // Irrelevant on this platform - } - @Nullable @Override String getBluetoothAddress() { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementActivity.java index 154326ae5..568ed219b 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementActivity.java @@ -18,7 +18,6 @@ import org.briarproject.bramble.api.plugin.LanTcpConstants; import org.briarproject.bramble.api.plugin.Plugin; import org.briarproject.bramble.api.plugin.Plugin.State; import org.briarproject.bramble.api.plugin.PluginManager; -import org.briarproject.bramble.api.plugin.event.BluetoothEnabledEvent; import org.briarproject.bramble.api.plugin.event.TransportStateEvent; import org.briarproject.briar.R; import org.briarproject.briar.android.activity.ActivityComponent; @@ -118,13 +117,6 @@ public abstract class KeyAgreementActivity extends BriarActivity implements */ private boolean continueClicked = false; - /** - * Records whether the Bluetooth adapter was already enabled before we - * asked for Bluetooth discoverability, so we know whether to broadcast a - * {@link BluetoothEnabledEvent}. - */ - private boolean wasAdapterEnabled = false; - /** * Records whether we've enabled the wifi plugin so we don't enable it more * than once. @@ -274,7 +266,6 @@ public abstract class KeyAgreementActivity extends BriarActivity implements if (i.resolveActivity(getPackageManager()) != null) { LOG.info("Asking for Bluetooth discoverability"); bluetoothDecision = BluetoothDecision.WAITING; - wasAdapterEnabled = bt.isEnabled(); startActivityForResult(i, REQUEST_BLUETOOTH_DISCOVERABLE); } else { bluetoothDecision = BluetoothDecision.NO_ADAPTER; @@ -320,11 +311,6 @@ public abstract class KeyAgreementActivity extends BriarActivity implements } else { LOG.info("Bluetooth discoverability was accepted"); bluetoothDecision = BluetoothDecision.ACCEPTED; - if (!wasAdapterEnabled) { - LOG.info("Bluetooth adapter was enabled by us"); - eventBus.broadcast(new BluetoothEnabledEvent()); - wasAdapterEnabled = true; - } } showQrCodeFragmentIfAllowed(); } else super.onActivityResult(request, result, data);