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

Commit f6b54397 authored by Eric Laurent's avatar Eric Laurent Committed by android-build-merger
Browse files

Merge "audioservice: fix hasMediaDynamicPolicy() for loopback and render policies" into qt-r1-dev

am: aa8b8ece

Change-Id: I5b1d986fe559392382289256555298839c683b14
parents bd19b399 aa8b8ece
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -5578,6 +5578,7 @@ public class AudioService extends IAudioService.Stub

    /**
     * @return true if there is currently a registered dynamic mixing policy that affects media
     * and is not a render + loopback policy
     */
    /*package*/ boolean hasMediaDynamicPolicy() {
        synchronized (mAudioPolicies) {
@@ -5586,7 +5587,8 @@ public class AudioService extends IAudioService.Stub
            }
            final Collection<AudioPolicyProxy> appColl = mAudioPolicies.values();
            for (AudioPolicyProxy app : appColl) {
                if (app.hasMixAffectingUsage(AudioAttributes.USAGE_MEDIA)) {
                if (app.hasMixAffectingUsage(AudioAttributes.USAGE_MEDIA,
                        AudioMix.ROUTE_FLAG_LOOP_BACK_RENDER)) {
                    return true;
                }
            }
@@ -7349,9 +7351,10 @@ public class AudioService extends IAudioService.Stub
            Binder.restoreCallingIdentity(identity);
        }

        boolean hasMixAffectingUsage(int usage) {
        boolean hasMixAffectingUsage(int usage, int excludedFlags) {
            for (AudioMix mix : mMixes) {
                if (mix.isAffectingUsage(usage)) {
                if (mix.isAffectingUsage(usage)
                        && ((mix.getRouteFlags() & excludedFlags) != excludedFlags)) {
                    return true;
                }
            }