blob: fd93528b6a52ede21a5fc9c82646006d199076f0 [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}",
Liz Kammer56896172023-09-20 15:15:43 +000028]
29
30filegroup {
31 name: "framework-minus-apex-aconfig-srcjars",
32 srcs: aconfig_srcjars,
33}
34
Joe Onoratocd779472023-08-19 19:49:52 -070035// Aconfig declarations and libraries for the core framework
36java_defaults {
37 name: "framework-minus-apex-aconfig-libraries",
38
39 // Add java_aconfig_libraries to here to add them to the core framework
Zhi Dou3b92dcb2023-08-30 22:12:17 +000040 // Add aconfig-annotations-lib as a dependency for the optimization
Liz Kammer56896172023-09-20 15:15:43 +000041 srcs: aconfig_srcjars,
Zhi Dou3b92dcb2023-08-30 22:12:17 +000042 libs: ["aconfig-annotations-lib"],
Joe Onoratocd779472023-08-19 19:49:52 -070043}
44
45// Default flags for java_aconfig_libraries that go into framework-minus-apex
46// These libraries will not work standalone
47java_defaults {
48 name: "framework-minus-apex-aconfig-java-defaults",
49 sdk_version: "core_platform",
50 libs: ["fake_device_config"],
51}
52
Chris Li547ae2c2023-07-28 14:01:06 +080053// Camera
Joe Onoratocd779472023-08-19 19:49:52 -070054aconfig_declarations {
55 name: "com.android.hardware.camera2-aconfig",
56 package: "com.android.hardware.camera2",
57 srcs: ["core/java/android/hardware/camera2/camera_platform.aconfig"],
58}
59
60java_aconfig_library {
61 name: "com.android.hardware.camera2-aconfig-java",
62 aconfig_declarations: "com.android.hardware.camera2-aconfig",
63 defaults: ["framework-minus-apex-aconfig-java-defaults"],
64}
Chris Li547ae2c2023-07-28 14:01:06 +080065
66// Window
67aconfig_declarations {
68 name: "com.android.window.flags.window-aconfig",
69 package: "com.android.window.flags",
70 srcs: ["core/java/android/window/flags/*.aconfig"],
71}
72
73java_aconfig_library {
74 name: "com.android.window.flags.window-aconfig-java",
75 aconfig_declarations: "com.android.window.flags.window-aconfig",
76 defaults: ["framework-minus-apex-aconfig-java-defaults"],
77}
Seigo Nonaka1e157782023-08-22 09:57:46 +090078
Josep del Rioc469f352023-08-24 18:03:06 +000079// Input
80aconfig_declarations {
81 name: "com.android.hardware.input.input-aconfig",
82 package: "com.android.hardware.input",
83 srcs: ["core/java/android/hardware/input/*.aconfig"],
84}
85
86java_aconfig_library {
87 name: "com.android.hardware.input-aconfig-java",
88 aconfig_declarations: "com.android.hardware.input.input-aconfig",
89 defaults: ["framework-minus-apex-aconfig-java-defaults"],
90}
91
Seigo Nonaka1e157782023-08-22 09:57:46 +090092// Text
93aconfig_declarations {
94 name: "com.android.text.flags-aconfig",
95 package: "com.android.text.flags",
96 srcs: ["core/java/android/text/flags/*.aconfig"],
97}
98
99java_aconfig_library {
100 name: "com.android.text.flags-aconfig-java",
101 aconfig_declarations: "com.android.text.flags-aconfig",
102 defaults: ["framework-minus-apex-aconfig-java-defaults"],
103}
Victor Hsieh529c1a732023-08-21 17:20:25 -0700104
Gil Cukierman4585b932023-08-29 15:57:05 +0000105// OS
106aconfig_declarations {
107 name: "android.os.flags-aconfig",
108 package: "android.os",
109 srcs: ["core/java/android/os/*.aconfig"],
110}
111
112java_aconfig_library {
113 name: "android.os.flags-aconfig-java",
114 aconfig_declarations: "android.os.flags-aconfig",
115 defaults: ["framework-minus-apex-aconfig-java-defaults"],
116}
117
Roshan Pius558940e2023-06-22 11:15:32 -0700118// NFC
119aconfig_declarations {
120 name: "android.nfc.flags-aconfig",
121 package: "android.nfc",
Roshan Pius467a55f2023-11-13 14:29:09 -0800122 srcs: ["nfc/java/android/nfc/*.aconfig"],
Roshan Pius558940e2023-06-22 11:15:32 -0700123}
124
Brad Lasseyb8c4f9b2023-09-01 11:30:09 -0400125cc_aconfig_library {
126 name: "android_nfc_flags_aconfig_c_lib",
127 vendor_available: true,
128 aconfig_declarations: "android.nfc.flags-aconfig",
129 apex_available: [
130 "//apex_available:platform",
131 "com.android.nfcservices",
132 "nfc_nci.st21nfc.default",
133 ],
134 defaults: ["framework-minus-apex-aconfig-java-defaults"],
135}
136
Roshan Pius558940e2023-06-22 11:15:32 -0700137java_aconfig_library {
138 name: "android.nfc.flags-aconfig-java",
139 aconfig_declarations: "android.nfc.flags-aconfig",
Roshan Pius467a55f2023-11-13 14:29:09 -0800140 min_sdk_version: "34",
Roshan Piusd1ad8ca2023-10-20 14:02:38 +0000141 apex_available: [
142 "//apex_available:platform",
143 "com.android.nfcservices",
144 ],
Roshan Pius558940e2023-06-22 11:15:32 -0700145 defaults: ["framework-minus-apex-aconfig-java-defaults"],
146}
147
Victor Hsieh529c1a732023-08-21 17:20:25 -0700148// Security
149aconfig_declarations {
150 name: "android.security.flags-aconfig",
151 package: "android.security",
152 srcs: ["core/java/android/security/*.aconfig"],
153}
154
155java_aconfig_library {
156 name: "android.security.flags-aconfig-java",
157 aconfig_declarations: "android.security.flags-aconfig",
158 defaults: ["framework-minus-apex-aconfig-java-defaults"],
159}
Victor Hsieh65bec8d2023-08-29 14:04:02 -0700160
161java_aconfig_library {
162 name: "android.security.flags-aconfig-java-host",
163 aconfig_declarations: "android.security.flags-aconfig",
164 host_supported: true,
Victor Hsieh65bec8d2023-08-29 14:04:02 -0700165 defaults: ["framework-minus-apex-aconfig-java-defaults"],
166}
Shaquille Johnsonf732f472023-09-22 23:00:59 +0100167
Eric Biggersaa6688e2023-10-20 17:07:37 +0000168rust_aconfig_library {
169 name: "libandroid_security_flags_rust",
170 crate_name: "android_security_flags",
171 aconfig_declarations: "android.security.flags-aconfig",
172}
173
Jiakai Zhang1dde3e72023-10-10 14:58:43 +0000174// Package Manager
175aconfig_declarations {
176 name: "android.content.pm.flags-aconfig",
177 package: "android.content.pm",
178 srcs: ["core/java/android/content/pm/flags.aconfig"],
179}
180
181java_aconfig_library {
182 name: "android.content.pm.flags-aconfig-java",
183 aconfig_declarations: "android.content.pm.flags-aconfig",
184 defaults: ["framework-minus-apex-aconfig-java-defaults"],
185}
186
187java_aconfig_library {
188 name: "android.content.pm.flags-aconfig-java-host",
189 aconfig_declarations: "android.content.pm.flags-aconfig",
190 host_supported: true,
191 defaults: ["framework-minus-apex-aconfig-java-defaults"],
192}
193
Jeremy Meyer16bbdc22023-10-06 15:47:17 -0700194// Resources
195aconfig_declarations {
196 name: "android.content.res.flags-aconfig",
197 package: "android.content.res",
198 srcs: ["core/java/android/content/res/*.aconfig"],
199}
200
201java_aconfig_library {
202 name: "android.content.res.flags-aconfig-java",
203 aconfig_declarations: "android.content.res.flags-aconfig",
204 defaults: ["framework-minus-apex-aconfig-java-defaults"],
205}
206
Shaquille Johnsonf732f472023-09-22 23:00:59 +0100207// Biometrics
208aconfig_declarations {
209 name: "android.hardware.biometrics.flags-aconfig",
210 package: "android.hardware.biometrics",
211 srcs: ["core/java/android/hardware/biometrics/flags.aconfig"],
212}
213
214java_aconfig_library {
215 name: "android.hardware.biometrics.flags-aconfig-java",
216 aconfig_declarations: "android.hardware.biometrics.flags-aconfig",
217 defaults: ["framework-minus-apex-aconfig-java-defaults"],
218}
Motomu Utsumid2a3e4d2023-10-12 23:25:03 +0900219
Motomu Utsumi9e80cbb2023-12-06 13:29:49 +0900220// Networking
221aconfig_declarations {
222 name: "com.android.net.flags-aconfig",
223 package: "com.android.net.flags",
224 srcs: ["core/java/android/net/flags.aconfig"],
225}
226
Motomu Utsumid2a3e4d2023-10-12 23:25:03 +0900227java_aconfig_library {
228 name: "com.android.net.flags-aconfig-java",
229 aconfig_declarations: "com.android.net.flags-aconfig",
230 defaults: ["framework-minus-apex-aconfig-java-defaults"],
231}
Yan Yand3c353f2023-10-25 01:55:01 +0000232
Venkatarama Avadhanic35577e2023-09-11 08:47:33 +0530233// Media
234aconfig_declarations {
235 name: "android.media.playback.flags-aconfig",
236 package: "com.android.media.playback.flags",
237 srcs: ["media/jni/playback_flags.aconfig"],
238}
239
240cc_aconfig_library {
241 name: "android.media.playback.flags-aconfig-cc",
242 aconfig_declarations: "android.media.playback.flags-aconfig",
243}
244
245java_aconfig_library {
246 name: "android.media.playback.flags-aconfig-java",
247 aconfig_declarations: "android.media.playback.flags-aconfig",
248 defaults: ["framework-minus-apex-aconfig-java-defaults"],
249}
250
Yan Yand3c353f2023-10-25 01:55:01 +0000251// VCN
252aconfig_declarations {
253 name: "android.net.vcn.flags-aconfig",
254 package: "android.net.vcn",
255 srcs: ["core/java/android/net/vcn/*.aconfig"],
256}
257
258java_aconfig_library {
259 name: "android.net.vcn.flags-aconfig-java",
260 aconfig_declarations: "android.net.vcn.flags-aconfig",
261 defaults: ["framework-minus-apex-aconfig-java-defaults"],
262}