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

Commit 524ee46e authored by Carter Hsu's avatar Carter Hsu
Browse files

audio: replace speaker to speaker safe if ring is active



Bug: 192918626
Bug: 191220137
Test: incoming ring + music
b/194149364 to verify the solution
Signed-off-by: default avatarCarter Hsu <carterhsu@google.com>
Change-Id: I9cfaebe3ee6363e534eff1408d824b8c45a37d04
parent fc1e97b9
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -393,12 +393,14 @@ DeviceVector Engine::getDevicesForStrategyInt(legacy_strategy strategy,
                || outputs.isActiveLocally(
                    toVolumeSource(AUDIO_STREAM_ACCESSIBILITY),
                    SONIFICATION_RESPECTFUL_AFTER_MUSIC_DELAY);
        // - for STRATEGY_SONIFICATION:

        bool ringActiveLocally = outputs.isActiveLocally(toVolumeSource(AUDIO_STREAM_RING), 0);
        // - for STRATEGY_SONIFICATION and ringtone active:
        // if SPEAKER was selected, and SPEAKER_SAFE is available, use SPEAKER_SAFE instead
        // - for STRATEGY_SONIFICATION_RESPECTFUL:
        // if no media is playing on the device, check for mandatory use of "safe" speaker
        // when media would have played on speaker, and the safe speaker path is available
        if (strategy == STRATEGY_SONIFICATION
        if (strategy == STRATEGY_SONIFICATION || ringActiveLocally
            || (strategy == STRATEGY_SONIFICATION_RESPECTFUL && !mediaActiveLocally)) {
            devices.replaceDevicesByType(
                    AUDIO_DEVICE_OUT_SPEAKER,