From 893a5642871114fca3b2a00c6ff8e5699ce3e3ed Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Fri, 16 Aug 2013 20:19:26 -0700 Subject: Enforce permission for recording from remote submix. Bug: 10265163 Change-Id: I2395036bac6e10baeaf6ea4bc3093bd9dd98742d --- services/audioflinger/ServiceUtilities.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'services/audioflinger/ServiceUtilities.cpp') diff --git a/services/audioflinger/ServiceUtilities.cpp b/services/audioflinger/ServiceUtilities.cpp index d15bd04..9ee513b 100644 --- a/services/audioflinger/ServiceUtilities.cpp +++ b/services/audioflinger/ServiceUtilities.cpp @@ -34,6 +34,15 @@ bool recordingAllowed() { return ok; } +bool captureAudioOutputAllowed() { + if (getpid_cached == IPCThreadState::self()->getCallingPid()) return true; + static const String16 sCaptureAudioOutput("android.permission.CAPTURE_AUDIO_OUTPUT"); + // don't use PermissionCache; this is not a system permission + bool ok = checkCallingPermission(sCaptureAudioOutput); + if (!ok) ALOGE("Request requires android.permission.CAPTURE_AUDIO_OUTPUT"); + return ok; +} + bool settingsAllowed() { if (getpid_cached == IPCThreadState::self()->getCallingPid()) return true; static const String16 sAudioSettings("android.permission.MODIFY_AUDIO_SETTINGS"); -- cgit v1.1