diff options
author | Pavlin Radoslavov <pavlin@google.com> | 2015-07-07 18:08:46 -0700 |
---|---|---|
committer | Pavlin Radoslavov <pavlin@google.com> | 2015-07-09 11:38:09 -0700 |
commit | 68cbac9663a8cac0416bc81968f5f543f88b741c (patch) | |
tree | 4d39e23320b6d8e79774cbff88a5bec9aba67c0e /src/com/android/bluetooth/btservice | |
parent | e1c464601f1b1c0278551296cd7bdd50f96f4071 (diff) | |
download | android_packages_apps_Bluetooth-68cbac9663a8cac0416bc81968f5f543f88b741c.tar.gz android_packages_apps_Bluetooth-68cbac9663a8cac0416bc81968f5f543f88b741c.tar.bz2 android_packages_apps_Bluetooth-68cbac9663a8cac0416bc81968f5f543f88b741c.zip |
Set the Bluetooth state to OFF if there is disable timeout error
Previously, if there was "disable timeout" error during Bluetooth
shutdown, the Bluetooth state was set back to ON. However, the
internal Bluetooth stack runtime state was cleaned-up and
practically unusable.
The solution is not to re-enable Bluetooth if there is a
"disable timeout" error.
Bug: 21873347
Change-Id: I561683fa391f7bacbb1aa8f80d8f6583c7d3099c
Diffstat (limited to 'src/com/android/bluetooth/btservice')
-rw-r--r-- | src/com/android/bluetooth/btservice/AdapterState.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/com/android/bluetooth/btservice/AdapterState.java b/src/com/android/bluetooth/btservice/AdapterState.java index 38db5dbed..555e175e8 100644 --- a/src/com/android/bluetooth/btservice/AdapterState.java +++ b/src/com/android/bluetooth/btservice/AdapterState.java @@ -462,9 +462,14 @@ final class AdapterState extends StateMachine { case DISABLE_TIMEOUT: errorLog("Error disabling Bluetooth (disable timeout)"); + if (isTurningOn) + mPendingCommandState.setTurningOn(false); + adapterService.stopProfileServices(); + adapterService.stopGattProfileService(); mPendingCommandState.setTurningOff(false); - transitionTo(mOnState); - notifyAdapterStateChange(BluetoothAdapter.STATE_ON); + setBleTurningOff(false); + transitionTo(mOffState); + notifyAdapterStateChange(BluetoothAdapter.STATE_OFF); break; default: |