blob: 27eb9bc59853b0c51382a2469b663d74975b1ade [file] [log] [blame]
Joe Onoratocd779472023-08-19 19:49:52 -07001// Copyright (C) 2023 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
Liz Kammer56896172023-09-20 15:15:43 +000015aconfig_srcjars = [
Jiakai Zhang1dde3e72023-10-10 14:58:43 +000016 ":android.content.pm.flags-aconfig-java{.generated_srcjars}",
Jeremy Meyer16bbdc22023-10-06 15:47:17 -070017 ":android.content.res.flags-aconfig-java{.generated_srcjars}",
Shaquille Johnsonf732f472023-09-22 23:00:59 +010018 ":android.hardware.biometrics.flags-aconfig-java{.generated_srcjars}",
Yan Yand3c353f2023-10-25 01:55:01 +000019 ":android.net.vcn.flags-aconfig-java{.generated_srcjars}",
Roshan Pius558940e2023-06-22 11:15:32 -070020 ":android.nfc.flags-aconfig-java{.generated_srcjars}",
Liz Kammer56896172023-09-20 15:15:43 +000021 ":android.os.flags-aconfig-java{.generated_srcjars}",
22 ":android.security.flags-aconfig-java{.generated_srcjars}",
23 ":com.android.hardware.camera2-aconfig-java{.generated_srcjars}",
24 ":com.android.window.flags.window-aconfig-java{.generated_srcjars}",
25 ":com.android.hardware.input-aconfig-java{.generated_srcjars}",
26 ":com.android.text.flags-aconfig-java{.generated_srcjars}",
Motomu Utsumid2a3e4d2023-10-12 23:25:03 +090027 ":com.android.net.flags-aconfig-java{.generated_srcjars}",
Girish39e5dad2023-07-18 22:01:03 +000028 ":aconfig_mediacodec_flags_java_lib{.generated_srcjars}",
Liz Kammer56896172023-09-20 15:15:43 +000029]
30
31filegroup {
32 name: "framework-minus-apex-aconfig-srcjars",
33 srcs: aconfig_srcjars,
34}
35
Joe Onoratocd779472023-08-19 19:49:52 -070036// Aconfig declarations and libraries for the core framework
37java_defaults {
38 name: "framework-minus-apex-aconfig-libraries",
39
40 // Add java_aconfig_libraries to here to add them to the core framework
Zhi Dou3b92dcb2023-08-30 22:12:17 +000041 // Add aconfig-annotations-lib as a dependency for the optimization
Liz Kammer56896172023-09-20 15:15:43 +000042 srcs: aconfig_srcjars,
Zhi Dou3b92dcb2023-08-30 22:12:17 +000043 libs: ["aconfig-annotations-lib"],
Joe Onoratocd779472023-08-19 19:49:52 -070044}
45
46// Default flags for java_aconfig_libraries that go into framework-minus-apex
47// These libraries will not work standalone
48java_defaults {
49 name: "framework-minus-apex-aconfig-java-defaults",
50 sdk_version: "core_platform",
51 libs: ["fake_device_config"],
52}
53
Chris Li547ae2c2023-07-28 14:01:06 +080054// Camera
Joe Onoratocd779472023-08-19 19:49:52 -070055aconfig_declarations {
56 name: "com.android.hardware.camera2-aconfig",
57 package: "com.android.hardware.camera2",
58 srcs: ["core/java/android/hardware/camera2/camera_platform.aconfig"],
59}
60
61java_aconfig_library {
62 name: "com.android.hardware.camera2-aconfig-java",
63 aconfig_declarations: "com.android.hardware.camera2-aconfig",
64 defaults: ["framework-minus-apex-aconfig-java-defaults"],
65}
Chris Li547ae2c2023-07-28 14:01:06 +080066
67// Window
68aconfig_declarations {
69 name: "com.android.window.flags.window-aconfig",
70 package: "com.android.window.flags",
71 srcs: ["core/java/android/window/flags/*.aconfig"],
72}
73
74java_aconfig_library {
75 name: "com.android.window.flags.window-aconfig-java",
76 aconfig_declarations: "com.android.window.flags.window-aconfig",
77 defaults: ["framework-minus-apex-aconfig-java-defaults"],
78}
Seigo Nonaka1e157782023-08-22 09:57:46 +090079
Josep del Rioc469f352023-08-24 18:03:06 +000080// Input
81aconfig_declarations {
82 name: "com.android.hardware.input.input-aconfig",
83 package: "com.android.hardware.input",
84 srcs: ["core/java/android/hardware/input/*.aconfig"],
85}
86
87java_aconfig_library {
88 name: "com.android.hardware.input-aconfig-java",
89 aconfig_declarations: "com.android.hardware.input.input-aconfig",
90 defaults: ["framework-minus-apex-aconfig-java-defaults"],
91}
92
Seigo Nonaka1e157782023-08-22 09:57:46 +090093// Text
94aconfig_declarations {
95 name: "com.android.text.flags-aconfig",
96 package: "com.android.text.flags",
97 srcs: ["core/java/android/text/flags/*.aconfig"],
98}
99
100java_aconfig_library {
101 name: "com.android.text.flags-aconfig-java",
102 aconfig_declarations: "com.android.text.flags-aconfig",
103 defaults: ["framework-minus-apex-aconfig-java-defaults"],
104}
Victor Hsieh529c1a732023-08-21 17:20:25 -0700105
Gil Cukierman4585b932023-08-29 15:57:05 +0000106// OS
107aconfig_declarations {
108 name: "android.os.flags-aconfig",
109 package: "android.os",
110 srcs: ["core/java/android/os/*.aconfig"],
111}
112
113java_aconfig_library {
114 name: "android.os.flags-aconfig-java",
115 aconfig_declarations: "android.os.flags-aconfig",
116 defaults: ["framework-minus-apex-aconfig-java-defaults"],
117}
118
Roshan Pius558940e2023-06-22 11:15:32 -0700119// NFC
120aconfig_declarations {
121 name: "android.nfc.flags-aconfig",
122 package: "android.nfc",
123 srcs: ["core/java/android/nfc/*.aconfig"],
124}
125
Brad Lasseyb8c4f9b2023-09-01 11:30:09 -0400126cc_aconfig_library {
127 name: "android_nfc_flags_aconfig_c_lib",
128 vendor_available: true,
129 aconfig_declarations: "android.nfc.flags-aconfig",
130 apex_available: [
131 "//apex_available:platform",
132 "com.android.nfcservices",
133 "nfc_nci.st21nfc.default",
134 ],
135 defaults: ["framework-minus-apex-aconfig-java-defaults"],
136}
137
Roshan Pius558940e2023-06-22 11:15:32 -0700138java_aconfig_library {
139 name: "android.nfc.flags-aconfig-java",
140 aconfig_declarations: "android.nfc.flags-aconfig",
Roshan Piusd1ad8ca2023-10-20 14:02:38 +0000141 min_sdk_version: "VanillaIceCream",
142 apex_available: [
143 "//apex_available:platform",
144 "com.android.nfcservices",
145 ],
Roshan Pius558940e2023-06-22 11:15:32 -0700146 defaults: ["framework-minus-apex-aconfig-java-defaults"],
147}
148
Victor Hsieh529c1a732023-08-21 17:20:25 -0700149// Security
150aconfig_declarations {
151 name: "android.security.flags-aconfig",
152 package: "android.security",
153 srcs: ["core/java/android/security/*.aconfig"],
154}
155
156java_aconfig_library {
157 name: "android.security.flags-aconfig-java",
158 aconfig_declarations: "android.security.flags-aconfig",
159 defaults: ["framework-minus-apex-aconfig-java-defaults"],
160}
Victor Hsieh65bec8d2023-08-29 14:04:02 -0700161
162java_aconfig_library {
163 name: "android.security.flags-aconfig-java-host",
164 aconfig_declarations: "android.security.flags-aconfig",
165 host_supported: true,
Victor Hsieh65bec8d2023-08-29 14:04:02 -0700166 defaults: ["framework-minus-apex-aconfig-java-defaults"],
167}
Shaquille Johnsonf732f472023-09-22 23:00:59 +0100168
Eric Biggersaa6688e2023-10-20 17:07:37 +0000169rust_aconfig_library {
170 name: "libandroid_security_flags_rust",
171 crate_name: "android_security_flags",
172 aconfig_declarations: "android.security.flags-aconfig",
173}
174
Jiakai Zhang1dde3e72023-10-10 14:58:43 +0000175// Package Manager
176aconfig_declarations {
177 name: "android.content.pm.flags-aconfig",
178 package: "android.content.pm",
179 srcs: ["core/java/android/content/pm/flags.aconfig"],
180}
181
182java_aconfig_library {
183 name: "android.content.pm.flags-aconfig-java",
184 aconfig_declarations: "android.content.pm.flags-aconfig",
185 defaults: ["framework-minus-apex-aconfig-java-defaults"],
186}
187
188java_aconfig_library {
189 name: "android.content.pm.flags-aconfig-java-host",
190 aconfig_declarations: "android.content.pm.flags-aconfig",
191 host_supported: true,
192 defaults: ["framework-minus-apex-aconfig-java-defaults"],
193}
194
Jeremy Meyer16bbdc22023-10-06 15:47:17 -0700195// Resources
196aconfig_declarations {
197 name: "android.content.res.flags-aconfig",
198 package: "android.content.res",
199 srcs: ["core/java/android/content/res/*.aconfig"],
200}
201
202java_aconfig_library {
203 name: "android.content.res.flags-aconfig-java",
204 aconfig_declarations: "android.content.res.flags-aconfig",
205 defaults: ["framework-minus-apex-aconfig-java-defaults"],
206}
207
Shaquille Johnsonf732f472023-09-22 23:00:59 +0100208// Biometrics
209aconfig_declarations {
210 name: "android.hardware.biometrics.flags-aconfig",
211 package: "android.hardware.biometrics",
212 srcs: ["core/java/android/hardware/biometrics/flags.aconfig"],
213}
214
215java_aconfig_library {
216 name: "android.hardware.biometrics.flags-aconfig-java",
217 aconfig_declarations: "android.hardware.biometrics.flags-aconfig",
218 defaults: ["framework-minus-apex-aconfig-java-defaults"],
219}
Motomu Utsumid2a3e4d2023-10-12 23:25:03 +0900220
Motomu Utsumi9e80cbb2023-12-06 13:29:49 +0900221// Networking
222aconfig_declarations {
223 name: "com.android.net.flags-aconfig",
224 package: "com.android.net.flags",
225 srcs: ["core/java/android/net/flags.aconfig"],
226}
227
Motomu Utsumid2a3e4d2023-10-12 23:25:03 +0900228java_aconfig_library {
229 name: "com.android.net.flags-aconfig-java",
230 aconfig_declarations: "com.android.net.flags-aconfig",
231 defaults: ["framework-minus-apex-aconfig-java-defaults"],
232}
Yan Yand3c353f2023-10-25 01:55:01 +0000233
Venkatarama Avadhanic35577e2023-09-11 08:47:33 +0530234// Media
235aconfig_declarations {
236 name: "android.media.playback.flags-aconfig",
237 package: "com.android.media.playback.flags",
238 srcs: ["media/jni/playback_flags.aconfig"],
239}
240
241cc_aconfig_library {
242 name: "android.media.playback.flags-aconfig-cc",
243 aconfig_declarations: "android.media.playback.flags-aconfig",
244}
245
246java_aconfig_library {
247 name: "android.media.playback.flags-aconfig-java",
248 aconfig_declarations: "android.media.playback.flags-aconfig",
249 defaults: ["framework-minus-apex-aconfig-java-defaults"],
250}
251
Yan Yand3c353f2023-10-25 01:55:01 +0000252// VCN
253aconfig_declarations {
254 name: "android.net.vcn.flags-aconfig",
255 package: "android.net.vcn",
256 srcs: ["core/java/android/net/vcn/*.aconfig"],
257}
258
259java_aconfig_library {
260 name: "android.net.vcn.flags-aconfig-java",
261 aconfig_declarations: "android.net.vcn.flags-aconfig",
262 defaults: ["framework-minus-apex-aconfig-java-defaults"],
263}