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

Commit 531b4ab7 authored by jiabin's avatar jiabin
Browse files

Add audio flags that will affect strategy selection.

Only several audio flags that will affect strategy selection. In that
case, only take care of those flags when matching audio attributes to
product strategy.

Bug: 322810769
Test: atest AudioTrackTest
Change-Id: I8e92b3c2014e3f2e843dbe03d1e40232eefd4e84
parent 1cb9201d
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -50,6 +50,14 @@ public final class AudioProductStrategy implements Parcelable {

    private static final String TAG = "AudioProductStrategy";

    /**
     * The audio flags that will affect product strategy selection.
     */
    private static final int AUDIO_FLAGS_AFFECT_STRATEGY_SELECTION =
            AudioAttributes.FLAG_AUDIBILITY_ENFORCED
                    | AudioAttributes.FLAG_SCO
                    | AudioAttributes.FLAG_BEACON;

    private final AudioAttributesGroup[] mAudioAttributesGroups;
    private final String mName;
    /**
@@ -438,8 +446,8 @@ public final class AudioProductStrategy implements Parcelable {
                || (attr.getSystemUsage() == refAttr.getSystemUsage()))
            && ((refAttr.getContentType() == AudioAttributes.CONTENT_TYPE_UNKNOWN)
                || (attr.getContentType() == refAttr.getContentType()))
            && ((refAttr.getAllFlags() == 0)
                || (attr.getAllFlags() != 0
            && (((refAttr.getAllFlags() & AUDIO_FLAGS_AFFECT_STRATEGY_SELECTION) == 0)
                || ((attr.getAllFlags() & AUDIO_FLAGS_AFFECT_STRATEGY_SELECTION) != 0
                && (attr.getAllFlags() & refAttr.getAllFlags()) == refAttr.getAllFlags()))
            && ((refFormattedTags.length() == 0) || refFormattedTags.equals(cliFormattedTags));
    }