xref: /aosp_15_r20/frameworks/av/media/audio/aconfig/Android.bp (revision ec779b8e0859a360c3d303172224686826e6e0e1)
1// media_audio namespace flags
2
3cc_defaults {
4    name: "audio-aconfig-cc-defaults",
5    host_supported: true,
6}
7
8aconfig_declarations {
9    name: "com.android.media.audioclient-aconfig",
10    package: "com.android.media.audioclient",
11    container: "system",
12    srcs: ["audioclient.aconfig"],
13}
14
15aconfig_declarations {
16    name: "com.android.media.audioserver-aconfig",
17    package: "com.android.media.audioserver",
18    container: "system",
19    srcs: ["audioserver.aconfig"],
20}
21
22aconfig_declarations {
23    name: "com.android.media.audio-aconfig",
24    package: "com.android.media.audio",
25    container: "system",
26    srcs: ["audio.aconfig"],
27}
28
29aconfig_declarations {
30    name: "com.android.media.aaudio-aconfig",
31    package: "com.android.media.aaudio",
32    container: "system",
33    srcs: ["aaudio.aconfig"],
34}
35
36cc_aconfig_library {
37    name: "com.android.media.audioserver-aconfig-cc",
38    aconfig_declarations: "com.android.media.audioserver-aconfig",
39    defaults: ["audio-aconfig-cc-defaults"],
40    double_loadable: true,
41    host_supported: true,
42    product_available: true,
43    vendor_available: true,
44    apex_available: [
45        "//apex_available:platform",
46        "com.android.media",
47        "com.android.media.swcodec",
48    ],
49    min_sdk_version: "29",
50}
51
52cc_aconfig_library {
53    name: "com.android.media.audioserver-aconfig-cc-ro",
54    aconfig_declarations: "com.android.media.audioserver-aconfig",
55    defaults: ["audio-aconfig-cc-defaults"],
56    double_loadable: true,
57    host_supported: true,
58    product_available: true,
59    vendor_available: true,
60    apex_available: [
61        "//apex_available:platform",
62        "com.android.media",
63        "com.android.media.swcodec",
64    ],
65    min_sdk_version: "29",
66    mode: "force-read-only",
67}
68
69cc_aconfig_library {
70    name: "com.android.media.audio-aconfig-cc",
71    aconfig_declarations: "com.android.media.audio-aconfig",
72    defaults: ["audio-aconfig-cc-defaults"],
73    double_loadable: true,
74    host_supported: true,
75    product_available: true,
76    vendor_available: true,
77    // TODO(b/316909431) native_bridge_supported: true,
78    apex_available: [
79        "//apex_available:platform",
80        "com.android.btservices",
81        "com.android.media",
82        "com.android.media.swcodec",
83    ],
84    min_sdk_version: "29",
85}
86
87cc_aconfig_library {
88    name: "com.android.media.aaudio-aconfig-cc",
89    aconfig_declarations: "com.android.media.aaudio-aconfig",
90    defaults: ["audio-aconfig-cc-defaults"],
91}
92
93cc_aconfig_library {
94    name: "com.android.media.audioclient-aconfig-cc",
95    aconfig_declarations: "com.android.media.audioclient-aconfig",
96    defaults: ["audio-aconfig-cc-defaults"],
97}
98
99java_aconfig_library {
100    name: "com.android.media.audio-aconfig-java",
101    aconfig_declarations: "com.android.media.audio-aconfig",
102}
103
104// For CTS usage
105java_aconfig_library {
106    name: "com.android.media.audioserver-aconfig-java",
107    aconfig_declarations: "com.android.media.audioserver-aconfig",
108}
109
110// Framework available flags to follow
111// Care must be taken to avoid namespace conflicts.
112// These flags are accessible outside of the platform! Limit usage to @FlaggedApi wherever possible
113
114aconfig_declarations {
115    name: "android.media.audio-aconfig",
116    package: "android.media.audio",
117    container: "system",
118    srcs: ["audio_framework.aconfig"],
119    visibility: [
120        "//frameworks/base/api",
121        "//frameworks/base/core/res",
122    ],
123    exportable: true,
124}
125
126aconfig_declarations {
127    name: "android.media.audiopolicy-aconfig",
128    package: "android.media.audiopolicy",
129    container: "system",
130    srcs: ["audiopolicy_framework.aconfig"],
131    visibility: ["//frameworks/base/api"],
132}
133
134aconfig_declarations {
135    name: "android.media.midi-aconfig",
136    package: "android.media.midi",
137    container: "system",
138    srcs: ["midi_flags.aconfig"],
139    visibility: ["//frameworks/base/api"],
140}
141
142aconfig_declarations {
143    name: "android.media.soundtrigger-aconfig",
144    package: "android.media.soundtrigger",
145    container: "system",
146    srcs: ["soundtrigger.aconfig"],
147}
148
149java_aconfig_library {
150    name: "android.media.audio-aconfig-java",
151    aconfig_declarations: "android.media.audio-aconfig",
152    defaults: ["framework-minus-apex-aconfig-java-defaults"],
153}
154
155java_aconfig_library {
156    name: "android.media.audio-aconfig-exported-java",
157    aconfig_declarations: "android.media.audio-aconfig",
158    defaults: ["framework-minus-apex-aconfig-java-defaults"],
159    min_sdk_version: "Tiramisu",
160    mode: "exported",
161    apex_available: [
162        "com.android.btservices",
163    ],
164    visibility: [
165        "//packages/modules/Bluetooth:__subpackages__",
166    ],
167}
168
169java_aconfig_library {
170    name: "android.media.audiopolicy-aconfig-java",
171    aconfig_declarations: "android.media.audiopolicy-aconfig",
172    defaults: ["framework-minus-apex-aconfig-java-defaults"],
173    min_sdk_version: "VanillaIceCream",
174    apex_available: [
175        "//apex_available:platform",
176        "com.android.car.framework",
177    ],
178}
179
180java_aconfig_library {
181    name: "android.media.midi-aconfig-java",
182    aconfig_declarations: "android.media.midi-aconfig",
183    defaults: ["framework-minus-apex-aconfig-java-defaults"],
184}
185
186java_aconfig_library {
187    name: "android.media.soundtrigger-aconfig-java",
188    aconfig_declarations: "android.media.soundtrigger-aconfig",
189    defaults: ["framework-minus-apex-aconfig-java-defaults"],
190}
191
192cc_aconfig_library {
193    name: "android.media.audio-aconfig-cc",
194    aconfig_declarations: "android.media.audio-aconfig",
195    defaults: ["audio-aconfig-cc-defaults"],
196}
197
198cc_aconfig_library {
199    name: "android.media.audiopolicy-aconfig-cc",
200    aconfig_declarations: "android.media.audiopolicy-aconfig",
201    defaults: ["audio-aconfig-cc-defaults"],
202}
203
204aconfig_declarations_group {
205    name: "audio-framework-aconfig",
206    java_aconfig_libraries: [
207        "android.media.audio-aconfig-java",
208        "android.media.audiopolicy-aconfig-java",
209        "android.media.midi-aconfig-java",
210        "android.media.soundtrigger-aconfig-java",
211    ],
212}
213