From 019c1737ed05c4bff220cd8bc1de5a9991647422 Mon Sep 17 00:00:00 2001 From: Henrik Backlund Date: Mon, 30 Sep 2019 14:48:38 +0200 Subject: [PATCH] Select correct devices when ENFORCED_AUDIBLE is set If ENFORCED_AUDIBLE is set for a stream, it should output to Speaker and not select output device(s) for VOICE_CALL. Bug: 147209610 Change-Id: I9553efd677979351ed6f7191079da84dac2a7ed1 --- services/audiopolicy/managerdefault/AudioPolicyManager.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp index 8085fd5586..b427794e19 100644 --- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp +++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp @@ -5291,7 +5291,8 @@ DeviceVector AudioPolicyManager::getNewOutputDevices(const spgetAllAttributesForProductStrategy(productStrategy).front(); if ((hasVoiceStream(streams) && - (isInCall() || mOutputs.isStrategyActiveOnSameModule(productStrategy, outputDesc))) || + (isInCall() || mOutputs.isStrategyActiveOnSameModule(productStrategy, outputDesc)) && + !isStreamActive(AUDIO_STREAM_ENFORCED_AUDIBLE, 0)) || ((hasStream(streams, AUDIO_STREAM_ALARM) || hasStream(streams, AUDIO_STREAM_ENFORCED_AUDIBLE)) && mOutputs.isStrategyActiveOnSameModule(productStrategy, outputDesc)) || outputDesc->isStrategyActive(productStrategy)) {