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

Commit d3969546 authored by Jean-Michel Trivi's avatar Jean-Michel Trivi
Browse files

Fix reading attributes for playback restrictions

Playback restrictions can be lifted with the correct flag,
  FLAG_BYPASS_INTERRUPTION_POLICY, but this flag is for the
  system only. As such, it must be read by querying "all
  the flags" with AudioAttributes.getAllFlags() which is a
  system API which returns all the system flags. getFlags()
  only returns the public SDK flags.

Bug 19407114

Change-Id: I22dadfaf5d1b48b3c0754e1e6af00b734d790fec
parent c1a9436d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1502,7 +1502,7 @@ public class AudioTrack
    }

    private boolean isRestricted() {
        if ((mAttributes.getFlags() & AudioAttributes.FLAG_BYPASS_INTERRUPTION_POLICY) != 0) {
        if ((mAttributes.getAllFlags() & AudioAttributes.FLAG_BYPASS_INTERRUPTION_POLICY) != 0) {
            return false;
        }
        try {
+1 −1
Original line number Diff line number Diff line
@@ -1757,7 +1757,7 @@ public class MediaPlayer implements SubtitleController.Listener
            throw new IllegalArgumentException(msg);
        }
        mUsage = attributes.getUsage();
        mBypassInterruptionPolicy = (attributes.getFlags()
        mBypassInterruptionPolicy = (attributes.getAllFlags()
                & AudioAttributes.FLAG_BYPASS_INTERRUPTION_POLICY) != 0;
        Parcel pattributes = Parcel.obtain();
        attributes.writeToParcel(pattributes, AudioAttributes.FLATTEN_TAGS);
+1 −1
Original line number Diff line number Diff line
@@ -463,7 +463,7 @@ public class SoundPool {
    }

    private boolean isRestricted() {
        if ((mAttributes.getFlags() & AudioAttributes.FLAG_BYPASS_INTERRUPTION_POLICY) != 0) {
        if ((mAttributes.getAllFlags() & AudioAttributes.FLAG_BYPASS_INTERRUPTION_POLICY) != 0) {
            return false;
        }
        try {