diff options
| author | Marie Janssen <jamuraa@google.com> | 2016-10-25 10:47:51 -0700 |
|---|---|---|
| committer | Marie Janssen <jamuraa@google.com> | 2016-10-31 09:06:36 -0700 |
| commit | 257f8fe85e626e8741ae626228214c2c34390aea (patch) | |
| tree | d0a08675cc76acc7397b20db8c937ca136a40862 /framework/java/android/bluetooth/BluetoothAdapter.java | |
| parent | a0f9afe13fb61df7fb579d7649c1b273deead587 (diff) | |
Bluetooth: prevent enabling BLE in airplane mode
Enabling BLE in airplane mode puts BluetoothManagerService in an
unexpected state which causes Bluetooth to be on when airplane mode
is disabled.
Also fixes a bug where a crash of a BLE client would trigger a restart
into ON mode.
Test: SL4A BleBackgroundScanTest:test_airplane_mode_disables_ble
Bug: 32140251
Bug: 32140271
Bug: 32369494
Change-Id: Ie65157e65c3a1ca914f567a7a0c631175d1e5835
Diffstat (limited to 'framework/java/android/bluetooth/BluetoothAdapter.java')
| -rw-r--r-- | framework/java/android/bluetooth/BluetoothAdapter.java | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/framework/java/android/bluetooth/BluetoothAdapter.java b/framework/java/android/bluetooth/BluetoothAdapter.java index 073196cf7c..b57a4e07bf 100644 --- a/framework/java/android/bluetooth/BluetoothAdapter.java +++ b/framework/java/android/bluetooth/BluetoothAdapter.java @@ -786,19 +786,13 @@ public final class BluetoothAdapter { public boolean enableBLE() { if (!isBleScanAlwaysAvailable()) return false; - if (isLeEnabled() == true) { - if (DBG) Log.d(TAG, "enableBLE(): BT is already enabled..!"); - try { - mManagerService.updateBleAppCount(mToken, true); - } catch (RemoteException e) { - Log.e(TAG, "", e); - } - return true; - } - try { - if (DBG) Log.d(TAG, "Calling enableBLE"); mManagerService.updateBleAppCount(mToken, true); + if (isLeEnabled()) { + if (DBG) Log.d(TAG, "enableBLE(): Bluetooth already enabled"); + return true; + } + if (DBG) Log.d(TAG, "enableBLE(): Calling enable"); return mManagerService.enable(ActivityThread.currentPackageName()); } catch (RemoteException e) { Log.e(TAG, "", e); |
