blob: 76377e72fb6ba7e354dbb5ff34c3d05dc4799795 [file] [log] [blame]
// Copyright (C) 2023 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
aconfig_srcjars = [
":android.app.usage.flags-aconfig-java{.generated_srcjars}",
":android.app.smartspace.flags-aconfig-java{.generated_srcjars}",
":android.companion.flags-aconfig-java{.generated_srcjars}",
":android.content.pm.flags-aconfig-java{.generated_srcjars}",
":android.content.res.flags-aconfig-java{.generated_srcjars}",
":android.hardware.flags-aconfig-java{.generated_srcjars}",
":android.hardware.radio.flags-aconfig-java{.generated_srcjars}",
":android.location.flags-aconfig-java{.generated_srcjars}",
":android.net.vcn.flags-aconfig-java{.generated_srcjars}",
":android.nfc.flags-aconfig-java{.generated_srcjars}",
":android.os.flags-aconfig-java{.generated_srcjars}",
":android.os.vibrator.flags-aconfig-java{.generated_srcjars}",
":android.security.flags-aconfig-java{.generated_srcjars}",
":android.service.notification.flags-aconfig-java{.generated_srcjars}",
":android.view.flags-aconfig-java{.generated_srcjars}",
":android.view.accessibility.flags-aconfig-java{.generated_srcjars}",
":audio-framework-aconfig",
":camera_platform_flags_core_java_lib{.generated_srcjars}",
":com.android.window.flags.window-aconfig-java{.generated_srcjars}",
":android.hardware.biometrics.flags-aconfig-java{.generated_srcjars}",
":com.android.hardware.input-aconfig-java{.generated_srcjars}",
":com.android.text.flags-aconfig-java{.generated_srcjars}",
":telecom_flags_core_java_lib{.generated_srcjars}",
":telephony_flags_core_java_lib{.generated_srcjars}",
":android.companion.virtual.flags-aconfig-java{.generated_srcjars}",
":android.view.inputmethod.flags-aconfig-java{.generated_srcjars}",
":android.widget.flags-aconfig-java{.generated_srcjars}",
":com.android.media.flags.bettertogether-aconfig-java{.generated_srcjars}",
":sdk_sandbox_flags_lib{.generated_srcjars}",
":android.permission.flags-aconfig-java{.generated_srcjars}",
":android.database.sqlite-aconfig-java{.generated_srcjars}",
":hwui_flags_java_lib{.generated_srcjars}",
":framework_graphics_flags_java_lib{.generated_srcjars}",
":display_flags_lib{.generated_srcjars}",
":com.android.internal.foldables.flags-aconfig-java{.generated_srcjars}",
":android.multiuser.flags-aconfig-java{.generated_srcjars}",
":android.app.flags-aconfig-java{.generated_srcjars}",
":android.credentials.flags-aconfig-java{.generated_srcjars}",
":android.view.contentprotection.flags-aconfig-java{.generated_srcjars}",
":android.service.voice.flags-aconfig-java{.generated_srcjars}",
":android.media.tv.flags-aconfig-java{.generated_srcjars}",
":android.service.autofill.flags-aconfig-java{.generated_srcjars}",
":com.android.net.flags-aconfig-java{.generated_srcjars}",
":device_policy_aconfig_flags_lib{.generated_srcjars}",
":surfaceflinger_flags_java_lib{.generated_srcjars}",
]
filegroup {
name: "framework-minus-apex-aconfig-srcjars",
srcs: aconfig_srcjars,
}
// Aconfig declarations and libraries for the core framework
java_defaults {
name: "framework-minus-apex-aconfig-libraries",
// Add java_aconfig_libraries to here to add them to the core framework
srcs: aconfig_srcjars,
// Add aconfig-annotations-lib as a dependency for the optimization
libs: ["aconfig-annotations-lib"],
}
// Default flags for java_aconfig_libraries that go into framework-minus-apex
// These libraries will not work standalone
java_defaults {
name: "framework-minus-apex-aconfig-java-defaults",
sdk_version: "core_platform",
libs: ["fake_device_config"],
}
// Camera
java_aconfig_library {
name: "camera_platform_flags_core_java_lib",
aconfig_declarations: "camera_platform_flags",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Telecom
java_aconfig_library {
name: "telecom_flags_core_java_lib",
aconfig_declarations: "telecom_flags",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Telephony
java_aconfig_library {
name: "telephony_flags_core_java_lib",
aconfig_declarations: "telephony_flags",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Window
aconfig_declarations {
name: "com.android.window.flags.window-aconfig",
package: "com.android.window.flags",
srcs: ["core/java/android/window/flags/*.aconfig"],
}
java_aconfig_library {
name: "com.android.window.flags.window-aconfig-java",
aconfig_declarations: "com.android.window.flags.window-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Input
aconfig_declarations {
name: "com.android.hardware.input.input-aconfig",
package: "com.android.hardware.input",
srcs: ["core/java/android/hardware/input/*.aconfig"],
}
java_aconfig_library {
name: "com.android.hardware.input-aconfig-java",
aconfig_declarations: "com.android.hardware.input.input-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Text
aconfig_declarations {
name: "com.android.text.flags-aconfig",
package: "com.android.text.flags",
srcs: ["core/java/android/text/flags/*.aconfig"],
}
java_aconfig_library {
name: "com.android.text.flags-aconfig-java",
aconfig_declarations: "com.android.text.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
cc_aconfig_library {
name: "aconfig_text_flags_c_lib",
aconfig_declarations: "com.android.text.flags-aconfig",
}
// Location
aconfig_declarations {
name: "android.location.flags-aconfig",
package: "android.location.flags",
srcs: [
"location/java/android/location/flags/*.aconfig",
],
}
java_aconfig_library {
name: "android.location.flags-aconfig-java",
aconfig_declarations: "android.location.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// NFC
aconfig_declarations {
name: "android.nfc.flags-aconfig",
package: "android.nfc",
srcs: ["core/java/android/nfc/*.aconfig"],
}
java_aconfig_library {
name: "android.nfc.flags-aconfig-java",
aconfig_declarations: "android.nfc.flags-aconfig",
min_sdk_version: "VanillaIceCream",
apex_available: [
"//apex_available:platform",
"com.android.nfcservices",
],
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Security
aconfig_declarations {
name: "android.security.flags-aconfig",
package: "android.security",
srcs: ["core/java/android/security/*.aconfig"],
}
java_aconfig_library {
name: "android.security.flags-aconfig-java",
aconfig_declarations: "android.security.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
java_aconfig_library {
name: "android.security.flags-aconfig-java-host",
aconfig_declarations: "android.security.flags-aconfig",
host_supported: true,
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// UsageStats
aconfig_declarations {
name: "android.app.usage.flags-aconfig",
package: "android.app.usage",
srcs: ["core/java/android/app/usage/*.aconfig"],
}
java_aconfig_library {
name: "android.app.usage.flags-aconfig-java",
aconfig_declarations: "android.app.usage.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// OS
aconfig_declarations {
name: "android.os.flags-aconfig",
package: "android.os",
srcs: ["core/java/android/os/*.aconfig"],
}
java_aconfig_library {
name: "android.os.flags-aconfig-java",
aconfig_declarations: "android.os.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// VirtualDeviceManager
java_aconfig_library {
name: "android.companion.virtual.flags-aconfig-java",
aconfig_declarations: "android.companion.virtual.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
aconfig_declarations {
name: "android.companion.virtual.flags-aconfig",
package: "android.companion.virtual.flags",
srcs: ["core/java/android/companion/virtual/*.aconfig"],
}
// InputMethod
aconfig_declarations {
name: "android.view.inputmethod.flags-aconfig",
package: "android.view.inputmethod",
srcs: ["core/java/android/view/inputmethod/flags.aconfig"],
}
java_aconfig_library {
name: "android.view.inputmethod.flags-aconfig-java",
aconfig_declarations: "android.view.inputmethod.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Vibrator
aconfig_declarations {
name: "android.os.vibrator.flags-aconfig",
package: "android.os.vibrator",
srcs: ["core/java/android/os/vibrator/*.aconfig"],
}
java_aconfig_library {
name: "android.os.vibrator.flags-aconfig-java",
aconfig_declarations: "android.os.vibrator.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// View
aconfig_declarations {
name: "android.view.flags-aconfig",
package: "android.view.flags",
srcs: ["core/java/android/view/flags/*.aconfig"],
}
java_aconfig_library {
name: "android.view.flags-aconfig-java",
aconfig_declarations: "android.view.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
cc_aconfig_library {
name: "aconfig_view_flags_c_lib",
aconfig_declarations: "android.view.flags-aconfig",
}
// View.accessibility
aconfig_declarations {
name: "android.view.accessibility.flags-aconfig",
package: "android.view.accessibility",
srcs: ["core/java/android/view/accessibility/flags/*.aconfig"],
}
java_aconfig_library {
name: "android.view.accessibility.flags-aconfig-java",
aconfig_declarations: "android.view.accessibility.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
cc_aconfig_library {
name: "aconfig_view_accessibility_flags_c_lib",
aconfig_declarations: "android.view.accessibility.flags-aconfig",
}
// Hardware
aconfig_declarations {
name: "android.hardware.flags-aconfig",
package: "android.hardware.flags",
srcs: ["core/java/android/hardware/flags/*.aconfig"],
}
java_aconfig_library {
name: "android.hardware.flags-aconfig-java",
aconfig_declarations: "android.hardware.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Widget
aconfig_declarations {
name: "android.widget.flags-aconfig",
package: "android.widget.flags",
srcs: ["core/java/android/widget/flags/*.aconfig"],
}
java_aconfig_library {
name: "android.widget.flags-aconfig-java",
aconfig_declarations: "android.widget.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
rust_aconfig_library {
name: "libandroid_security_flags_rust",
crate_name: "android_security_flags",
aconfig_declarations: "android.security.flags-aconfig",
}
// Package Manager
aconfig_declarations {
name: "android.content.pm.flags-aconfig",
package: "android.content.pm",
srcs: ["core/java/android/content/pm/flags.aconfig"],
}
java_aconfig_library {
name: "android.content.pm.flags-aconfig-java",
aconfig_declarations: "android.content.pm.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
java_aconfig_library {
name: "android.content.pm.flags-aconfig-java-host",
aconfig_declarations: "android.content.pm.flags-aconfig",
host_supported: true,
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Resources
aconfig_declarations {
name: "android.content.res.flags-aconfig",
package: "android.content.res",
srcs: ["core/java/android/content/res/*.aconfig"],
}
java_aconfig_library {
name: "android.content.res.flags-aconfig-java",
aconfig_declarations: "android.content.res.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Media BetterTogether
aconfig_declarations {
name: "com.android.media.flags.bettertogether-aconfig",
package: "com.android.media.flags",
srcs: ["media/java/android/media/flags/media_better_together.aconfig"],
}
java_aconfig_library {
name: "com.android.media.flags.bettertogether-aconfig-java",
aconfig_declarations: "com.android.media.flags.bettertogether-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Media TV
aconfig_declarations {
name: "android.media.tv.flags-aconfig",
package: "android.media.tv.flags",
srcs: ["media/java/android/media/tv/flags/media_tv.aconfig"],
}
java_aconfig_library {
name: "android.media.tv.flags-aconfig-java",
aconfig_declarations: "android.media.tv.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Permissions
aconfig_declarations {
name: "android.permission.flags-aconfig",
package: "android.permission.flags",
srcs: ["core/java/android/permission/flags.aconfig"],
}
java_aconfig_library {
name: "android.permission.flags-aconfig-java",
aconfig_declarations: "android.permission.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
min_sdk_version: "30",
apex_available: [
"com.android.permission",
],
}
// SQLite
aconfig_declarations {
name: "android.database.sqlite-aconfig",
package: "android.database.sqlite",
srcs: ["core/java/android/database/sqlite/*.aconfig"],
}
java_aconfig_library {
name: "android.database.sqlite-aconfig-java",
aconfig_declarations: "android.database.sqlite-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Biometrics
aconfig_declarations {
name: "android.hardware.biometrics.flags-aconfig",
package: "android.hardware.biometrics",
srcs: ["core/java/android/hardware/biometrics/flags.aconfig"],
}
java_aconfig_library {
name: "android.hardware.biometrics.flags-aconfig-java",
aconfig_declarations: "android.hardware.biometrics.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Graphics
java_aconfig_library {
name: "hwui_flags_java_lib",
aconfig_declarations: "hwui_flags",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
java_aconfig_library {
name: "framework_graphics_flags_java_lib",
aconfig_declarations: "framework_graphics_flags",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Display
java_aconfig_library {
name: "display_flags_lib",
aconfig_declarations: "display_flags",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
java_aconfig_library {
name: "com.android.internal.foldables.flags-aconfig-java",
aconfig_declarations: "fold_lock_setting_flags",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Multi user
aconfig_declarations {
name: "android.multiuser.flags-aconfig",
package: "android.multiuser",
srcs: ["core/java/android/content/pm/multiuser.aconfig"],
}
java_aconfig_library {
name: "android.multiuser.flags-aconfig-java",
aconfig_declarations: "android.multiuser.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// android.app
aconfig_declarations {
name: "android.app.flags-aconfig",
package: "android.app",
srcs: ["core/java/android/app/*.aconfig"],
}
java_aconfig_library {
name: "android.app.flags-aconfig-java",
aconfig_declarations: "android.app.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Broadcast Radio
aconfig_declarations {
name: "android.hardware.radio.flags-aconfig",
package: "android.hardware.radio",
srcs: ["core/java/android/hardware/radio/*.aconfig"],
}
java_aconfig_library {
name: "android.hardware.radio.flags-aconfig-java",
aconfig_declarations: "android.hardware.radio.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Credential Manager
aconfig_declarations {
name: "android.credentials.flags-aconfig",
package: "android.credentials.flags",
srcs: ["core/java/android/credentials/flags.aconfig"],
}
java_aconfig_library {
name: "android.credentials.flags-aconfig-java",
aconfig_declarations: "android.credentials.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Content Protection
aconfig_declarations {
name: "android.view.contentprotection.flags-aconfig",
package: "android.view.contentprotection.flags",
srcs: ["core/java/android/view/contentprotection/flags/*.aconfig"],
}
java_aconfig_library {
name: "android.view.contentprotection.flags-aconfig-java",
aconfig_declarations: "android.view.contentprotection.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Voice
aconfig_declarations {
name: "android.service.voice.flags-aconfig",
package: "android.service.voice.flags",
srcs: ["core/java/android/service/voice/flags/*.aconfig"],
}
java_aconfig_library {
name: "android.service.voice.flags-aconfig-java",
aconfig_declarations: "android.service.voice.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Autofill
aconfig_declarations {
name: "android.service.autofill.flags-aconfig",
package: "android.service.autofill",
srcs: [
"services/autofill/bugfixes.aconfig",
"services/autofill/features.aconfig",
],
}
java_aconfig_library {
name: "android.service.autofill.flags-aconfig-java",
aconfig_declarations: "android.service.autofill.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Companion
aconfig_declarations {
name: "android.companion.flags-aconfig",
package: "android.companion",
srcs: ["core/java/android/companion/*.aconfig"],
}
java_aconfig_library {
name: "android.companion.flags-aconfig-java",
aconfig_declarations: "android.companion.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// CoreNetworking
java_aconfig_library {
name: "com.android.net.flags-aconfig-java",
aconfig_declarations: "com.android.net.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Media
aconfig_declarations {
name: "android.media.playback.flags-aconfig",
package: "com.android.media.playback.flags",
srcs: ["media/jni/playback_flags.aconfig"],
}
cc_aconfig_library {
name: "android.media.playback.flags-aconfig-cc",
aconfig_declarations: "android.media.playback.flags-aconfig",
}
java_aconfig_library {
name: "android.media.playback.flags-aconfig-java",
aconfig_declarations: "android.media.playback.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// VCN
aconfig_declarations {
name: "android.net.vcn.flags-aconfig",
package: "android.net.vcn",
srcs: ["core/java/android/net/vcn/*.aconfig"],
}
java_aconfig_library {
name: "android.net.vcn.flags-aconfig-java",
aconfig_declarations: "android.net.vcn.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// DevicePolicy
aconfig_declarations {
name: "device_policy_aconfig_flags",
package: "android.app.admin.flags",
srcs: [
"core/java/android/app/admin/flags/flags.aconfig",
],
}
java_aconfig_library {
name: "device_policy_aconfig_flags_lib",
aconfig_declarations: "device_policy_aconfig_flags",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
cc_aconfig_library {
name: "device_policy_aconfig_flags_c_lib",
aconfig_declarations: "device_policy_aconfig_flags",
}
// Notifications
aconfig_declarations {
name: "android.service.notification.flags-aconfig",
package: "android.service.notification",
srcs: ["core/java/android/service/notification/flags.aconfig"],
}
java_aconfig_library {
name: "android.service.notification.flags-aconfig-java",
aconfig_declarations: "android.service.notification.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// Smartspace
aconfig_declarations {
name: "android.app.smartspace.flags-aconfig",
package: "android.app.smartspace.flags",
srcs: ["core/java/android/app/smartspace/flags.aconfig"],
}
java_aconfig_library {
name: "android.app.smartspace.flags-aconfig-java",
aconfig_declarations: "android.app.smartspace.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
// SurfaceFlinger
java_aconfig_library {
name: "surfaceflinger_flags_java_lib",
aconfig_declarations: "surfaceflinger_flags",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}