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

Commit f20f2d4d authored by Carter Hsu's avatar Carter Hsu
Browse files

audio: prefer STRATEGY_SONIFICATION when ringotne is active



Use the STRATEGY_SONIFICATION as the major routing
when ringtone is concurrency with touch/system/media playback

Bug: 191220137
Test:
b/192304579 to test
1. incoming ring on haptic audio + touch/media on BT/USB/Speaker Safe
2. incoming ring on primary + touch/media on BT/USB/Speaker Safe
Signed-off-by: default avatarCarter Hsu <carterhsu@google.com>
Change-Id: Id7da4e66cf8533798f5098c02aaacbbe574e3290
parent 22de95f3
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -5847,11 +5847,12 @@ DeviceVector AudioPolicyManager::getNewOutputDevices(const sp<SwAudioOutputDescr
        // With low-latency playing on speaker, music on WFD, when the first low-latency
        // output is stopped, getNewOutputDevices checks for a product strategy
        // from the list, as STRATEGY_SONIFICATION comes prior to STRATEGY_MEDIA.
        // If an ALARM or ENFORCED_AUDIBLE stream is supported by the product strategy,
        // If an ALARM, RING or ENFORCED_AUDIBLE stream is supported by the product strategy,
        // devices are returned for STRATEGY_SONIFICATION without checking whether the
        // stream is associated to the output descriptor.
        if (doGetOutputDevicesForVoice() || outputDesc->isStrategyActive(productStrategy) ||
               ((hasStreamActive(AUDIO_STREAM_ALARM) ||
                hasStreamActive(AUDIO_STREAM_RING) ||
                hasStreamActive(AUDIO_STREAM_ENFORCED_AUDIBLE)) &&
                mOutputs.isStrategyActiveOnSameModule(productStrategy, outputDesc))) {
            // Retrieval of devices for voice DL is done on primary output profile, cannot