diff options
author | Matthew Xie <mattx@google.com> | 2011-09-20 14:14:29 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-09-20 14:14:29 -0700 |
commit | e0515aad3a51aa2eadce5c448f771d2372916939 (patch) | |
tree | 4d580a85e9319c36aed0e30fd564fcc53402e98f /core/java/android/server/BluetoothAdapterStateMachine.java | |
parent | de5e4455c5a750e70e43674e1fe9f95bce09654b (diff) | |
parent | 778eccf4923571c77f158e92b2f5f0f7dfd21875 (diff) | |
download | frameworks_base-e0515aad3a51aa2eadce5c448f771d2372916939.zip frameworks_base-e0515aad3a51aa2eadce5c448f771d2372916939.tar.gz frameworks_base-e0515aad3a51aa2eadce5c448f771d2372916939.tar.bz2 |
am 778eccf4: Merge "Check null of pidPair to skip the case the service record has been removed" into ics-factoryrom
* commit '778eccf4923571c77f158e92b2f5f0f7dfd21875':
Check null of pidPair to skip the case the service record has been removed
Diffstat (limited to 'core/java/android/server/BluetoothAdapterStateMachine.java')
-rw-r--r-- | core/java/android/server/BluetoothAdapterStateMachine.java | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/core/java/android/server/BluetoothAdapterStateMachine.java b/core/java/android/server/BluetoothAdapterStateMachine.java index ac46ee2..d26364e 100644 --- a/core/java/android/server/BluetoothAdapterStateMachine.java +++ b/core/java/android/server/BluetoothAdapterStateMachine.java @@ -434,6 +434,10 @@ final class BluetoothAdapterStateMachine extends StateMachine { if (mPublicState == BluetoothAdapter.STATE_TURNING_OFF) { transitionTo(mHotOff); finishSwitchingOff(); + if (!mContext.getResources().getBoolean + (com.android.internal.R.bool.config_bluetooth_adapter_quick_switch)) { + deferMessage(obtainMessage(TURN_COLD)); + } } } else { if (mPublicState != BluetoothAdapter.STATE_TURNING_ON) { @@ -486,16 +490,6 @@ final class BluetoothAdapterStateMachine extends StateMachine { } return retValue; } - - private void finishSwitchingOff() { - mBluetoothService.finishDisable(); - if (mContext.getResources().getBoolean - (com.android.internal.R.bool.config_bluetooth_adapter_quick_switch)) { - broadcastState(BluetoothAdapter.STATE_OFF); - } else { - deferMessage(obtainMessage(TURN_COLD)); - } - } } private class BluetoothOn extends State { @@ -656,12 +650,10 @@ final class BluetoothAdapterStateMachine extends StateMachine { //$FALL-THROUGH$ all devices are already disconnected case ALL_DEVICES_DISCONNECTED: removeMessages(DEVICES_DISCONNECT_TIMEOUT); - mBluetoothService.finishDisable(); - broadcastState(BluetoothAdapter.STATE_OFF); + finishSwitchingOff(); break; case DEVICES_DISCONNECT_TIMEOUT: - mBluetoothService.finishDisable(); - broadcastState(BluetoothAdapter.STATE_OFF); + finishSwitchingOff(); Log.e(TAG, "Devices fail to disconnect, reseting..."); transitionTo(mHotOff); deferMessage(obtainMessage(TURN_COLD)); @@ -695,6 +687,12 @@ final class BluetoothAdapterStateMachine extends StateMachine { } } + private void finishSwitchingOff() { + mBluetoothService.finishDisable(); + broadcastState(BluetoothAdapter.STATE_OFF); + mBluetoothService.cleanupAfterFinishDisable(); + } + private void shutoffBluetooth() { mBluetoothService.shutoffBluetooth(); mEventLoop.stop(); |