diff --git a/api/current.txt b/api/current.txt index 867279a5388b0..1cfec749caa2e 100644 --- a/api/current.txt +++ b/api/current.txt @@ -23251,6 +23251,7 @@ package android.media { method public int generateAudioSessionId(); method @NonNull public java.util.List getActivePlaybackConfigurations(); method @NonNull public java.util.List getActiveRecordingConfigurations(); + method public int getAllowedCapturePolicy(); method public android.media.AudioDeviceInfo[] getDevices(int); method public java.util.List getMicrophones() throws java.io.IOException; method public int getMode(); diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java index 8f699eb9e6fc5..45042601779a9 100644 --- a/media/java/android/media/AudioManager.java +++ b/media/java/android/media/AudioManager.java @@ -1512,7 +1512,22 @@ public class AudioManager { int result = AudioSystem.setAllowedCapturePolicy(Process.myUid(), flags); if (result != AudioSystem.AUDIO_STATUS_OK) { Log.e(TAG, "Could not setAllowedCapturePolicy: " + result); + return; } + mCapturePolicy = capturePolicy; + } + + @AudioAttributes.CapturePolicy + private int mCapturePolicy = AudioAttributes.ALLOW_CAPTURE_BY_ALL; + + /** + * Return the capture policy. + * @return the capture policy set by {@link #setAllowedCapturePolicy(int)} or + * the default if it was not called. + */ + @AudioAttributes.CapturePolicy + public int getAllowedCapturePolicy() { + return mCapturePolicy; } //====================================================================