1package {
2    default_team: "trendy_team_android_media_audio_framework",
3    // See: http://go/android-license-faq
4    // A large-scale-change added 'default_applicable_licenses' to import
5    // all of the 'license_kinds' from "frameworks_av_license"
6    // to get the below license kinds:
7    //   SPDX-license-identifier-Apache-2.0
8    default_applicable_licenses: ["frameworks_av_license"],
9}
10
11cc_defaults {
12    name: "libaudiopolicyservice_dependencies",
13
14    header_libs: ["audiopolicyservicelocal_headers"],
15
16    shared_libs: [
17        "android.media.audiopolicy-aconfig-cc",
18        "audioclient-types-aidl-cpp",
19        "audioflinger-aidl-cpp",
20        "audiopolicy-aidl-cpp",
21        "audiopolicy-types-aidl-cpp",
22        "capture_state_listener-aidl-cpp",
23        "com.android.media.audio-aconfig-cc",
24        "framework-permission-aidl-cpp",
25        "libPlatformProperties",
26        "libactivitymanager_aidl",
27        "libaudioclient",
28        "libaudioclient_aidl_conversion",
29        "libaudiofoundation",
30        "libaudiohal",
31        "libaudiopolicy",
32        "libaudiopolicycomponents",
33        "libaudiopolicymanagerdefault",
34        "libaudiousecasevalidation",
35        "libaudioutils",
36        "libbinder",
37        "libcutils",
38        "libhardware_legacy",
39        "libheadtracking",
40        "libheadtracking-binding",
41        "liblog",
42        "libmedia_helper",
43        "libmediametrics",
44        "libmediautils",
45        "libpermission",
46        "libsensor",
47        "libsensorprivacy",
48        "libshmemcompat",
49        "libstagefright_foundation",
50        "libutils",
51        "libxml2",
52        "packagemanager_aidl-cpp",
53        "spatializer-aidl-cpp",
54    ],
55
56    static_libs: [
57        "audio-permission-aidl-cpp",
58        "audiopermissioncontroller",
59        "libaudiopolicycomponents",
60        "libeffectsconfig",
61    ],
62}
63
64cc_library {
65    name: "libaudiopolicyservice",
66
67    defaults: [
68        "latest_android_media_audio_common_types_cpp_shared",
69        "libaudiopolicyservice_dependencies",
70    ],
71
72    srcs: [
73        "AudioPolicyClientImpl.cpp",
74        "AudioPolicyEffects.cpp",
75        "AudioPolicyInterfaceImpl.cpp",
76        "AudioPolicyService.cpp",
77        "AudioRecordClient.cpp",
78        "CaptureStateNotifier.cpp",
79        "Spatializer.cpp",
80        "SpatializerPoseController.cpp",
81    ],
82
83    include_dirs: [
84        "frameworks/av/services/audioflinger",
85    ],
86
87    static_libs: [
88        "framework-permission-aidl-cpp", // TODO remove when unnnecessary
89    ],
90
91    header_libs: [
92        "audiopolicyservicelocal_headers",
93        "libaudiohal_headers",
94        "libaudiopolicycommon",
95        "libaudiopolicyengine_interface_headers",
96        "libaudiopolicymanager_interface_headers",
97        "libaudioutils_headers",
98    ],
99
100    cflags: [
101        "-Wall",
102        "-Werror",
103        "-Wthread-safety",
104        "-fvisibility=hidden",
105    ],
106
107    export_shared_lib_headers: [
108        "framework-permission-aidl-cpp",
109        "libactivitymanager_aidl",
110        "libaudiousecasevalidation",
111        "libheadtracking",
112        "libheadtracking-binding",
113        "libsensorprivacy",
114    ],
115}
116
117cc_library_headers {
118    name: "libaudiopolicyservice_headers",
119    host_supported: true,
120    export_include_dirs: [
121        ".",
122        "include",
123    ],
124}
125
126cc_library_headers {
127    name: "audiopolicyservicelocal_headers",
128    host_supported: true,
129    export_include_dirs: ["include"],
130    header_libs: ["audiopermissioncontroller_headers"],
131    export_header_lib_headers: ["audiopermissioncontroller_headers"],
132}
133