Select correct device for ENFORCE_AUDIBLE

This is bascially a reapplication of the same patch as:
"Select correct devices when ENFORCED_AUDIBLE is set"
019c1737ed05c4bff220cd8bc1de5a9991647422.

When the doGetOutputDevicesForVoice lambda was created
the check for ENFORCED_AUDIBLE wasn't moved, which causes
this issue to happen again.

The primary usecase is that the shutter sound of the camera
should be enforced to play through the loud speaker of the
phone even though a headset is inserted.

Bug: 147209610
Change-Id: Idf61e9638d3efa6b78e194c58d879db8c33433b6
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
index cc2d8e8..bbeff96 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
@@ -5843,7 +5843,8 @@
             return hasVoiceStream(streams) && (outputDesc == mPrimaryOutput ||
                 outputDesc->isActive(toVolumeSource(AUDIO_STREAM_VOICE_CALL))) &&
                 (isInCall() ||
-                 mOutputs.isStrategyActiveOnSameModule(productStrategy, outputDesc));
+                 mOutputs.isStrategyActiveOnSameModule(productStrategy, outputDesc)) &&
+                !isStreamActive(AUDIO_STREAM_ENFORCED_AUDIBLE, 0);
         };
 
         // With low-latency playing on speaker, music on WFD, when the first low-latency