Loading services/core/java/com/android/server/audio/AudioService.java +22 −9 Original line number Diff line number Diff line Loading @@ -3097,7 +3097,22 @@ public class AudioService extends IAudioService.Stub { boolean success = handleDeviceConnection(connected, outDevice, address, btDeviceName) && handleDeviceConnection(connected, inDevice, address, btDeviceName); if (success) { if (!success) { return; } /* When one BT headset is disconnected while another BT headset * is connected, don't mess with the headset device. */ if ((state == BluetoothProfile.STATE_DISCONNECTED || state == BluetoothProfile.STATE_DISCONNECTING) && mBluetoothHeadset != null && mBluetoothHeadset.getAudioState(btDevice) == BluetoothHeadset.STATE_AUDIO_CONNECTED) { Log.w(TAG, "SCO connected through another device, returning"); return; } synchronized (mScoClients) { if (connected) { mBluetoothHeadsetDevice = btDevice; Loading @@ -3107,7 +3122,6 @@ public class AudioService extends IAudioService.Stub { } } } } private BluetoothProfile.ServiceListener mBluetoothProfileServiceListener = new BluetoothProfile.ServiceListener() { Loading Loading @@ -5250,7 +5264,6 @@ public class AudioService extends IAudioService.Stub { state = intent.getIntExtra(BluetoothProfile.EXTRA_STATE, BluetoothProfile.STATE_DISCONNECTED); BluetoothDevice btDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); setBtScoDeviceConnectionState(btDevice, state); } else if (action.equals(BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED)) { boolean broadcast = false; Loading Loading
services/core/java/com/android/server/audio/AudioService.java +22 −9 Original line number Diff line number Diff line Loading @@ -3097,7 +3097,22 @@ public class AudioService extends IAudioService.Stub { boolean success = handleDeviceConnection(connected, outDevice, address, btDeviceName) && handleDeviceConnection(connected, inDevice, address, btDeviceName); if (success) { if (!success) { return; } /* When one BT headset is disconnected while another BT headset * is connected, don't mess with the headset device. */ if ((state == BluetoothProfile.STATE_DISCONNECTED || state == BluetoothProfile.STATE_DISCONNECTING) && mBluetoothHeadset != null && mBluetoothHeadset.getAudioState(btDevice) == BluetoothHeadset.STATE_AUDIO_CONNECTED) { Log.w(TAG, "SCO connected through another device, returning"); return; } synchronized (mScoClients) { if (connected) { mBluetoothHeadsetDevice = btDevice; Loading @@ -3107,7 +3122,6 @@ public class AudioService extends IAudioService.Stub { } } } } private BluetoothProfile.ServiceListener mBluetoothProfileServiceListener = new BluetoothProfile.ServiceListener() { Loading Loading @@ -5250,7 +5264,6 @@ public class AudioService extends IAudioService.Stub { state = intent.getIntExtra(BluetoothProfile.EXTRA_STATE, BluetoothProfile.STATE_DISCONNECTED); BluetoothDevice btDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); setBtScoDeviceConnectionState(btDevice, state); } else if (action.equals(BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED)) { boolean broadcast = false; Loading