diff --git a/api/current.txt b/api/current.txt index 9624cb2f6dd7b..ce5146234dc1d 100644 --- a/api/current.txt +++ b/api/current.txt @@ -23045,6 +23045,7 @@ package android.media { public final class AudioAttributes implements android.os.Parcelable { method public boolean areHapticChannelsMuted(); method public int describeContents(); + method public int getAllowedCapturePolicy(); method public int getContentType(); method public int getFlags(); method public int getUsage(); diff --git a/media/java/android/media/AudioAttributes.java b/media/java/android/media/AudioAttributes.java index 1ccaa0fe1795c..e655460c2ba12 100644 --- a/media/java/android/media/AudioAttributes.java +++ b/media/java/android/media/AudioAttributes.java @@ -534,6 +534,23 @@ public final class AudioAttributes implements Parcelable { return (mFlags & FLAG_MUTE_HAPTIC) != 0; } + /** + * Return the capture policy. + * @return the capture policy set by {@link Builder#setAllowedCapturePolicy(int)} or + * the default if it was not called. + */ + @CapturePolicy + public int getAllowedCapturePolicy() { + if ((mFlags & FLAG_NO_SYSTEM_CAPTURE) == FLAG_NO_SYSTEM_CAPTURE) { + return ALLOW_CAPTURE_BY_NONE; + } + if ((mFlags & FLAG_NO_MEDIA_PROJECTION) == FLAG_NO_MEDIA_PROJECTION) { + return ALLOW_CAPTURE_BY_SYSTEM; + } + return ALLOW_CAPTURE_BY_ALL; + } + + /** * Builder class for {@link AudioAttributes} objects. *
Here is an example where Builder is used to define the