From 5b74e8e1e4e1ac29e77a585c2ee037157ff71265 Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Thu, 24 Oct 2019 12:37:20 -0700 Subject: [PATCH] MediaRecorder: add privileged permission for AudioSource.RADIO_TUNER MediaRecorder.AudioSource.RADIO_TUNER is @SystemApi and as such must be guarded by a privileged permission. Use android.permission.CAPTURE_AUDIO_OUTPUT as it matches the use case of capturing what is played by the device and not capturing from a microphone. Bug: 135717621 Test: CTS tests for AudioRecord Change-Id: Ic5dc191cb2340d7614f51c5acb0bac6156d214ab --- api/system-current.txt | 2 +- media/java/android/media/MediaRecorder.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/api/system-current.txt b/api/system-current.txt index 35b096d6f5352..c5839f708c3a4 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -3638,7 +3638,7 @@ package android.media { public final class MediaRecorder.AudioSource { field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int ECHO_REFERENCE = 1997; // 0x7cd field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public static final int HOTWORD = 1999; // 0x7cf - field public static final int RADIO_TUNER = 1998; // 0x7ce + field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int RADIO_TUNER = 1998; // 0x7ce } public class PlayerProxy { diff --git a/media/java/android/media/MediaRecorder.java b/media/java/android/media/MediaRecorder.java index bf7da23323a15..9723652b5bd3e 100644 --- a/media/java/android/media/MediaRecorder.java +++ b/media/java/android/media/MediaRecorder.java @@ -337,9 +337,14 @@ public class MediaRecorder implements AudioRouting, /** * Audio source for capturing broadcast radio tuner output. + * Capturing the radio tuner output requires the + * {@link android.Manifest.permission#CAPTURE_AUDIO_OUTPUT} permission. + * This permission is reserved for use by system components and is not available to + * third-party applications. * @hide */ @SystemApi + @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int RADIO_TUNER = 1998; /**