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.audio-aconfig-cc",
54    aconfig_declarations: "com.android.media.audio-aconfig",
55    defaults: ["audio-aconfig-cc-defaults"],
56    double_loadable: true,
57    host_supported: true,
58    product_available: true,
59    vendor_available: true,
60    // TODO(b/316909431) native_bridge_supported: true,
61    apex_available: [
62        "//apex_available:platform",
63        "com.android.btservices",
64        "com.android.media",
65        "com.android.media.swcodec",
66    ],
67    min_sdk_version: "29",
68}
69
70cc_aconfig_library {
71    name: "com.android.media.aaudio-aconfig-cc",
72    aconfig_declarations: "com.android.media.aaudio-aconfig",
73    defaults: ["audio-aconfig-cc-defaults"],
74}
75
76cc_aconfig_library {
77    name: "com.android.media.audioclient-aconfig-cc",
78    aconfig_declarations: "com.android.media.audioclient-aconfig",
79    defaults: ["audio-aconfig-cc-defaults"],
80}
81
82java_aconfig_library {
83    name: "com.android.media.audio-aconfig-java",
84    aconfig_declarations: "com.android.media.audio-aconfig",
85}
86
87// For CTS usage
88java_aconfig_library {
89    name: "com.android.media.audioserver-aconfig-java",
90    aconfig_declarations: "com.android.media.audioserver-aconfig",
91}
92
93// Framework available flags to follow
94// Care must be taken to avoid namespace conflicts.
95// These flags are accessible outside of the platform! Limit usage to @FlaggedApi wherever possible
96
97aconfig_declarations {
98    name: "android.media.audio-aconfig",
99    package: "android.media.audio",
100    container: "system",
101    srcs: ["audio_framework.aconfig"],
102    visibility: ["//frameworks/base/api"],
103}
104
105aconfig_declarations {
106    name: "android.media.audiopolicy-aconfig",
107    package: "android.media.audiopolicy",
108    container: "system",
109    srcs: ["audiopolicy_framework.aconfig"],
110    visibility: ["//frameworks/base/api"],
111}
112
113aconfig_declarations {
114    name: "android.media.midi-aconfig",
115    package: "android.media.midi",
116    container: "system",
117    srcs: ["midi_flags.aconfig"],
118    visibility: ["//frameworks/base/api"],
119}
120
121aconfig_declarations {
122    name: "android.media.soundtrigger-aconfig",
123    package: "android.media.soundtrigger",
124    container: "system",
125    srcs: ["soundtrigger.aconfig"],
126}
127
128java_aconfig_library {
129    name: "android.media.audio-aconfig-java",
130    aconfig_declarations: "android.media.audio-aconfig",
131    defaults: ["framework-minus-apex-aconfig-java-defaults"],
132}
133
134java_aconfig_library {
135    name: "android.media.audiopolicy-aconfig-java",
136    aconfig_declarations: "android.media.audiopolicy-aconfig",
137    defaults: ["framework-minus-apex-aconfig-java-defaults"],
138    min_sdk_version: "VanillaIceCream",
139    apex_available: [
140        "//apex_available:platform",
141        "com.android.car.framework",
142    ],
143}
144
145java_aconfig_library {
146    name: "android.media.midi-aconfig-java",
147    aconfig_declarations: "android.media.midi-aconfig",
148    defaults: ["framework-minus-apex-aconfig-java-defaults"],
149}
150
151java_aconfig_library {
152    name: "android.media.soundtrigger-aconfig-java",
153    aconfig_declarations: "android.media.soundtrigger-aconfig",
154    defaults: ["framework-minus-apex-aconfig-java-defaults"],
155}
156
157cc_aconfig_library {
158    name: "android.media.audiopolicy-aconfig-cc",
159    aconfig_declarations: "android.media.audiopolicy-aconfig",
160    defaults: ["audio-aconfig-cc-defaults"],
161}
162
163aconfig_declarations_group {
164    name: "audio-framework-aconfig",
165    java_aconfig_libraries: [
166        "android.media.audio-aconfig-java",
167        "android.media.audiopolicy-aconfig-java",
168        "android.media.midi-aconfig-java",
169        "android.media.soundtrigger-aconfig-java",
170    ],
171}
172