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

Commit c7df470f authored by Pavlin Radoslavov's avatar Pavlin Radoslavov Committed by android-build-merger
Browse files

Merge "Explicitly mute the audio output while switching the A2DP Active Device" am: 4f501148

am: 691463e0

Change-Id: I4bb3a54f85aa473a6551562518f0a1b70dfb235c
parents f5ac5c8a 691463e0
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -507,7 +507,14 @@ public class A2dpService extends ProfileService {
                }
                // Make sure the Audio Manager knows the previous Active device is disconnected,
                // and the new Active device is connected.
                // Also, mute and unmute the output during the switch to avoid audio glitches.
                boolean wasMuted = false;
                if (previousActiveDevice != null) {
                    if (!mAudioManager.isStreamMute(AudioManager.STREAM_MUSIC)) {
                        mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
                                                         AudioManager.ADJUST_MUTE, 0);
                        wasMuted = true;
                    }
                    mAudioManager.setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(
                            previousActiveDevice, BluetoothProfile.STATE_DISCONNECTED,
                            BluetoothProfile.A2DP, true, -1);
@@ -529,6 +536,10 @@ public class A2dpService extends ProfileService {
                // change, so the Audio Service can reset accordingly the audio
                // feeding parameters in the Audio HAL to the Bluetooth stack.
                mAudioManager.handleBluetoothA2dpDeviceConfigChange(mActiveDevice);
                if (wasMuted) {
                    mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
                                                     AudioManager.ADJUST_UNMUTE, 0);
                }
            }
        }
        return true;