From 1c70a60ea5bc006865ac022d59078d0f688ac3c2 Mon Sep 17 00:00:00 2001 From: Kevin Rocard Date: Fri, 22 Feb 2019 09:46:32 -0800 Subject: [PATCH] Expose allowAudioPlaybackCapture to PackageManagerNative Audio playback has both c++ and java API. The flag is needed in the audio policy service in c++ to know if the app can be capture by other apps. Bug: 119500128 Test: dumpsys media.audio_policy Change-Id: I949b5e31039b024a34a9646a18586cff5f8807ab Signed-off-by: Kevin Rocard --- .../com/android/server/pm/PackageManagerService.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 00b02ffa52f6a..73b5d936aaf92 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -23101,6 +23101,18 @@ public class PackageManagerService extends IPackageManager.Stub } return 0; } + + @Override + public boolean[] isAudioPlaybackCaptureAllowed(String[] packageNames) + throws RemoteException { + int callingUser = UserHandle.getUserId(Binder.getCallingUid()); + boolean[] results = new boolean[packageNames.length]; + for (int i = results.length - 1; i >= 0; --i) { + ApplicationInfo appInfo = getApplicationInfo(packageNames[i], 0, callingUser); + results[i] = appInfo == null ? false : appInfo.isAudioPlaybackCaptureAllowed(); + } + return results; + } } private class PackageManagerInternalImpl extends PackageManagerInternal {