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

Commit 256330ac authored by Eric Laurent's avatar Eric Laurent Committed by Android (Google) Code Review
Browse files

Merge "audio policy: correct force use touch sound delay"

parents 09b382d3 b36b4acc
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -3185,6 +3185,8 @@ void AudioPolicyManager::updateCallAndOutputRouting(bool forceVolumeReeval, uint
    if (mEngine->getPhoneState() == AUDIO_MODE_IN_CALL && hasPrimaryOutput()) {
    if (mEngine->getPhoneState() == AUDIO_MODE_IN_CALL && hasPrimaryOutput()) {
        DeviceVector newDevices = getNewOutputDevices(mPrimaryOutput, true /*fromCache*/);
        DeviceVector newDevices = getNewOutputDevices(mPrimaryOutput, true /*fromCache*/);
        waitMs = updateCallRouting(newDevices, delayMs);
        waitMs = updateCallRouting(newDevices, delayMs);
        // Only apply special touch sound delay once
        delayMs = 0;
    }
    }
    for (size_t i = 0; i < mOutputs.size(); i++) {
    for (size_t i = 0; i < mOutputs.size(); i++) {
        sp<SwAudioOutputDescriptor> outputDesc = mOutputs.valueAt(i);
        sp<SwAudioOutputDescriptor> outputDesc = mOutputs.valueAt(i);
@@ -3194,6 +3196,8 @@ void AudioPolicyManager::updateCallAndOutputRouting(bool forceVolumeReeval, uint
            // preventing the force re-routing in case of default dev that distinguishes on address.
            // preventing the force re-routing in case of default dev that distinguishes on address.
            // Let's give back to engine full device choice decision however.
            // Let's give back to engine full device choice decision however.
            waitMs = setOutputDevices(outputDesc, newDevices, !newDevices.isEmpty(), delayMs);
            waitMs = setOutputDevices(outputDesc, newDevices, !newDevices.isEmpty(), delayMs);
            // Only apply special touch sound delay once
            delayMs = 0;
        }
        }
        if (forceVolumeReeval && !newDevices.isEmpty()) {
        if (forceVolumeReeval && !newDevices.isEmpty()) {
            applyStreamVolumes(outputDesc, newDevices.types(), waitMs, true);
            applyStreamVolumes(outputDesc, newDevices.types(), waitMs, true);