summaryrefslogtreecommitdiffstats
path: root/src/com/android/bluetooth/btservice
diff options
context:
space:
mode:
authorPavlin Radoslavov <pavlin@google.com>2015-07-07 18:08:46 -0700
committerPavlin Radoslavov <pavlin@google.com>2015-07-09 11:38:09 -0700
commit68cbac9663a8cac0416bc81968f5f543f88b741c (patch)
tree4d39e23320b6d8e79774cbff88a5bec9aba67c0e /src/com/android/bluetooth/btservice
parente1c464601f1b1c0278551296cd7bdd50f96f4071 (diff)
downloadandroid_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.java9
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: