blob: f44f5feff6ddf59a98c9719b49328e0903124ab2 [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_declarations_group {
name: "framework-minus-apex-aconfig-declarations",
java_aconfig_libraries: [
// !!! KEEP THIS LIST ALPHABETICAL !!!
"aconfig_mediacodec_flags_java_lib",
"android.content.pm.flags-aconfig-java",
"android.content.res.flags-aconfig-java",
"android.crashrecovery.flags-aconfig-java",
"android.hardware.biometrics.flags-aconfig-java",
"android.media.codec-aconfig-java",
"android.media.playback.flags-aconfig-java",
"android.net.platform.flags-aconfig-java",
"android.net.vcn.flags-aconfig-java",
"android.nfc.flags-aconfig-java",
"android.os.flags-aconfig-java",
"android.security.flags-aconfig-java",
"com.android.hardware.camera2-aconfig-java",
"com.android.hardware.input-aconfig-java",
"com.android.net.thread.platform.flags-aconfig-java",
"com.android.text.flags-aconfig-java",
"com.android.window.flags.window-aconfig-java",
// !!! KEEP THIS LIST ALPHABETICAL !!!
],
}
filegroup {
name: "framework-minus-apex-aconfig-srcjars",
srcs: [
":framework-minus-apex-aconfig-declarations{.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
// Add aconfig-annotations-lib as a dependency for the optimization
srcs: [
":framework-minus-apex-aconfig-declarations{.srcjars}",
],
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
aconfig_declarations {
name: "com.android.hardware.camera2-aconfig",
package: "com.android.hardware.camera2",
srcs: ["core/java/android/hardware/camera2/camera_platform.aconfig"],
}
java_aconfig_library {
name: "com.android.hardware.camera2-aconfig-java",
aconfig_declarations: "com.android.hardware.camera2-aconfig",
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"],
}
// 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"],
}
// NFC
aconfig_declarations {
name: "android.nfc.flags-aconfig",
package: "android.nfc",
srcs: ["nfc/java/android/nfc/*.aconfig"],
}
cc_aconfig_library {
name: "android_nfc_flags_aconfig_c_lib",
vendor_available: true,
aconfig_declarations: "android.nfc.flags-aconfig",
apex_available: [
"//apex_available:platform",
"com.android.nfcservices",
"nfc_nci.st21nfc.default",
],
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
java_aconfig_library {
name: "android.nfc.flags-aconfig-java",
aconfig_declarations: "android.nfc.flags-aconfig",
min_sdk_version: "34",
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"],
}
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"],
}
// 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"],
}
// Networking
aconfig_declarations {
name: "android.net.platform.flags-aconfig",
package: "android.net.platform.flags",
srcs: ["core/java/android/net/flags.aconfig"],
visibility: [":__subpackages__"],
}
// Thread network
aconfig_declarations {
name: "com.android.net.thread.platform.flags-aconfig",
package: "com.android.net.thread.platform.flags",
srcs: ["core/java/android/net/thread/flags.aconfig"],
}
java_aconfig_library {
name: "android.net.platform.flags-aconfig-java",
aconfig_declarations: "android.net.platform.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
visibility: [":__subpackages__"],
}
java_aconfig_library {
name: "com.android.net.thread.platform.flags-aconfig-java",
aconfig_declarations: "com.android.net.thread.platform.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"],
}
// CrashRecovery Module
aconfig_declarations {
name: "android.crashrecovery.flags-aconfig",
package: "android.crashrecovery.flags",
srcs: ["packages/CrashRecovery/aconfig/flags.aconfig"],
}
java_aconfig_library {
name: "android.crashrecovery.flags-aconfig-java",
aconfig_declarations: "android.crashrecovery.flags-aconfig",
defaults: ["framework-minus-apex-aconfig-java-defaults"],
}