Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e77e9da8 authored by Jaikumar Ganesh's avatar Jaikumar Ganesh Committed by Android (Google) Code Review
Browse files

Merge "Fix bug in handling connect/disconnect multiple devices." into honeycomb

parents 52ea9898 d1287f5e
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -102,7 +102,6 @@ public final class BluetoothDeviceProfileState extends HierarchicalStateMachine
    private BluetoothDevice mDevice;
    private int mHeadsetState = BluetoothProfile.STATE_DISCONNECTED;
    private int mA2dpState = BluetoothProfile.STATE_DISCONNECTED;
    private int mHidState = BluetoothProfile.STATE_DISCONNECTED;

    private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
        @Override
@@ -140,7 +139,7 @@ public final class BluetoothDeviceProfileState extends HierarchicalStateMachine
                int newState = intent.getIntExtra(BluetoothInputDevice.EXTRA_INPUT_DEVICE_STATE, 0);
                int oldState =
                    intent.getIntExtra(BluetoothInputDevice.EXTRA_PREVIOUS_INPUT_DEVICE_STATE, 0);
                mHidState = newState;

                if (oldState == BluetoothInputDevice.STATE_CONNECTED &&
                    newState == BluetoothInputDevice.STATE_DISCONNECTED) {
                    sendMessage(DISCONNECT_HID_INCOMING);
@@ -286,7 +285,8 @@ public final class BluetoothDeviceProfileState extends HierarchicalStateMachine
                        sendMessage(DISCONNECT_A2DP_OUTGOING);
                        deferMessage(message);
                        break;
                    } else if (mHidState != BluetoothInputDevice.STATE_DISCONNECTED) {
                    } else if (mService.getInputDeviceState(mDevice) !=
                            BluetoothInputDevice.STATE_DISCONNECTED) {
                        sendMessage(DISCONNECT_HID_OUTGOING);
                        deferMessage(message);
                        break;
+2 −1
Original line number Diff line number Diff line
@@ -1755,7 +1755,8 @@ public class BluetoothService extends IBluetooth.Stub {
                                                "Need BLUETOOTH_ADMIN permission");

        String objectPath = getObjectPathFromAddress(device.getAddress());
        if (objectPath == null || getConnectedInputDevices().size() == 0) {
        if (objectPath == null ||
                getInputDeviceState(device) == BluetoothInputDevice.STATE_DISCONNECTED) {
            return false;
        }
        BluetoothDeviceProfileState state = mDeviceProfileState.get(device.getAddress());