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        "audio-framework-aconfig",
19    ],
20    java_aconfig_libraries: [
21        // !!! KEEP THIS LIST ALPHABETICAL !!!
22        "aconfig_mediacodec_flags_java_lib",
23        "android.adaptiveauth.flags-aconfig-java",
24        "android.app.contextualsearch.flags-aconfig-java",
25        "android.app.flags-aconfig-java",
26        "android.app.ondeviceintelligence-aconfig-java",
27        "android.app.smartspace.flags-aconfig-java",
28        "android.app.usage.flags-aconfig-java",
29        "android.app.wearable.flags-aconfig-java",
30        "android.appwidget.flags-aconfig-java",
31        "android.chre.flags-aconfig-java",
32        "android.companion.flags-aconfig-java",
33        "android.companion.virtual.flags-aconfig-java",
34        "android.companion.virtualdevice.flags-aconfig-java",
35        "android.content.flags-aconfig-java",
36        "android.content.pm.flags-aconfig-java",
37        "android.content.res.flags-aconfig-java",
38        "android.crashrecovery.flags-aconfig-java",
39        "android.credentials.flags-aconfig-java",
40        "android.database.sqlite-aconfig-java",
41        "android.hardware.biometrics.flags-aconfig-java",
42        "android.hardware.devicestate.feature.flags-aconfig-java",
43        "android.hardware.flags-aconfig-java",
44        "android.hardware.radio.flags-aconfig-java",
45        "android.hardware.usb.flags-aconfig-java",
46        "android.location.flags-aconfig-java",
47        "android.media.codec-aconfig-java",
48        "android.media.tv.flags-aconfig-java",
49        "android.multiuser.flags-aconfig-java",
50        "android.net.platform.flags-aconfig-java",
51        "android.net.vcn.flags-aconfig-java",
52        "android.net.wifi.flags-aconfig-java",
53        "android.nfc.flags-aconfig-java",
54        "android.os.flags-aconfig-java",
55        "android.os.vibrator.flags-aconfig-java",
56        "android.permission.flags-aconfig-java",
57        "android.provider.flags-aconfig-java",
58        "android.security.flags-aconfig-java",
59        "android.server.app.flags-aconfig-java",
60        "android.service.autofill.flags-aconfig-java",
61        "android.service.chooser.flags-aconfig-java",
62        "android.service.controls.flags-aconfig-java",
63        "android.service.dreams.flags-aconfig-java",
64        "android.service.notification.flags-aconfig-java",
65        "android.service.appprediction.flags-aconfig-java",
66        "android.service.voice.flags-aconfig-java",
67        "android.speech.flags-aconfig-java",
68        "android.systemserver.flags-aconfig-java",
69        "android.tracing.flags-aconfig-java",
70        "android.view.accessibility.flags-aconfig-java",
71        "android.view.contentcapture.flags-aconfig-java",
72        "android.view.contentprotection.flags-aconfig-java",
73        "android.view.flags-aconfig-java",
74        "android.view.inputmethod.flags-aconfig-java",
75        "android.webkit.flags-aconfig-java",
76        "android.widget.flags-aconfig-java",
77        "backstage_power_flags_lib",
78        "backup_flags_lib",
79        "camera_platform_flags_core_java_lib",
80        "com.android.hardware.input-aconfig-java",
81        "com.android.input.flags-aconfig-java",
82        "com.android.internal.compat.flags-aconfig-java",
83        "com.android.internal.foldables.flags-aconfig-java",
84        "com.android.internal.os.flags-aconfig-java",
85        "com.android.internal.pm.pkg.component.flags-aconfig-java",
86        "com.android.media.flags.bettertogether-aconfig-java",
87        "com.android.media.flags.editing-aconfig-java",
88        "com.android.media.flags.performance-aconfig-java",
89        "com.android.media.flags.projection-aconfig-java",
90        "com.android.net.thread.platform.flags-aconfig-java",
91        "com.android.server.contextualsearch.flags-java",
92        "com.android.server.flags.services-aconfig-java",
93        "com.android.text.flags-aconfig-java",
94        "com.android.window.flags.window-aconfig-java",
95        "device_policy_aconfig_flags_lib",
96        "display_flags_lib",
97        "dropbox_flags_lib",
98        "framework-jobscheduler-job.flags-aconfig-java",
99        "framework_graphics_flags_java_lib",
100        "hwui_flags_java_lib",
101        "power_flags_lib",
102        "sdk_sandbox_flags_lib",
103        "surfaceflinger_flags_java_lib",
104        "telecom_flags_core_java_lib",
105        "telephony_flags_core_java_lib",
106        // !!! KEEP THIS LIST ALPHABETICAL !!!
107    ],
108}
109
110filegroup {
111    name: "framework-minus-apex-aconfig-srcjars",
112    srcs: [
113        ":framework-minus-apex-aconfig-declarations{.srcjars}",
114    ],
115}
116
117// Aconfig declarations and libraries for the core framework
118java_defaults {
119    name: "framework-minus-apex-aconfig-libraries",
120    // Add java_aconfig_libraries to here to add them to the core framework
121    // Add aconfig-annotations-lib as a dependency for the optimization
122    srcs: [
123        ":framework-minus-apex-aconfig-declarations{.srcjars}",
124    ],
125    libs: ["aconfig-annotations-lib"],
126}
127
128// Default flags for java_aconfig_libraries that go into framework-minus-apex
129// These libraries will not work standalone
130java_defaults {
131    name: "framework-minus-apex-aconfig-java-defaults",
132    sdk_version: "core_platform",
133    libs: ["fake_device_config"],
134}
135
136// Camera
137java_aconfig_library {
138    name: "camera_platform_flags_core_java_lib",
139    aconfig_declarations: "camera_platform_flags",
140    defaults: ["framework-minus-apex-aconfig-java-defaults"],
141}
142
143// Telecom
144java_aconfig_library {
145    name: "telecom_flags_core_java_lib",
146    aconfig_declarations: "telecom_flags",
147    defaults: ["framework-minus-apex-aconfig-java-defaults"],
148}
149
150// Telephony
151java_aconfig_library {
152    name: "telephony_flags_core_java_lib",
153    aconfig_declarations: "telephony_flags",
154    defaults: ["framework-minus-apex-aconfig-java-defaults"],
155}
156
157cc_aconfig_library {
158    name: "telephony_flags_c_lib",
159    aconfig_declarations: "telephony_flags",
160}
161
162// Window
163aconfig_declarations {
164    name: "com.android.window.flags.window-aconfig",
165    package: "com.android.window.flags",
166    container: "system",
167    srcs: ["core/java/android/window/flags/*.aconfig"],
168}
169
170java_aconfig_library {
171    name: "com.android.window.flags.window-aconfig-java",
172    aconfig_declarations: "com.android.window.flags.window-aconfig",
173    defaults: ["framework-minus-apex-aconfig-java-defaults"],
174}
175
176cc_aconfig_library {
177    name: "com.android.window.flags.window-aconfig_flags_c_lib",
178    aconfig_declarations: "com.android.window.flags.window-aconfig",
179}
180
181// DeviceStateManager
182aconfig_declarations {
183    name: "android.hardware.devicestate.feature.flags-aconfig",
184    exportable: true,
185    package: "android.hardware.devicestate.feature.flags",
186    container: "system",
187    srcs: ["core/java/android/hardware/devicestate/feature/*.aconfig"],
188}
189
190java_aconfig_library {
191    name: "android.hardware.devicestate.feature.flags-aconfig-java",
192    aconfig_declarations: "android.hardware.devicestate.feature.flags-aconfig",
193    defaults: ["framework-minus-apex-aconfig-java-defaults"],
194}
195
196// Input
197aconfig_declarations {
198    name: "com.android.hardware.input.input-aconfig",
199    exportable: true,
200    package: "com.android.hardware.input",
201    container: "system",
202    srcs: ["core/java/android/hardware/input/*.aconfig"],
203}
204
205java_aconfig_library {
206    name: "com.android.hardware.input-aconfig-java",
207    aconfig_declarations: "com.android.hardware.input.input-aconfig",
208    defaults: ["framework-minus-apex-aconfig-java-defaults"],
209}
210
211java_aconfig_library {
212    name: "com.android.input.flags-aconfig-java",
213    aconfig_declarations: "com.android.input.flags-aconfig",
214    defaults: ["framework-minus-apex-aconfig-java-defaults"],
215}
216
217// Text
218aconfig_declarations {
219    name: "com.android.text.flags-aconfig",
220    package: "com.android.text.flags",
221    container: "system",
222    srcs: ["core/java/android/text/flags/*.aconfig"],
223}
224
225java_aconfig_library {
226    name: "com.android.text.flags-aconfig-java",
227    aconfig_declarations: "com.android.text.flags-aconfig",
228    defaults: ["framework-minus-apex-aconfig-java-defaults"],
229}
230
231cc_aconfig_library {
232    name: "aconfig_text_flags_c_lib",
233    aconfig_declarations: "com.android.text.flags-aconfig",
234}
235
236// Location
237aconfig_declarations {
238    name: "android.location.flags-aconfig",
239    package: "android.location.flags",
240    container: "system",
241    srcs: [
242        "location/java/android/location/flags/*.aconfig",
243    ],
244}
245
246cc_aconfig_library {
247    name: "android_location_flags_c_lib",
248    vendor_available: true,
249    aconfig_declarations: "android.location.flags-aconfig",
250}
251
252java_aconfig_library {
253    name: "android.location.flags-aconfig-java",
254    aconfig_declarations: "android.location.flags-aconfig",
255    defaults: ["framework-minus-apex-aconfig-java-defaults"],
256}
257
258// NFC
259aconfig_declarations {
260    name: "android.nfc.flags-aconfig",
261    package: "android.nfc",
262    container: "system",
263    srcs: ["nfc/java/android/nfc/*.aconfig"],
264}
265
266cc_aconfig_library {
267    name: "android_nfc_flags_aconfig_c_lib",
268    vendor_available: true,
269    aconfig_declarations: "android.nfc.flags-aconfig",
270    apex_available: [
271        "//apex_available:platform",
272        "com.android.nfcservices",
273        "nfc_nci.st21nfc.default",
274    ],
275    defaults: ["framework-minus-apex-aconfig-java-defaults"],
276}
277
278java_aconfig_library {
279    name: "android.nfc.flags-aconfig-java",
280    aconfig_declarations: "android.nfc.flags-aconfig",
281    min_sdk_version: "34",
282    apex_available: [
283        "//apex_available:platform",
284        "com.android.nfcservices",
285    ],
286    defaults: ["framework-minus-apex-aconfig-java-defaults"],
287}
288
289// Security
290aconfig_declarations {
291    name: "android.security.flags-aconfig",
292    package: "android.security",
293    container: "system",
294    srcs: ["core/java/android/security/*.aconfig"],
295}
296
297java_aconfig_library {
298    name: "android.security.flags-aconfig-java",
299    aconfig_declarations: "android.security.flags-aconfig",
300    defaults: ["framework-minus-apex-aconfig-java-defaults"],
301}
302
303java_aconfig_library {
304    name: "android.security.flags-aconfig-java-host",
305    aconfig_declarations: "android.security.flags-aconfig",
306    host_supported: true,
307    defaults: ["framework-minus-apex-aconfig-java-defaults"],
308}
309
310cc_aconfig_library {
311    name: "android_security_flags_aconfig_c_lib",
312    aconfig_declarations: "android.security.flags-aconfig",
313}
314
315// UsageStats
316aconfig_declarations {
317    name: "android.app.usage.flags-aconfig",
318    package: "android.app.usage",
319    container: "system",
320    srcs: ["core/java/android/app/usage/*.aconfig"],
321}
322
323java_aconfig_library {
324    name: "android.app.usage.flags-aconfig-java",
325    aconfig_declarations: "android.app.usage.flags-aconfig",
326    defaults: ["framework-minus-apex-aconfig-java-defaults"],
327}
328
329java_aconfig_library {
330    name: "android.app.usage.flags-aconfig-java-host",
331    aconfig_declarations: "android.app.usage.flags-aconfig",
332    host_supported: true,
333    defaults: ["framework-minus-apex-aconfig-java-defaults"],
334}
335
336// OS
337aconfig_declarations {
338    name: "android.os.flags-aconfig",
339    package: "android.os",
340    exportable: true,
341    container: "system",
342    srcs: ["core/java/android/os/*.aconfig"],
343}
344
345java_aconfig_library {
346    name: "android.os.flags-aconfig-java",
347    aconfig_declarations: "android.os.flags-aconfig",
348    defaults: ["framework-minus-apex-aconfig-java-defaults"],
349}
350
351java_aconfig_library {
352    name: "android.os.flags-aconfig-java-host",
353    aconfig_declarations: "android.os.flags-aconfig",
354    host_supported: true,
355    defaults: ["framework-minus-apex-aconfig-java-defaults"],
356}
357
358java_aconfig_library {
359    name: "android.os.flags-aconfig-java-export",
360    aconfig_declarations: "android.os.flags-aconfig",
361    defaults: ["framework-minus-apex-aconfig-java-defaults"],
362    mode: "exported",
363    min_sdk_version: "30",
364    apex_available: [
365        "//apex_available:platform",
366        "com.android.mediaprovider",
367        "com.android.permission",
368    ],
369}
370
371cc_aconfig_library {
372    name: "android.os.flags-aconfig-cc",
373    aconfig_declarations: "android.os.flags-aconfig",
374}
375
376cc_aconfig_library {
377    name: "android.os.flags-aconfig-cc-test",
378    aconfig_declarations: "android.os.flags-aconfig",
379    mode: "test",
380}
381
382cc_aconfig_library {
383    name: "android.os.flags-aconfig-cc-host",
384    aconfig_declarations: "android.os.flags-aconfig",
385    host_supported: true,
386}
387
388// OS Internal
389aconfig_declarations {
390    name: "com.android.internal.os.flags-aconfig",
391    package: "com.android.internal.os",
392    container: "system",
393    srcs: ["core/java/com/android/internal/os/flags.aconfig"],
394}
395
396java_aconfig_library {
397    name: "com.android.internal.os.flags-aconfig-java",
398    aconfig_declarations: "com.android.internal.os.flags-aconfig",
399    defaults: ["framework-minus-apex-aconfig-java-defaults"],
400}
401
402// VirtualDeviceManager
403cc_aconfig_library {
404    name: "android.companion.virtualdevice.flags-aconfig-cc",
405    aconfig_declarations: "android.companion.virtualdevice.flags-aconfig",
406}
407
408java_aconfig_library {
409    name: "android.companion.virtualdevice.flags-aconfig-java",
410    aconfig_declarations: "android.companion.virtualdevice.flags-aconfig",
411    defaults: ["framework-minus-apex-aconfig-java-defaults"],
412}
413
414aconfig_declarations {
415    name: "android.companion.virtualdevice.flags-aconfig",
416    package: "android.companion.virtualdevice.flags",
417    container: "system",
418    srcs: ["core/java/android/companion/virtual/flags/*.aconfig"],
419}
420
421java_aconfig_library {
422    name: "android.companion.virtual.flags-aconfig-java",
423    aconfig_declarations: "android.companion.virtual.flags-aconfig",
424    defaults: ["framework-minus-apex-aconfig-java-defaults"],
425}
426
427aconfig_declarations {
428    name: "android.companion.virtual.flags-aconfig",
429    package: "android.companion.virtual.flags",
430    container: "system",
431    srcs: ["core/java/android/companion/virtual/*.aconfig"],
432}
433
434// InputMethod
435aconfig_declarations {
436    name: "android.view.inputmethod.flags-aconfig",
437    package: "android.view.inputmethod",
438    container: "system",
439    srcs: ["core/java/android/view/inputmethod/flags.aconfig"],
440}
441
442java_aconfig_library {
443    name: "android.view.inputmethod.flags-aconfig-java",
444    aconfig_declarations: "android.view.inputmethod.flags-aconfig",
445    defaults: ["framework-minus-apex-aconfig-java-defaults"],
446}
447
448// Vibrator
449aconfig_declarations {
450    name: "android.os.vibrator.flags-aconfig",
451    package: "android.os.vibrator",
452    container: "system",
453    srcs: ["core/java/android/os/vibrator/*.aconfig"],
454}
455
456java_aconfig_library {
457    name: "android.os.vibrator.flags-aconfig-java",
458    aconfig_declarations: "android.os.vibrator.flags-aconfig",
459    defaults: ["framework-minus-apex-aconfig-java-defaults"],
460}
461
462// View
463aconfig_declarations {
464    name: "android.view.flags-aconfig",
465    package: "android.view.flags",
466    container: "system",
467    srcs: ["core/java/android/view/flags/*.aconfig"],
468}
469
470java_aconfig_library {
471    name: "android.view.flags-aconfig-java",
472    aconfig_declarations: "android.view.flags-aconfig",
473    defaults: ["framework-minus-apex-aconfig-java-defaults"],
474}
475
476cc_aconfig_library {
477    name: "aconfig_view_flags_c_lib",
478    aconfig_declarations: "android.view.flags-aconfig",
479}
480
481// View.accessibility
482aconfig_declarations {
483    name: "android.view.accessibility.flags-aconfig",
484    package: "android.view.accessibility",
485    container: "system",
486    srcs: ["core/java/android/view/accessibility/flags/*.aconfig"],
487}
488
489java_aconfig_library {
490    name: "android.view.accessibility.flags-aconfig-java",
491    aconfig_declarations: "android.view.accessibility.flags-aconfig",
492    defaults: ["framework-minus-apex-aconfig-java-defaults"],
493}
494
495cc_aconfig_library {
496    name: "aconfig_view_accessibility_flags_c_lib",
497    aconfig_declarations: "android.view.accessibility.flags-aconfig",
498}
499
500// Hardware
501aconfig_declarations {
502    name: "android.hardware.flags-aconfig",
503    exportable: true,
504    package: "android.hardware.flags",
505    container: "system",
506    srcs: ["core/java/android/hardware/flags/*.aconfig"],
507}
508
509java_aconfig_library {
510    name: "android.hardware.flags-aconfig-java",
511    aconfig_declarations: "android.hardware.flags-aconfig",
512    defaults: ["framework-minus-apex-aconfig-java-defaults"],
513}
514
515// Widget
516aconfig_declarations {
517    name: "android.widget.flags-aconfig",
518    package: "android.widget.flags",
519    container: "system",
520    srcs: ["core/java/android/widget/flags/*.aconfig"],
521}
522
523java_aconfig_library {
524    name: "android.widget.flags-aconfig-java",
525    aconfig_declarations: "android.widget.flags-aconfig",
526    defaults: ["framework-minus-apex-aconfig-java-defaults"],
527}
528
529rust_aconfig_library {
530    name: "libandroid_security_flags_rust",
531    crate_name: "android_security_flags",
532    aconfig_declarations: "android.security.flags-aconfig",
533}
534
535// Package Manager
536aconfig_declarations {
537    name: "android.content.pm.flags-aconfig",
538    package: "android.content.pm",
539    container: "system",
540    exportable: true,
541    srcs: ["core/java/android/content/pm/flags.aconfig"],
542}
543
544java_aconfig_library {
545    name: "android.content.pm.flags-aconfig-java",
546    aconfig_declarations: "android.content.pm.flags-aconfig",
547    defaults: ["framework-minus-apex-aconfig-java-defaults"],
548}
549
550java_aconfig_library {
551    name: "android.content.pm.flags-aconfig-java-export",
552    aconfig_declarations: "android.content.pm.flags-aconfig",
553    defaults: ["framework-minus-apex-aconfig-java-defaults"],
554    mode: "exported",
555    min_sdk_version: "30",
556    apex_available: [
557        "//apex_available:platform",
558        "com.android.permission",
559    ],
560}
561
562java_aconfig_library {
563    name: "android.content.pm.flags-aconfig-java-host",
564    aconfig_declarations: "android.content.pm.flags-aconfig",
565    host_supported: true,
566    defaults: ["framework-minus-apex-aconfig-java-defaults"],
567}
568
569// Resources
570aconfig_declarations {
571    name: "android.content.res.flags-aconfig",
572    package: "android.content.res",
573    container: "system",
574    srcs: ["core/java/android/content/res/*.aconfig"],
575}
576
577java_aconfig_library {
578    name: "android.content.res.flags-aconfig-java",
579    aconfig_declarations: "android.content.res.flags-aconfig",
580    defaults: ["framework-minus-apex-aconfig-java-defaults"],
581}
582
583java_aconfig_library {
584    name: "android.content.res.flags-aconfig-java-host",
585    aconfig_declarations: "android.content.res.flags-aconfig",
586    host_supported: true,
587    defaults: ["framework-minus-apex-aconfig-java-defaults"],
588}
589
590// Media BetterTogether
591aconfig_declarations {
592    name: "com.android.media.flags.bettertogether-aconfig",
593    package: "com.android.media.flags",
594    container: "system",
595    srcs: ["media/java/android/media/flags/media_better_together.aconfig"],
596}
597
598java_aconfig_library {
599    name: "com.android.media.flags.bettertogether-aconfig-java",
600    aconfig_declarations: "com.android.media.flags.bettertogether-aconfig",
601    defaults: ["framework-minus-apex-aconfig-java-defaults"],
602}
603
604java_aconfig_library {
605    name: "com.android.media.flags.bettertogether-aconfig-java-host",
606    aconfig_declarations: "com.android.media.flags.bettertogether-aconfig",
607    host_supported: true,
608    defaults: ["framework-minus-apex-aconfig-java-defaults"],
609}
610
611// Media Editing
612aconfig_declarations {
613    name: "com.android.media.flags.editing-aconfig",
614    exportable: true,
615    package: "com.android.media.editing.flags",
616    container: "system",
617    srcs: [
618        "media/java/android/media/flags/editing.aconfig",
619    ],
620}
621
622java_aconfig_library {
623    name: "com.android.media.flags.editing-aconfig-java",
624    aconfig_declarations: "com.android.media.flags.editing-aconfig",
625    defaults: ["framework-minus-apex-aconfig-java-defaults"],
626}
627
628// MediaProjection
629aconfig_declarations {
630    name: "com.android.media.flags.projection-aconfig",
631    package: "com.android.media.projection.flags",
632    container: "system",
633    srcs: [
634        "media/java/android/media/flags/projection.aconfig",
635    ],
636}
637
638java_aconfig_library {
639    name: "com.android.media.flags.projection-aconfig-java",
640    aconfig_declarations: "com.android.media.flags.projection-aconfig",
641    defaults: ["framework-minus-apex-aconfig-java-defaults"],
642}
643
644// Media Performance
645aconfig_declarations {
646    name: "com.android.media.flags.performance-aconfig",
647    package: "com.android.media.performance.flags",
648    container: "system",
649    srcs: [
650        "media/java/android/media/flags/performance.aconfig",
651    ],
652}
653
654java_aconfig_library {
655    name: "com.android.media.flags.performance-aconfig-java",
656    aconfig_declarations: "com.android.media.flags.performance-aconfig",
657    defaults: ["framework-minus-apex-aconfig-java-defaults"],
658}
659
660// Media TV
661aconfig_declarations {
662    name: "android.media.tv.flags-aconfig",
663    exportable: true,
664    package: "android.media.tv.flags",
665    container: "system",
666    srcs: ["media/java/android/media/tv/flags/media_tv.aconfig"],
667}
668
669java_aconfig_library {
670    name: "android.media.tv.flags-aconfig-java",
671    aconfig_declarations: "android.media.tv.flags-aconfig",
672    defaults: ["framework-minus-apex-aconfig-java-defaults"],
673}
674
675// OnDeviceIntelligence
676aconfig_declarations {
677    name: "android.app.ondeviceintelligence-aconfig",
678    exportable: true,
679    package: "android.app.ondeviceintelligence.flags",
680    container: "system",
681    srcs: ["core/java/android/app/ondeviceintelligence/flags/ondevice_intelligence.aconfig"],
682}
683
684java_aconfig_library {
685    name: "android.app.ondeviceintelligence-aconfig-java",
686    aconfig_declarations: "android.app.ondeviceintelligence-aconfig",
687    defaults: ["framework-minus-apex-aconfig-java-defaults"],
688}
689
690// Permissions
691aconfig_declarations {
692    name: "android.permission.flags-aconfig",
693    container: "system",
694    package: "android.permission.flags",
695    exportable: true,
696    srcs: ["core/java/android/permission/flags.aconfig"],
697}
698
699java_aconfig_library {
700    name: "android.permission.flags-aconfig-java-export",
701    aconfig_declarations: "android.permission.flags-aconfig",
702    defaults: ["framework-minus-apex-aconfig-java-defaults"],
703    mode: "exported",
704    min_sdk_version: "30",
705    apex_available: [
706        "//apex_available:platform",
707        "com.android.permission",
708        "com.android.nfcservices",
709    ],
710}
711
712java_aconfig_library {
713    name: "android.permission.flags-aconfig-java-host",
714    aconfig_declarations: "android.permission.flags-aconfig",
715    host_supported: true,
716    defaults: ["framework-minus-apex-aconfig-java-defaults"],
717    min_sdk_version: "30",
718}
719
720java_aconfig_library {
721    name: "android.permission.flags-aconfig-java",
722    aconfig_declarations: "android.permission.flags-aconfig",
723    defaults: ["framework-minus-apex-aconfig-java-defaults"],
724    min_sdk_version: "30",
725    apex_available: [
726        "//apex_available:platform",
727        "com.android.nfcservices",
728    ],
729}
730
731// SQLite
732aconfig_declarations {
733    name: "android.database.sqlite-aconfig",
734    package: "android.database.sqlite",
735    container: "system",
736    srcs: ["core/java/android/database/sqlite/*.aconfig"],
737}
738
739java_aconfig_library {
740    name: "android.database.sqlite-aconfig-java",
741    aconfig_declarations: "android.database.sqlite-aconfig",
742    defaults: ["framework-minus-apex-aconfig-java-defaults"],
743}
744
745cc_aconfig_library {
746    name: "android.database.sqlite-aconfig-cc",
747    aconfig_declarations: "android.database.sqlite-aconfig",
748    host_supported: true,
749}
750
751// Biometrics
752aconfig_declarations {
753    name: "android.hardware.biometrics.flags-aconfig",
754    exportable: true,
755    package: "android.hardware.biometrics",
756    container: "system",
757    srcs: ["core/java/android/hardware/biometrics/flags.aconfig"],
758}
759
760java_aconfig_library {
761    name: "android.hardware.biometrics.flags-aconfig-java",
762    aconfig_declarations: "android.hardware.biometrics.flags-aconfig",
763    defaults: ["framework-minus-apex-aconfig-java-defaults"],
764}
765
766// Graphics
767java_aconfig_library {
768    name: "hwui_flags_java_lib",
769    aconfig_declarations: "hwui_flags",
770    defaults: ["framework-minus-apex-aconfig-java-defaults"],
771}
772
773java_aconfig_library {
774    name: "framework_graphics_flags_java_lib",
775    aconfig_declarations: "framework_graphics_flags",
776    defaults: ["framework-minus-apex-aconfig-java-defaults"],
777}
778
779// Display
780java_aconfig_library {
781    name: "display_flags_lib",
782    aconfig_declarations: "display_flags",
783    defaults: ["framework-minus-apex-aconfig-java-defaults"],
784}
785
786cc_aconfig_library {
787    name: "android.server.display.flags-aconfig-cc",
788    aconfig_declarations: "display_flags",
789}
790
791java_aconfig_library {
792    name: "com.android.internal.foldables.flags-aconfig-java",
793    aconfig_declarations: "fold_lock_setting_flags",
794    defaults: ["framework-minus-apex-aconfig-java-defaults"],
795}
796
797// Platform Compat
798java_aconfig_library {
799    name: "com.android.internal.compat.flags-aconfig-java",
800    aconfig_declarations: "compat_logging_flags",
801    defaults: ["framework-minus-apex-aconfig-java-defaults"],
802}
803
804// Multi user
805aconfig_declarations {
806    name: "android.multiuser.flags-aconfig",
807    package: "android.multiuser",
808    container: "system",
809    srcs: ["core/java/android/content/pm/multiuser.aconfig"],
810}
811
812java_aconfig_library {
813    name: "android.multiuser.flags-aconfig-java",
814    aconfig_declarations: "android.multiuser.flags-aconfig",
815    defaults: ["framework-minus-apex-aconfig-java-defaults"],
816}
817
818// android.app
819aconfig_declarations {
820    name: "android.app.flags-aconfig",
821    package: "android.app",
822    container: "system",
823    srcs: ["core/java/android/app/*.aconfig"],
824}
825
826java_aconfig_library {
827    name: "android.app.flags-aconfig-java",
828    aconfig_declarations: "android.app.flags-aconfig",
829    defaults: ["framework-minus-apex-aconfig-java-defaults"],
830}
831
832// Broadcast Radio
833aconfig_declarations {
834    name: "android.hardware.radio.flags-aconfig",
835    exportable: true,
836    package: "android.hardware.radio",
837    container: "system",
838    srcs: ["core/java/android/hardware/radio/*.aconfig"],
839}
840
841java_aconfig_library {
842    name: "android.hardware.radio.flags-aconfig-java",
843    aconfig_declarations: "android.hardware.radio.flags-aconfig",
844    defaults: ["framework-minus-apex-aconfig-java-defaults"],
845}
846
847// Credential Manager
848aconfig_declarations {
849    name: "android.credentials.flags-aconfig",
850    package: "android.credentials.flags",
851    container: "system",
852    srcs: ["core/java/android/credentials/flags.aconfig"],
853    exportable: true,
854}
855
856java_aconfig_library {
857    name: "android.credentials.flags-aconfig-java",
858    aconfig_declarations: "android.credentials.flags-aconfig",
859    defaults: ["framework-minus-apex-aconfig-java-defaults"],
860}
861
862java_aconfig_library {
863    name: "android.credentials.flags-aconfig-java-export",
864    aconfig_declarations: "android.credentials.flags-aconfig",
865    defaults: ["framework-minus-apex-aconfig-java-defaults"],
866    mode: "exported",
867}
868
869// Content Protection
870aconfig_declarations {
871    name: "android.view.contentprotection.flags-aconfig",
872    exportable: true,
873    package: "android.view.contentprotection.flags",
874    container: "system",
875    srcs: ["core/java/android/view/contentprotection/flags/*.aconfig"],
876}
877
878java_aconfig_library {
879    name: "android.view.contentprotection.flags-aconfig-java",
880    aconfig_declarations: "android.view.contentprotection.flags-aconfig",
881    defaults: ["framework-minus-apex-aconfig-java-defaults"],
882}
883
884// Contextual Search system service
885aconfig_declarations {
886    name: "com.android.server.contextualsearch.flags-aconfig",
887    package: "com.android.server.contextualsearch.flags",
888    container: "system",
889    srcs: ["services/contextualsearch/flags/flags.aconfig"],
890}
891
892java_aconfig_library {
893    name: "com.android.server.contextualsearch.flags-java",
894    aconfig_declarations: "com.android.server.contextualsearch.flags-aconfig",
895    defaults: ["framework-minus-apex-aconfig-java-defaults"],
896}
897
898// Server Services Flags
899aconfig_declarations {
900    name: "com.android.server.flags.services-aconfig",
901    package: "com.android.server.flags",
902    container: "system",
903    srcs: ["services/core/java/com/android/server/flags/*.aconfig"],
904}
905
906java_aconfig_library {
907    name: "com.android.server.flags.services-aconfig-java",
908    aconfig_declarations: "com.android.server.flags.services-aconfig",
909    defaults: ["framework-minus-apex-aconfig-java-defaults"],
910}
911
912// App prediction
913aconfig_declarations {
914    name: "android.service.appprediction.flags-aconfig",
915    exportable: true,
916    package: "android.service.appprediction.flags",
917    container: "system",
918    srcs: ["core/java/android/service/appprediction/flags/*.aconfig"],
919}
920
921java_aconfig_library {
922    name: "android.service.appprediction.flags-aconfig-java",
923    aconfig_declarations: "android.service.appprediction.flags-aconfig",
924    defaults: ["framework-minus-apex-aconfig-java-defaults"],
925}
926
927// Controls
928aconfig_declarations {
929    name: "android.service.controls.flags-aconfig",
930    exportable: true,
931    package: "android.service.controls.flags",
932    container: "system",
933    srcs: ["core/java/android/service/controls/flags/*.aconfig"],
934}
935
936java_aconfig_library {
937    name: "android.service.controls.flags-aconfig-java",
938    aconfig_declarations: "android.service.controls.flags-aconfig",
939    defaults: ["framework-minus-apex-aconfig-java-defaults"],
940}
941
942// Voice
943aconfig_declarations {
944    name: "android.service.voice.flags-aconfig",
945    exportable: true,
946    package: "android.service.voice.flags",
947    container: "system",
948    srcs: ["core/java/android/service/voice/flags/*.aconfig"],
949}
950
951java_aconfig_library {
952    name: "android.service.voice.flags-aconfig-java",
953    aconfig_declarations: "android.service.voice.flags-aconfig",
954    defaults: ["framework-minus-apex-aconfig-java-defaults"],
955}
956
957// Autofill
958aconfig_declarations {
959    name: "android.service.autofill.flags-aconfig",
960    package: "android.service.autofill",
961    container: "system",
962    srcs: [
963        "services/autofill/bugfixes.aconfig",
964        "services/autofill/features.aconfig",
965    ],
966}
967
968java_aconfig_library {
969    name: "android.service.autofill.flags-aconfig-java",
970    aconfig_declarations: "android.service.autofill.flags-aconfig",
971    defaults: ["framework-minus-apex-aconfig-java-defaults"],
972}
973
974// Companion
975aconfig_declarations {
976    name: "android.companion.flags-aconfig",
977    exportable: true,
978    package: "android.companion",
979    container: "system",
980    srcs: ["core/java/android/companion/*.aconfig"],
981}
982
983java_aconfig_library {
984    name: "android.companion.flags-aconfig-java",
985    aconfig_declarations: "android.companion.flags-aconfig",
986    defaults: ["framework-minus-apex-aconfig-java-defaults"],
987}
988
989// Networking
990aconfig_declarations {
991    name: "android.net.platform.flags-aconfig",
992    exportable: true,
993    package: "android.net.platform.flags",
994    container: "system",
995    srcs: ["core/java/android/net/flags.aconfig"],
996    visibility: [":__subpackages__"],
997}
998
999// Thread network
1000aconfig_declarations {
1001    name: "com.android.net.thread.platform.flags-aconfig",
1002    exportable: true,
1003    package: "com.android.net.thread.platform.flags",
1004    container: "system",
1005    srcs: ["core/java/android/net/thread/flags.aconfig"],
1006}
1007
1008java_aconfig_library {
1009    name: "android.net.platform.flags-aconfig-java",
1010    aconfig_declarations: "android.net.platform.flags-aconfig",
1011    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1012    visibility: [":__subpackages__"],
1013}
1014
1015java_aconfig_library {
1016    name: "com.android.net.thread.platform.flags-aconfig-java",
1017    aconfig_declarations: "com.android.net.thread.platform.flags-aconfig",
1018    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1019}
1020
1021// Media
1022aconfig_declarations {
1023    name: "android.media.playback.flags-aconfig",
1024    package: "com.android.media.playback.flags",
1025    container: "system",
1026    srcs: ["media/jni/playback_flags.aconfig"],
1027}
1028
1029cc_aconfig_library {
1030    name: "android.media.playback.flags-aconfig-cc",
1031    aconfig_declarations: "android.media.playback.flags-aconfig",
1032}
1033
1034java_aconfig_library {
1035    name: "android.media.playback.flags-aconfig-java",
1036    aconfig_declarations: "android.media.playback.flags-aconfig",
1037    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1038}
1039
1040// VCN
1041aconfig_declarations {
1042    name: "android.net.vcn.flags-aconfig",
1043    package: "android.net.vcn",
1044    container: "system",
1045    srcs: ["core/java/android/net/vcn/*.aconfig"],
1046}
1047
1048java_aconfig_library {
1049    name: "android.net.vcn.flags-aconfig-java",
1050    aconfig_declarations: "android.net.vcn.flags-aconfig",
1051    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1052}
1053
1054// DevicePolicy
1055aconfig_declarations {
1056    name: "device_policy_aconfig_flags",
1057    package: "android.app.admin.flags",
1058    container: "system",
1059    srcs: [
1060        "core/java/android/app/admin/flags/flags.aconfig",
1061    ],
1062}
1063
1064java_aconfig_library {
1065    name: "device_policy_aconfig_flags_lib",
1066    aconfig_declarations: "device_policy_aconfig_flags",
1067    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1068}
1069
1070java_aconfig_library {
1071    name: "device_policy_aconfig_flags_lib_host",
1072    aconfig_declarations: "device_policy_aconfig_flags",
1073    host_supported: true,
1074    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1075}
1076
1077cc_aconfig_library {
1078    name: "device_policy_aconfig_flags_c_lib",
1079    aconfig_declarations: "device_policy_aconfig_flags",
1080}
1081
1082// Chooser / "Sharesheet"
1083aconfig_declarations {
1084    name: "android.service.chooser.flags-aconfig",
1085    package: "android.service.chooser",
1086    container: "system",
1087    srcs: ["core/java/android/service/chooser/flags.aconfig"],
1088}
1089
1090java_aconfig_library {
1091    name: "android.service.chooser.flags-aconfig-java",
1092    aconfig_declarations: "android.service.chooser.flags-aconfig",
1093    min_sdk_version: "34",
1094    apex_available: [
1095        "//apex_available:platform",
1096        "com.android.nfcservices",
1097    ],
1098    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1099}
1100
1101// JobScheduler
1102aconfig_declarations {
1103    name: "framework-jobscheduler-job.flags-aconfig",
1104    package: "android.app.job",
1105    container: "system",
1106    exportable: true,
1107    srcs: ["apex/jobscheduler/framework/aconfig/job.aconfig"],
1108}
1109
1110java_aconfig_library {
1111    name: "framework-jobscheduler-job.flags-aconfig-java",
1112    aconfig_declarations: "framework-jobscheduler-job.flags-aconfig",
1113    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1114}
1115
1116// Dreams
1117aconfig_declarations {
1118    name: "android.service.dreams.flags-aconfig",
1119    package: "android.service.dreams",
1120    container: "system",
1121    srcs: ["core/java/android/service/dreams/flags.aconfig"],
1122}
1123
1124java_aconfig_library {
1125    name: "android.service.dreams.flags-aconfig-java",
1126    aconfig_declarations: "android.service.dreams.flags-aconfig",
1127    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1128}
1129
1130// Notifications
1131aconfig_declarations {
1132    name: "android.service.notification.flags-aconfig",
1133    package: "android.service.notification",
1134    exportable: true,
1135    container: "system",
1136    srcs: ["core/java/android/service/notification/flags.aconfig"],
1137}
1138
1139java_aconfig_library {
1140    name: "android.service.notification.flags-aconfig-java",
1141    aconfig_declarations: "android.service.notification.flags-aconfig",
1142    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1143}
1144
1145java_aconfig_library {
1146    name: "android.service.notification.flags-aconfig-export-java",
1147    aconfig_declarations: "android.service.notification.flags-aconfig",
1148    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1149    mode: "exported",
1150    min_sdk_version: "30",
1151    apex_available: [
1152        "//apex_available:platform",
1153        "com.android.extservices",
1154    ],
1155}
1156
1157// Contextual Search
1158aconfig_declarations {
1159    name: "android.app.contextualsearch.flags-aconfig",
1160    package: "android.app.contextualsearch.flags",
1161    container: "system",
1162    srcs: ["core/java/android/app/contextualsearch/flags.aconfig"],
1163}
1164
1165java_aconfig_library {
1166    name: "android.app.contextualsearch.flags-aconfig-java",
1167    aconfig_declarations: "android.app.contextualsearch.flags-aconfig",
1168    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1169}
1170
1171// Smartspace
1172aconfig_declarations {
1173    name: "android.app.smartspace.flags-aconfig",
1174    exportable: true,
1175    package: "android.app.smartspace.flags",
1176    container: "system",
1177    srcs: ["core/java/android/app/smartspace/flags.aconfig"],
1178}
1179
1180java_aconfig_library {
1181    name: "android.app.smartspace.flags-aconfig-java",
1182    aconfig_declarations: "android.app.smartspace.flags-aconfig",
1183    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1184}
1185
1186// SurfaceFlinger
1187java_aconfig_library {
1188    name: "surfaceflinger_flags_java_lib",
1189    aconfig_declarations: "surfaceflinger_flags",
1190    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1191}
1192
1193// Content Capture
1194aconfig_declarations {
1195    name: "android.view.contentcapture.flags-aconfig",
1196    package: "android.view.contentcapture.flags",
1197    container: "system",
1198    srcs: ["core/java/android/view/contentcapture/flags/*.aconfig"],
1199}
1200
1201java_aconfig_library {
1202    name: "android.view.contentcapture.flags-aconfig-java",
1203    aconfig_declarations: "android.view.contentcapture.flags-aconfig",
1204    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1205}
1206
1207// USB
1208aconfig_declarations {
1209    name: "android.hardware.usb.flags-aconfig",
1210    exportable: true,
1211    package: "android.hardware.usb.flags",
1212    container: "system",
1213    srcs: ["core/java/android/hardware/usb/flags/*.aconfig"],
1214}
1215
1216java_aconfig_library {
1217    name: "android.hardware.usb.flags-aconfig-java",
1218    aconfig_declarations: "android.hardware.usb.flags-aconfig",
1219    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1220}
1221
1222java_aconfig_library {
1223    name: "android.hardware.usb.flags-aconfig-java-host",
1224    aconfig_declarations: "android.hardware.usb.flags-aconfig",
1225    host_supported: true,
1226    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1227}
1228
1229// WindowingTools
1230aconfig_declarations {
1231    name: "android.tracing.flags-aconfig",
1232    package: "android.tracing",
1233    container: "system",
1234    srcs: ["core/java/android/tracing/flags.aconfig"],
1235}
1236
1237java_aconfig_library {
1238    name: "android.tracing.flags-aconfig-java",
1239    aconfig_declarations: "android.tracing.flags-aconfig",
1240    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1241}
1242
1243cc_aconfig_library {
1244    name: "android.tracing.flags_c_lib",
1245    aconfig_declarations: "android.tracing.flags-aconfig",
1246}
1247
1248// App Widgets
1249aconfig_declarations {
1250    name: "android.appwidget.flags-aconfig",
1251    package: "android.appwidget.flags",
1252    container: "system",
1253    srcs: ["core/java/android/appwidget/flags.aconfig"],
1254}
1255
1256java_aconfig_library {
1257    name: "android.appwidget.flags-aconfig-java",
1258    aconfig_declarations: "android.appwidget.flags-aconfig",
1259    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1260}
1261
1262// App
1263aconfig_declarations {
1264    name: "android.server.app.flags-aconfig",
1265    package: "android.server.app",
1266    container: "system",
1267    srcs: ["services/core/java/com/android/server/app/flags.aconfig"],
1268}
1269
1270java_aconfig_library {
1271    name: "android.server.app.flags-aconfig-java",
1272    aconfig_declarations: "android.server.app.flags-aconfig",
1273    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1274}
1275
1276// WebView
1277aconfig_declarations {
1278    name: "android.webkit.flags-aconfig",
1279    package: "android.webkit",
1280    container: "system",
1281    srcs: [
1282        "core/java/android/webkit/*.aconfig",
1283        "services/core/java/com/android/server/webkit/*.aconfig",
1284    ],
1285}
1286
1287java_aconfig_library {
1288    name: "android.webkit.flags-aconfig-java",
1289    aconfig_declarations: "android.webkit.flags-aconfig",
1290    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1291}
1292
1293// Provider
1294aconfig_declarations {
1295    name: "android.provider.flags-aconfig",
1296    exportable: true,
1297    package: "android.provider",
1298    container: "system",
1299    srcs: ["core/java/android/provider/*.aconfig"],
1300}
1301
1302java_aconfig_library {
1303    name: "android.provider.flags-aconfig-java",
1304    aconfig_declarations: "android.provider.flags-aconfig",
1305    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1306}
1307
1308// ContextHub
1309java_aconfig_library {
1310    name: "android.chre.flags-aconfig-java",
1311    aconfig_declarations: "chre_flags",
1312    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1313}
1314
1315// Speech
1316aconfig_declarations {
1317    name: "android.speech.flags-aconfig",
1318    exportable: true,
1319    package: "android.speech.flags",
1320    container: "system",
1321    srcs: ["core/java/android/speech/flags/*.aconfig"],
1322}
1323
1324java_aconfig_library {
1325    name: "android.speech.flags-aconfig-java",
1326    aconfig_declarations: "android.speech.flags-aconfig",
1327    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1328}
1329
1330// Power
1331java_aconfig_library {
1332    name: "power_flags_lib",
1333    aconfig_declarations: "power_flags",
1334    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1335}
1336
1337// Content
1338aconfig_declarations {
1339    name: "android.content.flags-aconfig",
1340    exportable: true,
1341    package: "android.content.flags",
1342    container: "system",
1343    srcs: ["core/java/android/content/flags/flags.aconfig"],
1344}
1345
1346java_aconfig_library {
1347    name: "android.content.flags-aconfig-java",
1348    aconfig_declarations: "android.content.flags-aconfig",
1349    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1350}
1351
1352// Adaptive Auth
1353aconfig_declarations {
1354    name: "android.adaptiveauth.flags-aconfig",
1355    package: "android.adaptiveauth",
1356    container: "system",
1357    srcs: ["core/java/android/adaptiveauth/*.aconfig"],
1358}
1359
1360java_aconfig_library {
1361    name: "android.adaptiveauth.flags-aconfig-java",
1362    aconfig_declarations: "android.adaptiveauth.flags-aconfig",
1363    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1364}
1365
1366// CrashRecovery Module
1367aconfig_declarations {
1368    name: "android.crashrecovery.flags-aconfig",
1369    exportable: true,
1370    package: "android.crashrecovery.flags",
1371    container: "system",
1372    srcs: ["packages/CrashRecovery/aconfig/flags.aconfig"],
1373}
1374
1375java_aconfig_library {
1376    name: "android.crashrecovery.flags-aconfig-java",
1377    aconfig_declarations: "android.crashrecovery.flags-aconfig",
1378    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1379}
1380
1381java_aconfig_library {
1382    name: "android.crashrecovery.flags-aconfig-java-host",
1383    aconfig_declarations: "android.crashrecovery.flags-aconfig",
1384    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1385    host_supported: true,
1386}
1387
1388// Backup
1389java_aconfig_library {
1390    name: "backup_flags_lib",
1391    aconfig_declarations: "backup_flags",
1392    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1393}
1394
1395// Wifi
1396aconfig_declarations {
1397    name: "android.net.wifi.flags-aconfig",
1398    package: "android.net.wifi.flags",
1399    container: "system",
1400    srcs: ["wifi/*.aconfig"],
1401}
1402
1403java_aconfig_library {
1404    name: "android.net.wifi.flags-aconfig-java",
1405    aconfig_declarations: "android.net.wifi.flags-aconfig",
1406    min_sdk_version: "30",
1407    apex_available: [
1408        "//apex_available:platform",
1409        "com.android.wifi",
1410    ],
1411    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1412}
1413
1414// Wearable Sensing
1415aconfig_declarations {
1416    name: "android.app.wearable.flags-aconfig",
1417    exportable: true,
1418    package: "android.app.wearable",
1419    container: "system",
1420    srcs: ["core/java/android/app/wearable/*.aconfig"],
1421}
1422
1423java_aconfig_library {
1424    name: "android.app.wearable.flags-aconfig-java",
1425    aconfig_declarations: "android.app.wearable.flags-aconfig",
1426    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1427}
1428
1429aconfig_declarations {
1430    name: "com.android.internal.pm.pkg.component.flags-aconfig",
1431    package: "com.android.internal.pm.pkg.component.flags",
1432    container: "system",
1433    srcs: ["core/java/com/android/internal/pm/pkg/component/flags/flags.aconfig"],
1434}
1435
1436java_aconfig_library {
1437    name: "com.android.internal.pm.pkg.component.flags-aconfig-java",
1438    aconfig_declarations: "com.android.internal.pm.pkg.component.flags-aconfig",
1439    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1440}
1441
1442java_aconfig_library {
1443    name: "com.android.internal.pm.pkg.component.flags-aconfig-java-host",
1444    aconfig_declarations: "com.android.internal.pm.pkg.component.flags-aconfig",
1445    host_supported: true,
1446    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1447}
1448
1449// System Server
1450aconfig_declarations {
1451    name: "android.systemserver.flags-aconfig",
1452    package: "android.server",
1453    container: "system",
1454    srcs: ["services/java/com/android/server/flags.aconfig"],
1455}
1456
1457java_aconfig_library {
1458    name: "android.systemserver.flags-aconfig-java",
1459    aconfig_declarations: "android.systemserver.flags-aconfig",
1460    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1461}
1462
1463// backstage power
1464aconfig_declarations {
1465    name: "backstage_power_flags",
1466    package: "com.android.server.power.optimization",
1467    container: "system",
1468    exportable: true,
1469    srcs: [
1470        "services/core/java/com/android/server/power/stats/flags.aconfig",
1471    ],
1472}
1473
1474java_aconfig_library {
1475    name: "backstage_power_flags_lib",
1476    aconfig_declarations: "backstage_power_flags",
1477    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1478}
1479
1480// Dropbox data
1481aconfig_declarations {
1482    name: "dropbox_flags",
1483    package: "com.android.server.feature.flags",
1484    container: "system",
1485    srcs: [
1486        "services/core/java/com/android/server/feature/dropbox_flags.aconfig",
1487    ],
1488}
1489
1490java_aconfig_library {
1491    name: "dropbox_flags_lib",
1492    aconfig_declarations: "dropbox_flags",
1493    defaults: ["framework-minus-apex-aconfig-java-defaults"],
1494}
1495