xref: /aosp_15_r20/frameworks/base/AconfigFlags.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1// 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
15aconfig_declarations_group {
16    name: "framework-minus-apex-aconfig-declarations",
17    aconfig_declarations_groups: [
18        "aconfig_trade_in_mode_flags",
19        "audio-framework-aconfig",
20    ],
21    java_aconfig_libraries: [
22        // !!! KEEP THIS LIST ALPHABETICAL !!!
23        "aconfig_mediacodec_flags_java_lib",
24        "aconfig_settingslib_flags_java_lib",
25        "aconfig_trade_in_mode_flags_java_lib",
26        "adpf_flags_java_lib",
27        "android.adaptiveauth.flags-aconfig-java",
28        "android.app.appfunctions.flags-aconfig-java",
29        "android.app.assist.flags-aconfig-java",
30        "android.app.contextualsearch.flags-aconfig-java",
31        "android.app.flags-aconfig-java",
32        "android.app.jank.flags-aconfig-java",
33        "android.app.ondeviceintelligence-aconfig-java",
34        "android.app.smartspace.flags-aconfig-java",
35        "android.app.supervision.flags-aconfig-java",
36        "android.app.usage.flags-aconfig-java",
37        "android.app.wearable.flags-aconfig-java",
38        "android.appwidget.flags-aconfig-java",
39        "android.chre.flags-aconfig-java",
40        "android.companion.flags-aconfig-java",
41        "android.companion.virtual.flags-aconfig-java",
42        "android.companion.virtualdevice.flags-aconfig-java",
43        "android.content.flags-aconfig-java",
44        "android.content.pm.flags-aconfig-java",
45        "android.content.res.flags-aconfig-java",
46        "android.crashrecovery.flags-aconfig-java",
47        "android.credentials.flags-aconfig-java",
48        "android.database.sqlite-aconfig-java",
49        "android.hardware.biometrics.flags-aconfig-java",
50        "android.hardware.devicestate.feature.flags-aconfig-java",
51        "android.hardware.flags-aconfig-java",
52        "android.hardware.radio.flags-aconfig-java",
53        "android.hardware.usb.flags-aconfig-java",
54        "android.location.flags-aconfig-java",
55        "android.media.codec-aconfig-java",
56        "android.media.tv.flags-aconfig-java",
57        "android.multiuser.flags-aconfig-java",
58        "android.net.platform.flags-aconfig-java",
59        "android.net.wifi.flags-aconfig-java",
60        "android.nfc.flags-aconfig-java",
61        "android.os.flags-aconfig-java",
62        "android.os.vibrator.flags-aconfig-java",
63        "android.permission.flags-aconfig-java",
64        "android.provider.flags-aconfig-java",
65        "android.sdk.flags-aconfig-java",
66        "android.security.flags-aconfig-java",
67        "android.server.app.flags-aconfig-java",
68        "android.service.autofill.flags-aconfig-java",
69        "android.service.chooser.flags-aconfig-java",
70        "android.service.compat.flags-aconfig-java",
71        "android.service.controls.flags-aconfig-java",
72        "android.service.dreams.flags-aconfig-java",
73        "android.service.notification.flags-aconfig-java",
74        "android.service.appprediction.flags-aconfig-java",
75        "android.service.quickaccesswallet.flags-aconfig-java",
76        "android.service.voice.flags-aconfig-java",
77        "android.speech.flags-aconfig-java",
78        "android.systemserver.flags-aconfig-java",
79        "android.tracing.flags-aconfig-java",
80        "android.view.accessibility.flags-aconfig-java",
81        "android.view.contentcapture.flags-aconfig-java",
82        "android.view.contentprotection.flags-aconfig-java",
83        "android.view.flags-aconfig-java",
84        "android.view.inputmethod.flags-aconfig-java",
85        "android.webkit.flags-aconfig-java",
86        "android.widget.flags-aconfig-java",
87        "android.xr.flags-aconfig-java",
88        "art_exported_aconfig_flags_lib",
89        "backstage_power_flags_lib",
90        "backup_flags_lib",
91        "camera_platform_flags_core_java_lib",
92        "com.android.hardware.input-aconfig-java",
93        "com.android.input.flags-aconfig-java",
94        "com.android.internal.compat.flags-aconfig-java",
95        "com.android.internal.foldables.flags-aconfig-java",
96        "com.android.internal.os.flags-aconfig-java",
97        "com.android.internal.pm.pkg.component.flags-aconfig-java",
98        "com.android.internal.widget.flags-aconfig-java",
99        "com.android.media.flags.bettertogether-aconfig-java",
100        "com.android.media.flags.editing-aconfig-java",
101        "com.android.media.flags.performance-aconfig-java",
102        "com.android.media.flags.projection-aconfig-java",
103        "com.android.net.http.flags-aconfig-exported-java",
104        "com.android.net.thread.platform.flags-aconfig-java",
105        "com.android.ranging.flags.ranging-aconfig-java-export",
106        "com.android.server.contextualsearch.flags-java",
107        "com.android.server.flags.services-aconfig-java",
108        "com.android.text.flags-aconfig-java",
109        "com.android.window.flags.window-aconfig-java",
110        "conscrypt_exported_aconfig_flags_lib",
111        "device_policy_aconfig_flags_lib",
112        "display_flags_lib",
113        "dropbox_flags_lib",
114        "framework-jobscheduler-job.flags-aconfig-java",
115        "framework_graphics_flags_java_lib",
116        "hwui_flags_java_lib",
117        "interaction_jank_monitor_flags_lib",
118        "keystore2_flags_java-framework",
119        "libcore_exported_aconfig_flags_lib",
120        "libcore_readonly_aconfig_flags_lib",
121        "libgui_flags_java_lib",
122        "power_flags_lib",
123        "sdk_sandbox_flags_lib",
124        "surfaceflinger_flags_java_lib",
125        "telecom_flags_core_java_lib",
126        "telephony_flags_core_java_lib",
127        // !!! KEEP THIS LIST ALPHABETICAL !!!
128    ],
129}
130
131filegroup {
132    name: "framework-minus-apex-aconfig-srcjars",
133    device_common_srcs: [
134        ":framework-minus-apex-aconfig-declarations{.srcjars}",
135    ],
136}
137
138// Aconfig declarations and libraries for the core framework
139java_defaults {
140    name: "framework-minus-apex-aconfig-libraries",
141    // Add java_aconfig_libraries to here to add them to the core framework
142    // Add aconfig-annotations-lib as a dependency for the optimization
143    srcs: [
144        ":framework-minus-apex-aconfig-declarations{.srcjars}",
145    ],
146    libs: ["aconfig-annotations-lib"],
147}
148
149// Default flags for java_aconfig_libraries that go into framework-minus-apex
150// These libraries will not work standalone
151java_defaults {
152    name: "framework-minus-apex-aconfig-java-defaults",
153    sdk_version: "core_platform",
154    libs: ["fake_device_config"],
155}
156
157// ART
158java_aconfig_library {
159    name: "art_exported_aconfig_flags_lib",
160    aconfig_declarations: "art-aconfig-flags",
161    mode: "exported",
162    defaults: ["framework-minus-apex-aconfig-java-defaults"],
163}
164
165// Camera
166java_aconfig_library {
167    name: "camera_platform_flags_core_java_lib",
168    aconfig_declarations: "camera_platform_flags",
169    defaults: ["framework-minus-apex-aconfig-java-defaults"],
170}
171
172// Core Libraries / libcore
173java_aconfig_library {
174    name: "libcore_exported_aconfig_flags_lib",
175    aconfig_declarations: "libcore-aconfig-flags",
176    mode: "exported",
177    defaults: ["framework-minus-apex-aconfig-java-defaults"],
178}
179
180// See b/368409430 - This is for libcore flags to be generated with
181// force-read-only mode, so access to the flags does not involve I/O,
182// which could break Isolated Processes with I/O permission disabled.
183// The issue will be addressed once new Aconfig storage API is landed
184// and the readonly version will be removed.
185aconfig_declarations {
186    name: "libcore-readonly-aconfig-flags",
187    package: "com.android.libcore.readonly",
188    container: "system",
189    srcs: ["libcore-readonly.aconfig"],
190}
191
192// Core Libraries / libcore
193java_aconfig_library {
194    name: "libcore_readonly_aconfig_flags_lib",
195    aconfig_declarations: "libcore-readonly-aconfig-flags",
196    mode: "force-read-only",
197    defaults: ["framework-minus-apex-aconfig-java-defaults"],
198}
199
200// Conscrypt
201java_aconfig_library {
202    name: "conscrypt_exported_aconfig_flags_lib",
203    aconfig_declarations: "conscrypt-aconfig-flags",
204    mode: "exported",
205    defaults: ["framework-minus-apex-aconfig-java-defaults"],
206}
207
208// Telecom
209java_aconfig_library {
210    name: "telecom_flags_core_java_lib",
211    aconfig_declarations: "telecom_flags",
212    defaults: ["framework-minus-apex-aconfig-java-defaults"],
213}
214
215// Telephony
216java_aconfig_library {
217    name: "telephony_flags_core_java_lib",
218    aconfig_declarations: "telephony_flags",
219    defaults: ["framework-minus-apex-aconfig-java-defaults"],
220}
221
222cc_aconfig_library {
223    name: "telephony_flags_c_lib",
224    aconfig_declarations: "telephony_flags",
225}
226
227// Window
228aconfig_declarations {
229    name: "com.android.window.flags.window-aconfig",
230    exportable: true,
231    package: "com.android.window.flags",
232    container: "system",
233    srcs: ["core/java/android/window/flags/*.aconfig"],
234}
235
236java_aconfig_library {
237    name: "com.android.window.flags.window-aconfig-java",
238    aconfig_declarations: "com.android.window.flags.window-aconfig",
239    defaults: ["framework-minus-apex-aconfig-java-defaults"],
240}
241
242cc_aconfig_library {
243    name: "com.android.window.flags.window-aconfig_flags_c_lib",
244    aconfig_declarations: "com.android.window.flags.window-aconfig",
245}
246
247// DeviceStateManager
248aconfig_declarations {
249    name: "android.hardware.devicestate.feature.flags-aconfig",
250    exportable: true,
251    package: "android.hardware.devicestate.feature.flags",
252    container: "system",
253    srcs: ["core/java/android/hardware/devicestate/feature/*.aconfig"],
254}
255
256java_aconfig_library {
257    name: "android.hardware.devicestate.feature.flags-aconfig-java",
258    aconfig_declarations: "android.hardware.devicestate.feature.flags-aconfig",
259    defaults: ["framework-minus-apex-aconfig-java-defaults"],
260}
261
262// Input
263aconfig_declarations {
264    name: "com.android.hardware.input.input-aconfig",
265    exportable: true,
266    package: "com.android.hardware.input",
267    container: "system",
268    srcs: ["core/java/android/hardware/input/*.aconfig"],
269}
270
271java_aconfig_library {
272    name: "com.android.hardware.input-aconfig-java",
273    aconfig_declarations: "com.android.hardware.input.input-aconfig",
274    defaults: ["framework-minus-apex-aconfig-java-defaults"],
275}
276
277java_aconfig_library {
278    name: "com.android.input.flags-aconfig-java",
279    aconfig_declarations: "com.android.input.flags-aconfig",
280    defaults: ["framework-minus-apex-aconfig-java-defaults"],
281}
282
283aconfig_declarations {
284    name: "com.android.internal.widget.flags-aconfig",
285    package: "com.android.internal.widget.flags",
286    container: "system",
287    srcs: ["core/java/com/android/internal/widget/*.aconfig"],
288}
289
290java_aconfig_library {
291    name: "com.android.internal.widget.flags-aconfig-java",
292    aconfig_declarations: "com.android.internal.widget.flags-aconfig",
293    defaults: ["framework-minus-apex-aconfig-java-defaults"],
294}
295
296// Text
297aconfig_declarations {
298    name: "com.android.text.flags-aconfig",
299    package: "com.android.text.flags",
300    container: "system",
301    srcs: ["core/java/android/text/flags/*.aconfig"],
302}
303
304java_aconfig_library {
305    name: "com.android.text.flags-aconfig-java",
306    aconfig_declarations: "com.android.text.flags-aconfig",
307    defaults: ["framework-minus-apex-aconfig-java-defaults"],
308}
309
310cc_aconfig_library {
311    name: "aconfig_text_flags_c_lib",
312    aconfig_declarations: "com.android.text.flags-aconfig",
313}
314
315rust_aconfig_library {
316    name: "libandroid_text_flags_rust",
317    crate_name: "android_text_flags",
318    aconfig_declarations: "com.android.text.flags-aconfig",
319}
320
321// Location
322aconfig_declarations {
323    name: "android.location.flags-aconfig",
324    package: "android.location.flags",
325    container: "system",
326    srcs: [
327        "location/java/android/location/flags/*.aconfig",
328    ],
329}
330
331cc_aconfig_library {
332    name: "android_location_flags_c_lib",
333    vendor_available: true,
334    aconfig_declarations: "android.location.flags-aconfig",
335}
336
337java_aconfig_library {
338    name: "android.location.flags-aconfig-java",
339    aconfig_declarations: "android.location.flags-aconfig",
340    defaults: ["framework-minus-apex-aconfig-java-defaults"],
341}
342
343// NFC
344aconfig_declarations {
345    name: "android.nfc.flags-aconfig",
346    package: "android.nfc",
347    container: "system",
348    srcs: ["nfc/java/android/nfc/*.aconfig"],
349}
350
351cc_aconfig_library {
352    name: "android_nfc_flags_aconfig_c_lib",
353    vendor_available: true,
354    aconfig_declarations: "android.nfc.flags-aconfig",
355    min_sdk_version: "34",
356    apex_available: [
357        "//apex_available:platform",
358        "com.android.nfcservices",
359        "nfc_nci.st21nfc.default",
360    ],
361    defaults: ["framework-minus-apex-aconfig-java-defaults"],
362}
363
364java_aconfig_library {
365    name: "android.nfc.flags-aconfig-java",
366    aconfig_declarations: "android.nfc.flags-aconfig",
367    min_sdk_version: "34",
368    apex_available: [
369        "//apex_available:platform",
370        "com.android.nfcservices",
371    ],
372    defaults: ["framework-minus-apex-aconfig-java-defaults"],
373}
374
375// Security
376aconfig_declarations {
377    name: "android.security.flags-aconfig",
378    package: "android.security",
379    exportable: true,
380    container: "system",
381    srcs: ["core/java/android/security/*.aconfig"],
382}
383
384java_aconfig_library {
385    name: "android.security.flags-aconfig-java",
386    aconfig_declarations: "android.security.flags-aconfig",
387    defaults: ["framework-minus-apex-aconfig-java-defaults"],
388}
389
390java_aconfig_library {
391    name: "android.security.flags-aconfig-java-host",
392    aconfig_declarations: "android.security.flags-aconfig",
393    host_supported: true,
394    defaults: ["framework-minus-apex-aconfig-java-defaults"],
395}
396
397java_aconfig_library {
398    name: "android.security.flags-aconfig-java-export",
399    aconfig_declarations: "android.security.flags-aconfig",
400    mode: "exported",
401    min_sdk_version: "30",
402    apex_available: [
403        "//apex_available:platform",
404        "com.android.wifi",
405    ],
406    defaults: ["framework-minus-apex-aconfig-java-defaults"],
407}
408
409cc_aconfig_library {
410    name: "android_security_flags_aconfig_c_lib",
411    aconfig_declarations: "android.security.flags-aconfig",
412}
413
414// UsageStats
415aconfig_declarations {
416    name: "android.app.usage.flags-aconfig",
417    package: "android.app.usage",
418    container: "system",
419    srcs: ["core/java/android/app/usage/*.aconfig"],
420}
421
422java_aconfig_library {
423    name: "android.app.usage.flags-aconfig-java",
424    aconfig_declarations: "android.app.usage.flags-aconfig",
425    defaults: ["framework-minus-apex-aconfig-java-defaults"],
426}
427
428java_aconfig_library {
429    name: "android.app.usage.flags-aconfig-java-host",
430    aconfig_declarations: "android.app.usage.flags-aconfig",
431    host_supported: true,
432    defaults: ["framework-minus-apex-aconfig-java-defaults"],
433}
434
435// OS
436aconfig_declarations {
437    name: "android.os.flags-aconfig",
438    package: "android.os",
439    exportable: true,
440    container: "system",
441    srcs: ["core/java/android/os/*.aconfig"],
442}
443
444java_aconfig_library {
445    name: "android.os.flags-aconfig-java",
446    aconfig_declarations: "android.os.flags-aconfig",
447    defaults: ["framework-minus-apex-aconfig-java-defaults"],
448}
449
450java_aconfig_library {
451    name: "android.os.flags-aconfig-java-host",
452    aconfig_declarations: "android.os.flags-aconfig",
453    host_supported: true,
454    defaults: ["framework-minus-apex-aconfig-java-defaults"],
455}
456
457java_aconfig_library {
458    name: "android.os.flags-aconfig-java-export",
459    aconfig_declarations: "android.os.flags-aconfig",
460    defaults: ["framework-minus-apex-aconfig-java-defaults"],
461    mode: "exported",
462    min_sdk_version: "30",
463    apex_available: [
464        "//apex_available:platform",
465        "com.android.art",
466        "com.android.art.debug",
467        "com.android.btservices",
468        "com.android.mediaprovider",
469        "com.android.permission",
470    ],
471}
472
473cc_aconfig_library {
474    name: "android.os.flags-aconfig-cc",
475    aconfig_declarations: "android.os.flags-aconfig",
476}
477
478cc_aconfig_library {
479    name: "android.os.flags-aconfig-cc-test",
480    aconfig_declarations: "android.os.flags-aconfig",
481    mode: "test",
482}
483
484cc_aconfig_library {
485    name: "android.os.flags-aconfig-cc-host",
486    aconfig_declarations: "android.os.flags-aconfig",
487    host_supported: true,
488}
489
490// OS Internal
491aconfig_declarations {
492    name: "com.android.internal.os.flags-aconfig",
493    package: "com.android.internal.os",
494    container: "system",
495    srcs: ["core/java/com/android/internal/os/flags.aconfig"],
496}
497
498java_aconfig_library {
499    name: "com.android.internal.os.flags-aconfig-java",
500    aconfig_declarations: "com.android.internal.os.flags-aconfig",
501    defaults: ["framework-minus-apex-aconfig-java-defaults"],
502}
503
504// VirtualDeviceManager
505cc_aconfig_library {
506    name: "android.companion.virtualdevice.flags-aconfig-cc",
507    aconfig_declarations: "android.companion.virtualdevice.flags-aconfig",
508    host_supported: true,
509    mode: "test",
510}
511
512java_aconfig_library {
513    name: "android.companion.virtualdevice.flags-aconfig-java",
514    aconfig_declarations: "android.companion.virtualdevice.flags-aconfig",
515    defaults: ["framework-minus-apex-aconfig-java-defaults"],
516}
517
518aconfig_declarations {
519    name: "android.companion.virtualdevice.flags-aconfig",
520    package: "android.companion.virtualdevice.flags",
521    container: "system",
522    exportable: true,
523    srcs: ["core/java/android/companion/virtual/flags/*.aconfig"],
524}
525
526java_aconfig_library {
527    name: "android.companion.virtualdevice.flags-aconfig-java-export",
528    aconfig_declarations: "android.companion.virtualdevice.flags-aconfig",
529    defaults: ["framework-minus-apex-aconfig-java-defaults"],
530    mode: "exported",
531    min_sdk_version: "30",
532    apex_available: [
533        "//apex_available:platform",
534        "com.android.permission",
535    ],
536}
537
538java_aconfig_library {
539    name: "android.companion.virtual.flags-aconfig-java",
540    aconfig_declarations: "android.companion.virtual.flags-aconfig",
541    defaults: ["framework-minus-apex-aconfig-java-defaults"],
542}
543
544aconfig_declarations {
545    name: "android.companion.virtual.flags-aconfig",
546    package: "android.companion.virtual.flags",
547    container: "system",
548    srcs: ["core/java/android/companion/virtual/*.aconfig"],
549}
550
551// InputMethod
552aconfig_declarations {
553    name: "android.view.inputmethod.flags-aconfig",
554    package: "android.view.inputmethod",
555    container: "system",
556    srcs: ["core/java/android/view/inputmethod/flags.aconfig"],
557}
558
559java_aconfig_library {
560    name: "android.view.inputmethod.flags-aconfig-java",
561    aconfig_declarations: "android.view.inputmethod.flags-aconfig",
562    defaults: ["framework-minus-apex-aconfig-java-defaults"],
563}
564
565// Vibrator
566aconfig_declarations {
567    name: "android.os.vibrator.flags-aconfig",
568    package: "android.os.vibrator",
569    container: "system",
570    srcs: ["core/java/android/os/vibrator/*.aconfig"],
571}
572
573java_aconfig_library {
574    name: "android.os.vibrator.flags-aconfig-java",
575    aconfig_declarations: "android.os.vibrator.flags-aconfig",
576    defaults: ["framework-minus-apex-aconfig-java-defaults"],
577}
578
579cc_aconfig_library {
580    name: "android.os.vibrator.flags-aconfig-cc",
581    aconfig_declarations: "android.os.vibrator.flags-aconfig",
582    host_supported: true,
583    vendor_available: true,
584}
585
586// View
587aconfig_declarations {
588    name: "android.view.flags-aconfig",
589    package: "android.view.flags",
590    container: "system",
591    srcs: ["core/java/android/view/flags/*.aconfig"],
592}
593
594java_aconfig_library {
595    name: "android.view.flags-aconfig-java",
596    aconfig_declarations: "android.view.flags-aconfig",
597    defaults: ["framework-minus-apex-aconfig-java-defaults"],
598}
599
600cc_aconfig_library {
601    name: "aconfig_view_flags_c_lib",
602    aconfig_declarations: "android.view.flags-aconfig",
603}
604
605// View.accessibility
606aconfig_declarations {
607    name: "android.view.accessibility.flags-aconfig",
608    package: "android.view.accessibility",
609    container: "system",
610    srcs: ["core/java/android/view/accessibility/flags/*.aconfig"],
611}
612
613java_aconfig_library {
614    name: "android.view.accessibility.flags-aconfig-java",
615    aconfig_declarations: "android.view.accessibility.flags-aconfig",
616    defaults: ["framework-minus-apex-aconfig-java-defaults"],
617}
618
619cc_aconfig_library {
620    name: "aconfig_view_accessibility_flags_c_lib",
621    aconfig_declarations: "android.view.accessibility.flags-aconfig",
622}
623
624// Hardware
625aconfig_declarations {
626    name: "android.hardware.flags-aconfig",
627    exportable: true,
628    package: "android.hardware.flags",
629    container: "system",
630    srcs: ["core/java/android/hardware/flags/*.aconfig"],
631}
632
633java_aconfig_library {
634    name: "android.hardware.flags-aconfig-java",
635    aconfig_declarations: "android.hardware.flags-aconfig",
636    defaults: ["framework-minus-apex-aconfig-java-defaults"],
637}
638
639cc_aconfig_library {
640    name: "aconfig_hardware_flags_c_lib",
641    aconfig_declarations: "android.hardware.flags-aconfig",
642}
643
644// Widget
645aconfig_declarations {
646    name: "android.widget.flags-aconfig",
647    package: "android.widget.flags",
648    container: "system",
649    srcs: ["core/java/android/widget/flags/*.aconfig"],
650}
651
652java_aconfig_library {
653    name: "android.widget.flags-aconfig-java",
654    aconfig_declarations: "android.widget.flags-aconfig",
655    defaults: ["framework-minus-apex-aconfig-java-defaults"],
656}
657
658rust_aconfig_library {
659    name: "libandroid_security_flags_rust",
660    crate_name: "android_security_flags",
661    aconfig_declarations: "android.security.flags-aconfig",
662}
663
664// Package Manager
665aconfig_declarations {
666    name: "android.content.pm.flags-aconfig",
667    package: "android.content.pm",
668    container: "system",
669    exportable: true,
670    srcs: ["core/java/android/content/pm/flags.aconfig"],
671}
672
673java_aconfig_library {
674    name: "android.content.pm.flags-aconfig-java",
675    aconfig_declarations: "android.content.pm.flags-aconfig",
676    defaults: ["framework-minus-apex-aconfig-java-defaults"],
677}
678
679java_aconfig_library {
680    name: "android.content.pm.flags-aconfig-java-export",
681    aconfig_declarations: "android.content.pm.flags-aconfig",
682    defaults: ["framework-minus-apex-aconfig-java-defaults"],
683    mode: "exported",
684    min_sdk_version: "30",
685    apex_available: [
686        "//apex_available:platform",
687        "com.android.art",
688        "com.android.art.debug",
689        "com.android.permission",
690    ],
691}
692
693java_aconfig_library {
694    name: "android.content.pm.flags-aconfig-java-host",
695    aconfig_declarations: "android.content.pm.flags-aconfig",
696    host_supported: true,
697    defaults: ["framework-minus-apex-aconfig-java-defaults"],
698}
699
700// Resources
701aconfig_declarations {
702    name: "android.content.res.flags-aconfig",
703    package: "android.content.res",
704    container: "system",
705    srcs: ["core/java/android/content/res/*.aconfig"],
706}
707
708java_aconfig_library {
709    name: "android.content.res.flags-aconfig-java",
710    aconfig_declarations: "android.content.res.flags-aconfig",
711    defaults: ["framework-minus-apex-aconfig-java-defaults"],
712}
713
714java_aconfig_library {
715    name: "android.content.res.flags-aconfig-java-host",
716    aconfig_declarations: "android.content.res.flags-aconfig",
717    host_supported: true,
718    defaults: ["framework-minus-apex-aconfig-java-defaults"],
719}
720
721// Media BetterTogether
722aconfig_declarations {
723    name: "com.android.media.flags.bettertogether-aconfig",
724    package: "com.android.media.flags",
725    container: "system",
726    srcs: ["media/java/android/media/flags/media_better_together.aconfig"],
727}
728
729java_aconfig_library {
730    name: "com.android.media.flags.bettertogether-aconfig-java",
731    aconfig_declarations: "com.android.media.flags.bettertogether-aconfig",
732    defaults: ["framework-minus-apex-aconfig-java-defaults"],
733}
734
735java_aconfig_library {
736    name: "com.android.media.flags.bettertogether-aconfig-java-host",
737    aconfig_declarations: "com.android.media.flags.bettertogether-aconfig",
738    host_supported: true,
739    defaults: ["framework-minus-apex-aconfig-java-defaults"],
740}
741
742// Media Editing
743aconfig_declarations {
744    name: "com.android.media.flags.editing-aconfig",
745    exportable: true,
746    package: "com.android.media.editing.flags",
747    container: "system",
748    srcs: [
749        "media/java/android/media/flags/editing.aconfig",
750    ],
751}
752
753java_aconfig_library {
754    name: "com.android.media.flags.editing-aconfig-java",
755    aconfig_declarations: "com.android.media.flags.editing-aconfig",
756    defaults: ["framework-minus-apex-aconfig-java-defaults"],
757}
758
759cc_aconfig_library {
760    name: "com.android.media.flags.editing-aconfig-cc",
761    aconfig_declarations: "com.android.media.flags.editing-aconfig",
762}
763
764// MediaProjection
765aconfig_declarations {
766    name: "com.android.media.flags.projection-aconfig",
767    package: "com.android.media.projection.flags",
768    container: "system",
769    srcs: [
770        "media/java/android/media/flags/projection.aconfig",
771    ],
772}
773
774java_aconfig_library {
775    name: "com.android.media.flags.projection-aconfig-java",
776    aconfig_declarations: "com.android.media.flags.projection-aconfig",
777    defaults: ["framework-minus-apex-aconfig-java-defaults"],
778}
779
780// Media Performance
781aconfig_declarations {
782    name: "com.android.media.flags.performance-aconfig",
783    package: "com.android.media.performance.flags",
784    container: "system",
785    srcs: [
786        "media/java/android/media/flags/performance.aconfig",
787    ],
788}
789
790java_aconfig_library {
791    name: "com.android.media.flags.performance-aconfig-java",
792    aconfig_declarations: "com.android.media.flags.performance-aconfig",
793    defaults: ["framework-minus-apex-aconfig-java-defaults"],
794}
795
796// Media TV
797aconfig_declarations {
798    name: "android.media.tv.flags-aconfig",
799    exportable: true,
800    package: "android.media.tv.flags",
801    container: "system",
802    srcs: ["media/java/android/media/tv/flags/*.aconfig"],
803}
804
805java_aconfig_library {
806    name: "android.media.tv.flags-aconfig-java",
807    aconfig_declarations: "android.media.tv.flags-aconfig",
808    defaults: ["framework-minus-apex-aconfig-java-defaults"],
809}
810
811// Permissions
812aconfig_declarations {
813    name: "android.permission.flags-aconfig",
814    container: "system",
815    package: "android.permission.flags",
816    exportable: true,
817    srcs: ["core/java/android/permission/flags.aconfig"],
818}
819
820java_aconfig_library {
821    name: "android.permission.flags-aconfig-java-export",
822    aconfig_declarations: "android.permission.flags-aconfig",
823    defaults: ["framework-minus-apex-aconfig-java-defaults"],
824    mode: "exported",
825    min_sdk_version: "30",
826    apex_available: [
827        "//apex_available:platform",
828        "com.android.permission",
829        "com.android.nfcservices",
830    ],
831}
832
833java_aconfig_library {
834    name: "android.permission.flags-aconfig-java-host",
835    aconfig_declarations: "android.permission.flags-aconfig",
836    host_supported: true,
837    defaults: ["framework-minus-apex-aconfig-java-defaults"],
838    min_sdk_version: "30",
839}
840
841java_aconfig_library {
842    name: "android.permission.flags-aconfig-java",
843    aconfig_declarations: "android.permission.flags-aconfig",
844    defaults: ["framework-minus-apex-aconfig-java-defaults"],
845    min_sdk_version: "30",
846    apex_available: [
847        "//apex_available:platform",
848        "com.android.nfcservices",
849    ],
850}
851
852cc_aconfig_library {
853    name: "android.permission.flags-aconfig-cc",
854    aconfig_declarations: "android.permission.flags-aconfig",
855    host_supported: true,
856}
857
858// SQLite
859aconfig_declarations {
860    name: "android.database.sqlite-aconfig",
861    package: "android.database.sqlite",
862    container: "system",
863    srcs: ["core/java/android/database/sqlite/*.aconfig"],
864}
865
866java_aconfig_library {
867    name: "android.database.sqlite-aconfig-java",
868    aconfig_declarations: "android.database.sqlite-aconfig",
869    defaults: ["framework-minus-apex-aconfig-java-defaults"],
870}
871
872cc_aconfig_library {
873    name: "android.database.sqlite-aconfig-cc",
874    aconfig_declarations: "android.database.sqlite-aconfig",
875    host_supported: true,
876}
877
878// Biometrics
879aconfig_declarations {
880    name: "android.hardware.biometrics.flags-aconfig",
881    exportable: true,
882    package: "android.hardware.biometrics",
883    container: "system",
884    srcs: ["core/java/android/hardware/biometrics/flags.aconfig"],
885}
886
887java_aconfig_library {
888    name: "android.hardware.biometrics.flags-aconfig-java",
889    aconfig_declarations: "android.hardware.biometrics.flags-aconfig",
890    defaults: ["framework-minus-apex-aconfig-java-defaults"],
891}
892
893// Adaptive Performance
894java_aconfig_library {
895    name: "adpf_flags_java_lib",
896    aconfig_declarations: "adpf_flags",
897    defaults: ["framework-minus-apex-aconfig-java-defaults"],
898}
899
900// Graphics
901java_aconfig_library {
902    name: "hwui_flags_java_lib",
903    aconfig_declarations: "hwui_flags",
904    defaults: ["framework-minus-apex-aconfig-java-defaults"],
905}
906
907java_aconfig_library {
908    name: "framework_graphics_flags_java_lib",
909    aconfig_declarations: "framework_graphics_flags",
910    defaults: ["framework-minus-apex-aconfig-java-defaults"],
911}
912
913// Display
914java_aconfig_library {
915    name: "display_flags_lib",
916    aconfig_declarations: "display_flags",
917    defaults: ["framework-minus-apex-aconfig-java-defaults"],
918}
919
920cc_aconfig_library {
921    name: "android.server.display.flags-aconfig-cc",
922    aconfig_declarations: "display_flags",
923}
924
925java_aconfig_library {
926    name: "com.android.internal.foldables.flags-aconfig-java",
927    aconfig_declarations: "fold_lock_setting_flags",
928    defaults: ["framework-minus-apex-aconfig-java-defaults"],
929}
930
931// Platform Compat
932java_aconfig_library {
933    name: "com.android.internal.compat.flags-aconfig-java",
934    aconfig_declarations: "compat_logging_flags",
935    defaults: ["framework-minus-apex-aconfig-java-defaults"],
936}
937
938aconfig_declarations {
939    name: "android.service.compat.flags-aconfig",
940    package: "com.android.server.compat",
941    container: "system",
942    srcs: [
943        "services/core/java/com/android/server/compat/*.aconfig",
944    ],
945}
946
947java_aconfig_library {
948    name: "android.service.compat.flags-aconfig-java",
949    aconfig_declarations: "android.service.compat.flags-aconfig",
950    defaults: ["framework-minus-apex-aconfig-java-defaults"],
951}
952
953// Multi user
954aconfig_declarations {
955    name: "android.multiuser.flags-aconfig",
956    package: "android.multiuser",
957    container: "system",
958    srcs: ["core/java/android/content/pm/multiuser.aconfig"],
959}
960
961java_aconfig_library {
962    name: "android.multiuser.flags-aconfig-java",
963    aconfig_declarations: "android.multiuser.flags-aconfig",
964    defaults: ["framework-minus-apex-aconfig-java-defaults"],
965}
966
967// XR
968aconfig_declarations {
969    name: "android.xr.flags-aconfig",
970    package: "android.xr",
971    container: "system",
972    srcs: ["core/java/android/content/pm/xr.aconfig"],
973}
974
975java_aconfig_library {
976    name: "android.xr.flags-aconfig-java",
977    aconfig_declarations: "android.xr.flags-aconfig",
978    defaults: ["framework-minus-apex-aconfig-java-defaults"],
979}
980
981// android.app
982aconfig_declarations {
983    name: "android.app.flags-aconfig",
984    package: "android.app",
985    container: "system",
986    srcs: ["core/java/android/app/*.aconfig"],
987}
988
989java_aconfig_library {
990    name: "android.app.flags-aconfig-java",
991    aconfig_declarations: "android.app.flags-aconfig",
992    min_sdk_version: "34",
993    apex_available: [
994        "//apex_available:platform",
995        "com.android.nfcservices",
996    ],
997    defaults: ["framework-minus-apex-aconfig-java-defaults"],
998}
999
1000java_aconfig_library {
1001    name: "android.app.flags-aconfig-java-host",
1002    aconfig_declarations: "android.app.flags-aconfig",
1003    host_supported: true,
1004    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1005}
1006
1007// Broadcast Radio
1008aconfig_declarations {
1009    name: "android.hardware.radio.flags-aconfig",
1010    exportable: true,
1011    package: "android.hardware.radio",
1012    container: "system",
1013    srcs: ["core/java/android/hardware/radio/*.aconfig"],
1014}
1015
1016java_aconfig_library {
1017    name: "android.hardware.radio.flags-aconfig-java",
1018    aconfig_declarations: "android.hardware.radio.flags-aconfig",
1019    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1020}
1021
1022// Credential Manager
1023aconfig_declarations {
1024    name: "android.credentials.flags-aconfig",
1025    package: "android.credentials.flags",
1026    container: "system",
1027    srcs: ["core/java/android/credentials/flags.aconfig"],
1028    exportable: true,
1029}
1030
1031java_aconfig_library {
1032    name: "android.credentials.flags-aconfig-java",
1033    aconfig_declarations: "android.credentials.flags-aconfig",
1034    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1035}
1036
1037java_aconfig_library {
1038    name: "android.credentials.flags-aconfig-java-export",
1039    aconfig_declarations: "android.credentials.flags-aconfig",
1040    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1041    mode: "exported",
1042}
1043
1044// Content Protection
1045aconfig_declarations {
1046    name: "android.view.contentprotection.flags-aconfig",
1047    exportable: true,
1048    package: "android.view.contentprotection.flags",
1049    container: "system",
1050    srcs: ["core/java/android/view/contentprotection/flags/*.aconfig"],
1051}
1052
1053java_aconfig_library {
1054    name: "android.view.contentprotection.flags-aconfig-java",
1055    aconfig_declarations: "android.view.contentprotection.flags-aconfig",
1056    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1057}
1058
1059// Contextual Search system service
1060aconfig_declarations {
1061    name: "com.android.server.contextualsearch.flags-aconfig",
1062    package: "com.android.server.contextualsearch.flags",
1063    container: "system",
1064    srcs: ["services/contextualsearch/flags/flags.aconfig"],
1065}
1066
1067java_aconfig_library {
1068    name: "com.android.server.contextualsearch.flags-java",
1069    aconfig_declarations: "com.android.server.contextualsearch.flags-aconfig",
1070    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1071}
1072
1073// Server Services Flags
1074aconfig_declarations {
1075    name: "com.android.server.flags.services-aconfig",
1076    package: "com.android.server.flags",
1077    container: "system",
1078    srcs: ["services/core/java/com/android/server/flags/*.aconfig"],
1079}
1080
1081java_aconfig_library {
1082    name: "com.android.server.flags.services-aconfig-java",
1083    aconfig_declarations: "com.android.server.flags.services-aconfig",
1084    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1085}
1086
1087// App prediction
1088aconfig_declarations {
1089    name: "android.service.appprediction.flags-aconfig",
1090    exportable: true,
1091    package: "android.service.appprediction.flags",
1092    container: "system",
1093    srcs: ["core/java/android/service/appprediction/flags/*.aconfig"],
1094}
1095
1096java_aconfig_library {
1097    name: "android.service.appprediction.flags-aconfig-java",
1098    aconfig_declarations: "android.service.appprediction.flags-aconfig",
1099    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1100}
1101
1102// Controls
1103aconfig_declarations {
1104    name: "android.service.controls.flags-aconfig",
1105    exportable: true,
1106    package: "android.service.controls.flags",
1107    container: "system",
1108    srcs: ["core/java/android/service/controls/flags/*.aconfig"],
1109}
1110
1111java_aconfig_library {
1112    name: "android.service.controls.flags-aconfig-java",
1113    aconfig_declarations: "android.service.controls.flags-aconfig",
1114    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1115}
1116
1117// Voice
1118aconfig_declarations {
1119    name: "android.service.voice.flags-aconfig",
1120    exportable: true,
1121    package: "android.service.voice.flags",
1122    container: "system",
1123    srcs: ["core/java/android/service/voice/flags/*.aconfig"],
1124}
1125
1126java_aconfig_library {
1127    name: "android.service.voice.flags-aconfig-java",
1128    aconfig_declarations: "android.service.voice.flags-aconfig",
1129    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1130}
1131
1132// Autofill
1133aconfig_declarations {
1134    name: "android.service.autofill.flags-aconfig",
1135    package: "android.service.autofill",
1136    container: "system",
1137    srcs: [
1138        "services/autofill/bugfixes.aconfig",
1139        "services/autofill/features.aconfig",
1140    ],
1141}
1142
1143java_aconfig_library {
1144    name: "android.service.autofill.flags-aconfig-java",
1145    aconfig_declarations: "android.service.autofill.flags-aconfig",
1146    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1147}
1148
1149// Companion
1150aconfig_declarations {
1151    name: "android.companion.flags-aconfig",
1152    exportable: true,
1153    package: "android.companion",
1154    container: "system",
1155    srcs: ["core/java/android/companion/*.aconfig"],
1156}
1157
1158java_aconfig_library {
1159    name: "android.companion.flags-aconfig-java",
1160    aconfig_declarations: "android.companion.flags-aconfig",
1161    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1162}
1163
1164// Networking
1165aconfig_declarations {
1166    name: "android.net.platform.flags-aconfig",
1167    exportable: true,
1168    package: "android.net.platform.flags",
1169    container: "system",
1170    srcs: ["core/java/android/net/flags.aconfig"],
1171    visibility: [":__subpackages__"],
1172}
1173
1174// Thread network
1175aconfig_declarations {
1176    name: "com.android.net.thread.platform.flags-aconfig",
1177    exportable: true,
1178    package: "com.android.net.thread.platform.flags",
1179    container: "system",
1180    srcs: ["core/java/android/net/thread/flags.aconfig"],
1181}
1182
1183java_aconfig_library {
1184    name: "android.net.platform.flags-aconfig-java",
1185    aconfig_declarations: "android.net.platform.flags-aconfig",
1186    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1187    visibility: [":__subpackages__"],
1188}
1189
1190java_aconfig_library {
1191    name: "com.android.net.thread.platform.flags-aconfig-java",
1192    aconfig_declarations: "com.android.net.thread.platform.flags-aconfig",
1193    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1194}
1195
1196// Media
1197aconfig_declarations {
1198    name: "android.media.playback.flags-aconfig",
1199    package: "com.android.media.playback.flags",
1200    container: "system",
1201    srcs: ["media/jni/playback_flags.aconfig"],
1202}
1203
1204cc_aconfig_library {
1205    name: "android.media.playback.flags-aconfig-cc",
1206    aconfig_declarations: "android.media.playback.flags-aconfig",
1207}
1208
1209java_aconfig_library {
1210    name: "android.media.playback.flags-aconfig-java",
1211    aconfig_declarations: "android.media.playback.flags-aconfig",
1212    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1213}
1214
1215// DevicePolicy
1216aconfig_declarations {
1217    name: "device_policy_aconfig_flags",
1218    package: "android.app.admin.flags",
1219    container: "system",
1220    srcs: [
1221        "core/java/android/app/admin/flags/flags.aconfig",
1222    ],
1223}
1224
1225java_aconfig_library {
1226    name: "device_policy_aconfig_flags_lib",
1227    aconfig_declarations: "device_policy_aconfig_flags",
1228    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1229}
1230
1231java_aconfig_library {
1232    name: "device_policy_aconfig_flags_java_export",
1233    aconfig_declarations: "device_policy_aconfig_flags",
1234    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1235    min_sdk_version: "30",
1236    apex_available: [
1237        "//apex_available:platform",
1238        "com.android.permission",
1239    ],
1240}
1241
1242java_aconfig_library {
1243    name: "device_policy_aconfig_flags_lib_host",
1244    aconfig_declarations: "device_policy_aconfig_flags",
1245    host_supported: true,
1246    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1247}
1248
1249cc_aconfig_library {
1250    name: "device_policy_aconfig_flags_c_lib",
1251    aconfig_declarations: "device_policy_aconfig_flags",
1252}
1253
1254// Chooser / "Sharesheet"
1255aconfig_declarations {
1256    name: "android.service.chooser.flags-aconfig",
1257    exportable: true,
1258    package: "android.service.chooser",
1259    container: "system",
1260    srcs: ["core/java/android/service/chooser/flags.aconfig"],
1261}
1262
1263java_aconfig_library {
1264    name: "android.service.chooser.flags-aconfig-java",
1265    aconfig_declarations: "android.service.chooser.flags-aconfig",
1266    min_sdk_version: "34",
1267    apex_available: [
1268        "//apex_available:platform",
1269        "com.android.nfcservices",
1270    ],
1271    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1272}
1273
1274// JobScheduler
1275aconfig_declarations {
1276    name: "framework-jobscheduler-job.flags-aconfig",
1277    package: "android.app.job",
1278    container: "system",
1279    exportable: true,
1280    srcs: ["apex/jobscheduler/framework/aconfig/job.aconfig"],
1281}
1282
1283java_aconfig_library {
1284    name: "framework-jobscheduler-job.flags-aconfig-java",
1285    aconfig_declarations: "framework-jobscheduler-job.flags-aconfig",
1286    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1287}
1288
1289// Dreams
1290aconfig_declarations {
1291    name: "android.service.dreams.flags-aconfig",
1292    package: "android.service.dreams",
1293    container: "system",
1294    srcs: ["core/java/android/service/dreams/flags.aconfig"],
1295}
1296
1297java_aconfig_library {
1298    name: "android.service.dreams.flags-aconfig-java",
1299    aconfig_declarations: "android.service.dreams.flags-aconfig",
1300    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1301}
1302
1303// Notifications
1304aconfig_declarations {
1305    name: "android.service.notification.flags-aconfig",
1306    package: "android.service.notification",
1307    exportable: true,
1308    container: "system",
1309    srcs: ["core/java/android/service/notification/flags.aconfig"],
1310}
1311
1312java_aconfig_library {
1313    name: "android.service.notification.flags-aconfig-java",
1314    aconfig_declarations: "android.service.notification.flags-aconfig",
1315    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1316}
1317
1318java_aconfig_library {
1319    name: "android.service.notification.flags-aconfig-export-java",
1320    aconfig_declarations: "android.service.notification.flags-aconfig",
1321    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1322    mode: "exported",
1323    min_sdk_version: "30",
1324    apex_available: [
1325        "//apex_available:platform",
1326        "com.android.extservices",
1327    ],
1328}
1329
1330// Contextual Search
1331aconfig_declarations {
1332    name: "android.app.contextualsearch.flags-aconfig",
1333    package: "android.app.contextualsearch.flags",
1334    container: "system",
1335    srcs: ["core/java/android/app/contextualsearch/flags.aconfig"],
1336}
1337
1338java_aconfig_library {
1339    name: "android.app.contextualsearch.flags-aconfig-java",
1340    aconfig_declarations: "android.app.contextualsearch.flags-aconfig",
1341    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1342}
1343
1344// Assist
1345aconfig_declarations {
1346    name: "android.app.assist.flags-aconfig",
1347    package: "android.app.assist.flags",
1348    container: "system",
1349    srcs: ["core/java/android/app/assist/flags.aconfig"],
1350}
1351
1352java_aconfig_library {
1353    name: "android.app.assist.flags-aconfig-java",
1354    aconfig_declarations: "android.app.assist.flags-aconfig",
1355    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1356}
1357
1358// Smartspace
1359aconfig_declarations {
1360    name: "android.app.smartspace.flags-aconfig",
1361    exportable: true,
1362    package: "android.app.smartspace.flags",
1363    container: "system",
1364    srcs: ["core/java/android/app/smartspace/flags.aconfig"],
1365}
1366
1367java_aconfig_library {
1368    name: "android.app.smartspace.flags-aconfig-java",
1369    aconfig_declarations: "android.app.smartspace.flags-aconfig",
1370    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1371}
1372
1373// Supervision
1374aconfig_declarations {
1375    name: "android.app.supervision.flags-aconfig",
1376    exportable: true,
1377    package: "android.app.supervision.flags",
1378    container: "system",
1379    srcs: ["core/java/android/app/supervision/flags.aconfig"],
1380}
1381
1382java_aconfig_library {
1383    name: "android.app.supervision.flags-aconfig-java",
1384    aconfig_declarations: "android.app.supervision.flags-aconfig",
1385    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1386}
1387
1388// SurfaceFlinger
1389java_aconfig_library {
1390    name: "surfaceflinger_flags_java_lib",
1391    aconfig_declarations: "surfaceflinger_flags",
1392    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1393}
1394
1395java_aconfig_library {
1396    name: "libgui_flags_java_lib",
1397    aconfig_declarations: "libgui_flags",
1398    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1399}
1400
1401// Content Capture
1402aconfig_declarations {
1403    name: "android.view.contentcapture.flags-aconfig",
1404    package: "android.view.contentcapture.flags",
1405    container: "system",
1406    srcs: ["core/java/android/view/contentcapture/flags/*.aconfig"],
1407}
1408
1409java_aconfig_library {
1410    name: "android.view.contentcapture.flags-aconfig-java",
1411    aconfig_declarations: "android.view.contentcapture.flags-aconfig",
1412    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1413}
1414
1415// USB
1416aconfig_declarations {
1417    name: "android.hardware.usb.flags-aconfig",
1418    exportable: true,
1419    package: "android.hardware.usb.flags",
1420    container: "system",
1421    srcs: ["core/java/android/hardware/usb/flags/*.aconfig"],
1422}
1423
1424java_aconfig_library {
1425    name: "android.hardware.usb.flags-aconfig-java",
1426    aconfig_declarations: "android.hardware.usb.flags-aconfig",
1427    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1428}
1429
1430java_aconfig_library {
1431    name: "android.hardware.usb.flags-aconfig-java-host",
1432    aconfig_declarations: "android.hardware.usb.flags-aconfig",
1433    host_supported: true,
1434    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1435}
1436
1437// WindowingTools
1438aconfig_declarations {
1439    name: "android.tracing.flags-aconfig",
1440    package: "android.tracing",
1441    container: "system",
1442    srcs: ["core/java/android/tracing/flags.aconfig"],
1443}
1444
1445java_aconfig_library {
1446    name: "android.tracing.flags-aconfig-java",
1447    aconfig_declarations: "android.tracing.flags-aconfig",
1448    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1449}
1450
1451cc_aconfig_library {
1452    name: "android.tracing.flags_c_lib",
1453    aconfig_declarations: "android.tracing.flags-aconfig",
1454}
1455
1456// App Widgets
1457aconfig_declarations {
1458    name: "android.appwidget.flags-aconfig",
1459    package: "android.appwidget.flags",
1460    container: "system",
1461    srcs: ["core/java/android/appwidget/flags.aconfig"],
1462}
1463
1464java_aconfig_library {
1465    name: "android.appwidget.flags-aconfig-java",
1466    aconfig_declarations: "android.appwidget.flags-aconfig",
1467    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1468}
1469
1470java_aconfig_library {
1471    name: "android.appwidget.flags-aconfig-java-host",
1472    aconfig_declarations: "android.appwidget.flags-aconfig",
1473    host_supported: true,
1474    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1475}
1476
1477// App
1478aconfig_declarations {
1479    name: "android.server.app.flags-aconfig",
1480    package: "android.server.app",
1481    container: "system",
1482    srcs: ["services/core/java/com/android/server/app/flags.aconfig"],
1483}
1484
1485java_aconfig_library {
1486    name: "android.server.app.flags-aconfig-java",
1487    aconfig_declarations: "android.server.app.flags-aconfig",
1488    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1489}
1490
1491// WebView
1492aconfig_declarations {
1493    name: "android.webkit.flags-aconfig",
1494    package: "android.webkit",
1495    container: "system",
1496    srcs: [
1497        "core/java/android/webkit/*.aconfig",
1498        "services/core/java/com/android/server/webkit/*.aconfig",
1499    ],
1500}
1501
1502java_aconfig_library {
1503    name: "android.webkit.flags-aconfig-java",
1504    aconfig_declarations: "android.webkit.flags-aconfig",
1505    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1506}
1507
1508// Provider
1509aconfig_declarations {
1510    name: "android.provider.flags-aconfig",
1511    exportable: true,
1512    package: "android.provider",
1513    container: "system",
1514    srcs: ["core/java/android/provider/*.aconfig"],
1515}
1516
1517java_aconfig_library {
1518    name: "android.provider.flags-aconfig-java",
1519    aconfig_declarations: "android.provider.flags-aconfig",
1520    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1521}
1522
1523// ContextHub
1524java_aconfig_library {
1525    name: "android.chre.flags-aconfig-java",
1526    aconfig_declarations: "chre_flags",
1527    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1528}
1529
1530// Speech
1531aconfig_declarations {
1532    name: "android.speech.flags-aconfig",
1533    exportable: true,
1534    package: "android.speech.flags",
1535    container: "system",
1536    srcs: ["core/java/android/speech/flags/*.aconfig"],
1537}
1538
1539java_aconfig_library {
1540    name: "android.speech.flags-aconfig-java",
1541    aconfig_declarations: "android.speech.flags-aconfig",
1542    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1543}
1544
1545// Power
1546java_aconfig_library {
1547    name: "power_flags_lib",
1548    aconfig_declarations: "power_flags",
1549    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1550}
1551
1552// Content
1553aconfig_declarations {
1554    name: "android.content.flags-aconfig",
1555    exportable: true,
1556    package: "android.content.flags",
1557    container: "system",
1558    srcs: ["core/java/android/content/flags/flags.aconfig"],
1559}
1560
1561java_aconfig_library {
1562    name: "android.content.flags-aconfig-java",
1563    aconfig_declarations: "android.content.flags-aconfig",
1564    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1565}
1566
1567// AppFunctions
1568aconfig_declarations {
1569    name: "android.app.appfunctions.flags-aconfig",
1570    exportable: true,
1571    package: "android.app.appfunctions.flags",
1572    container: "system",
1573    srcs: ["core/java/android/app/appfunctions/flags/flags.aconfig"],
1574}
1575
1576java_aconfig_library {
1577    name: "android.app.appfunctions.flags-aconfig-java",
1578    aconfig_declarations: "android.app.appfunctions.flags-aconfig",
1579    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1580}
1581
1582java_aconfig_library {
1583    name: "android.app.appfunctions.exported-flags-aconfig-java",
1584    aconfig_declarations: "android.app.appfunctions.flags-aconfig",
1585    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1586    mode: "exported",
1587    apex_available: [
1588        "//apex_available:platform",
1589        "com.android.permission",
1590    ],
1591    min_sdk_version: "30",
1592}
1593
1594// Adaptive Auth
1595aconfig_declarations {
1596    name: "android.adaptiveauth.flags-aconfig",
1597    package: "android.adaptiveauth",
1598    container: "system",
1599    srcs: ["core/java/android/adaptiveauth/*.aconfig"],
1600}
1601
1602java_aconfig_library {
1603    name: "android.adaptiveauth.flags-aconfig-java",
1604    aconfig_declarations: "android.adaptiveauth.flags-aconfig",
1605    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1606}
1607
1608// CrashRecovery Module
1609aconfig_declarations {
1610    name: "android.crashrecovery.flags-aconfig",
1611    exportable: true,
1612    package: "android.crashrecovery.flags",
1613    container: "system",
1614    srcs: ["packages/CrashRecovery/aconfig/flags.aconfig"],
1615}
1616
1617java_aconfig_library {
1618    name: "android.crashrecovery.flags-aconfig-java",
1619    aconfig_declarations: "android.crashrecovery.flags-aconfig",
1620    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1621    min_sdk_version: "35",
1622    apex_available: [
1623        "//apex_available:platform",
1624        "com.android.crashrecovery",
1625    ],
1626}
1627
1628java_aconfig_library {
1629    name: "android.crashrecovery.flags-aconfig-java-host",
1630    aconfig_declarations: "android.crashrecovery.flags-aconfig",
1631    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1632    host_supported: true,
1633}
1634
1635// Backup
1636java_aconfig_library {
1637    name: "backup_flags_lib",
1638    aconfig_declarations: "backup_flags",
1639    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1640}
1641
1642// Wifi
1643aconfig_declarations {
1644    name: "android.net.wifi.flags-aconfig",
1645    package: "android.net.wifi.flags",
1646    container: "system",
1647    srcs: ["wifi/*.aconfig"],
1648}
1649
1650java_aconfig_library {
1651    name: "android.net.wifi.flags-aconfig-java",
1652    aconfig_declarations: "android.net.wifi.flags-aconfig",
1653    min_sdk_version: "30",
1654    apex_available: [
1655        "//apex_available:platform",
1656        "com.android.wifi",
1657    ],
1658    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1659}
1660
1661// Wearable Sensing
1662aconfig_declarations {
1663    name: "android.app.wearable.flags-aconfig",
1664    exportable: true,
1665    package: "android.app.wearable",
1666    container: "system",
1667    srcs: ["core/java/android/app/wearable/*.aconfig"],
1668}
1669
1670java_aconfig_library {
1671    name: "android.app.wearable.flags-aconfig-java",
1672    aconfig_declarations: "android.app.wearable.flags-aconfig",
1673    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1674}
1675
1676aconfig_declarations {
1677    name: "com.android.internal.pm.pkg.component.flags-aconfig",
1678    package: "com.android.internal.pm.pkg.component.flags",
1679    container: "system",
1680    srcs: ["core/java/com/android/internal/pm/pkg/component/flags/flags.aconfig"],
1681}
1682
1683java_aconfig_library {
1684    name: "com.android.internal.pm.pkg.component.flags-aconfig-java",
1685    aconfig_declarations: "com.android.internal.pm.pkg.component.flags-aconfig",
1686    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1687}
1688
1689java_aconfig_library {
1690    name: "com.android.internal.pm.pkg.component.flags-aconfig-java-host",
1691    aconfig_declarations: "com.android.internal.pm.pkg.component.flags-aconfig",
1692    host_supported: true,
1693    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1694}
1695
1696// System Server
1697aconfig_declarations {
1698    name: "android.systemserver.flags-aconfig",
1699    package: "android.server",
1700    container: "system",
1701    srcs: ["services/java/com/android/server/flags.aconfig"],
1702}
1703
1704java_aconfig_library {
1705    name: "android.systemserver.flags-aconfig-java",
1706    aconfig_declarations: "android.systemserver.flags-aconfig",
1707    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1708}
1709
1710// backstage power
1711aconfig_declarations {
1712    name: "backstage_power_flags",
1713    package: "com.android.server.power.optimization",
1714    container: "system",
1715    exportable: true,
1716    srcs: [
1717        "services/core/java/com/android/server/power/stats/flags.aconfig",
1718    ],
1719}
1720
1721java_aconfig_library {
1722    name: "backstage_power_flags_lib",
1723    aconfig_declarations: "backstage_power_flags",
1724    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1725}
1726
1727java_aconfig_library {
1728    name: "backstage_power_flags_lib-host",
1729    aconfig_declarations: "backstage_power_flags",
1730    host_supported: true,
1731    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1732}
1733
1734// Dropbox data
1735aconfig_declarations {
1736    name: "dropbox_flags",
1737    package: "com.android.server.feature.flags",
1738    container: "system",
1739    srcs: [
1740        "services/core/java/com/android/server/feature/dropbox_flags.aconfig",
1741    ],
1742}
1743
1744java_aconfig_library {
1745    name: "dropbox_flags_lib",
1746    aconfig_declarations: "dropbox_flags",
1747    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1748}
1749
1750// Zero Jank
1751aconfig_declarations {
1752    name: "interaction_jank_monitor_flags",
1753    package: "com.android.internal.jank",
1754    container: "system",
1755    srcs: ["core/java/com/android/internal/jank/flags.aconfig"],
1756}
1757
1758java_aconfig_library {
1759    name: "interaction_jank_monitor_flags_lib",
1760    aconfig_declarations: "interaction_jank_monitor_flags",
1761    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1762}
1763
1764// App Jank
1765aconfig_declarations {
1766    name: "android.app.jank.flags-aconfig",
1767    package: "android.app.jank",
1768    container: "system",
1769    srcs: ["core/java/android/app/jank/flags.aconfig"],
1770}
1771
1772java_aconfig_library {
1773    name: "android.app.jank.flags-aconfig-java",
1774    aconfig_declarations: "android.app.jank.flags-aconfig",
1775    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1776}
1777
1778// Trade in mode
1779aconfig_declarations {
1780    name: "aconfig_trade_in_mode_flags",
1781    package: "com.android.tradeinmode.flags",
1782    container: "system",
1783    srcs: [
1784        "core/java/android/os/image/flags/trade_in_mode_flags.aconfig",
1785    ],
1786}
1787
1788java_aconfig_library {
1789    name: "aconfig_trade_in_mode_flags_java_lib",
1790    aconfig_declarations: "aconfig_trade_in_mode_flags",
1791    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1792}
1793
1794cc_aconfig_library {
1795    name: "android_trade_in_mode_flags_cc_lib",
1796    aconfig_declarations: "aconfig_trade_in_mode_flags",
1797    apex_available: [
1798        "//apex_available:platform",
1799        "com.android.adbd",
1800    ],
1801    min_sdk_version: "apex_inherit",
1802}
1803
1804// Settings Lib
1805aconfig_declarations {
1806    name: "aconfig_settingslib_flags",
1807    package: "com.android.settingslib.flags",
1808    container: "system",
1809    srcs: [
1810        "packages/SettingsLib/aconfig/settingslib.aconfig",
1811    ],
1812}
1813
1814java_aconfig_library {
1815    name: "aconfig_settingslib_flags_java_lib",
1816    aconfig_declarations: "aconfig_settingslib_flags",
1817    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1818}
1819
1820// Quick Access Wallet
1821aconfig_declarations {
1822    name: "android.service.quickaccesswallet.flags-aconfig",
1823    package: "android.service.quickaccesswallet",
1824    exportable: true,
1825    container: "system",
1826    srcs: ["core/java/android/service/quickaccesswallet/flags.aconfig"],
1827}
1828
1829java_aconfig_library {
1830    name: "android.service.quickaccesswallet.flags-aconfig-java",
1831    aconfig_declarations: "android.service.quickaccesswallet.flags-aconfig",
1832    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1833}
1834