From d3969546a8bc4efe1e5e8a72bee07105055d18c2 Mon Sep 17 00:00:00 2001 From: Jean-Michel Trivi Date: Wed, 20 May 2015 13:58:18 -0700 Subject: 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 --- media/java/android/media/AudioTrack.java | 2 +- media/java/android/media/MediaPlayer.java | 2 +- media/java/android/media/SoundPool.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'media/java') diff --git a/media/java/android/media/AudioTrack.java b/media/java/android/media/AudioTrack.java index d21762b..b8bbab0 100644 --- a/media/java/android/media/AudioTrack.java +++ b/media/java/android/media/AudioTrack.java @@ -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 { diff --git a/media/java/android/media/MediaPlayer.java b/media/java/android/media/MediaPlayer.java index f148606..2e92c40 100644 --- a/media/java/android/media/MediaPlayer.java +++ b/media/java/android/media/MediaPlayer.java @@ -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); diff --git a/media/java/android/media/SoundPool.java b/media/java/android/media/SoundPool.java index 88d979e..64863c2 100644 --- a/media/java/android/media/SoundPool.java +++ b/media/java/android/media/SoundPool.java @@ -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 { -- cgit v1.1