From 7cf5ae1c79a79c5df02ceea37d4ed37cb17e63b6 Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Fri, 10 Dec 2021 17:54:50 +0100 Subject: [PATCH] AudioService: fix SCO audio resume after call In AudioDeviceBroker.setCommunicationRouteForClient(), if the requested device is SCO audio, start BT SCO audio not only when SCO was not requested before but also if SCO audio is not active. Bug: 206739623 Test: repro steps in bug. Test: atest AudioCommunicationDeviceTest Change-Id: I36bd1f32811e0cd4db4ffc54a5fb189f0352cfe8 --- .../core/java/com/android/server/audio/AudioDeviceBroker.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/audio/AudioDeviceBroker.java b/services/core/java/com/android/server/audio/AudioDeviceBroker.java index 5ecdfe49cdf72..f053e942fe6b2 100644 --- a/services/core/java/com/android/server/audio/AudioDeviceBroker.java +++ b/services/core/java/com/android/server/audio/AudioDeviceBroker.java @@ -328,7 +328,7 @@ import java.util.concurrent.atomic.AtomicBoolean; } boolean isBtScoRequested = isBluetoothScoRequested(); - if (isBtScoRequested && !wasBtScoRequested) { + if (isBtScoRequested && (!wasBtScoRequested || !isBluetoothScoActive())) { if (!mBtHelper.startBluetoothSco(scoAudioMode, eventSource)) { Log.w(TAG, "setCommunicationRouteForClient: failure to start BT SCO for pid: " + pid);