Skip to content
Snippets Groups Projects
Forked from Dhina17 / platform_frameworks_base
31019 commits behind the upstream repository.
  • Motomu Utsumi's avatar
    65e2f1d9
    Use flags.aconfig in platform for android networking · 65e2f1d9
    Motomu Utsumi authored
    flags.aconfig for android networking is under
    packages/modules/Connectivity.
    But, currently, mainline code should not read trunk stable flag.
    To avoid confusion, this CL moves flags.aconfig to platform.
    
    Bug: 315302281
    Test: TH
    Change-Id: I7142d937a59a880b68c11fff9254c84b39ce072f
    65e2f1d9
    History
    Use flags.aconfig in platform for android networking
    Motomu Utsumi authored
    flags.aconfig for android networking is under
    packages/modules/Connectivity.
    But, currently, mainline code should not read trunk stable flag.
    To avoid confusion, this CL moves flags.aconfig to platform.
    
    Bug: 315302281
    Test: TH
    Change-Id: I7142d937a59a880b68c11fff9254c84b39ce072f
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
AconfigFlags.bp 27.28 KiB
// 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.chooser.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.input.flags-aconfig-java{.generated_srcjars}",
    ":com.android.text.flags-aconfig-java{.generated_srcjars}",
    ":framework-jobscheduler-job.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}",
    ":com.android.server.flags.pinner-aconfig-java{.generated_srcjars}",
    ":android.service.controls.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}",
    ":android.view.contentcapture.flags-aconfig-java{.generated_srcjars}",
    ":android.hardware.usb.flags-aconfig-java{.generated_srcjars}",
    ":android.tracing.flags-aconfig-java{.generated_srcjars}",
    ":android.appwidget.flags-aconfig-java{.generated_srcjars}",
    ":android.webkit.flags-aconfig-java{.generated_srcjars}",
    ":android.provider.flags-aconfig-java{.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"],
}

cc_aconfig_library {
    name: "telephony_flags_c_lib",
    aconfig_declarations: "telephony_flags",
}

// 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"],
}

java_aconfig_library {
    name: "com.android.input.flags-aconfig-java",
    aconfig_declarations: "com.android.input.flags-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"],
}

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: "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"],
}

java_aconfig_library {
    name: "android.os.flags-aconfig-java-host",
    aconfig_declarations: "android.os.flags-aconfig",
    host_supported: true,
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// VirtualDeviceManager
cc_aconfig_library {
    name: "android.companion.virtualdevice.flags-aconfig-cc",
    aconfig_declarations: "android.companion.virtualdevice.flags-aconfig",
}

java_aconfig_library {
    name: "android.companion.virtualdevice.flags-aconfig-java",
    aconfig_declarations: "android.companion.virtualdevice.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

aconfig_declarations {
    name: "android.companion.virtualdevice.flags-aconfig",
    package: "android.companion.virtualdevice.flags",
    srcs: ["core/java/android/companion/virtual/flags/*.aconfig"],
}

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",
        "media/java/android/media/flags/fade_manager_configuration.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: [
        "//apex_available:platform",
        "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"],
}

// Pinner Service
aconfig_declarations {
    name: "com.android.server.flags.pinner-aconfig",
    package: "com.android.server.flags",
    srcs: ["services/core/java/com/android/server/flags/pinner.aconfig"],
}

java_aconfig_library {
    name: "com.android.server.flags.pinner-aconfig-java",
    aconfig_declarations: "com.android.server.flags.pinner-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Controls
aconfig_declarations {
    name: "android.service.controls.flags-aconfig",
    package: "android.service.controls.flags",
    srcs: ["core/java/android/service/controls/flags/*.aconfig"],
}

java_aconfig_library {
    name: "android.service.controls.flags-aconfig-java",
    aconfig_declarations: "android.service.controls.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"],
}

// Networking
aconfig_declarations {
    name: "com.android.net.flags-aconfig",
    package: "com.android.net.flags",
    srcs: ["core/java/android/net/flags.aconfig"],
}

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",
}

// Chooser / "Sharesheet"
aconfig_declarations {
    name: "android.service.chooser.flags-aconfig",
    package: "android.service.chooser",
    srcs: ["core/java/android/service/chooser/flags.aconfig"],
}

java_aconfig_library {
    name: "android.service.chooser.flags-aconfig-java",
    aconfig_declarations: "android.service.chooser.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// JobScheduler
aconfig_declarations {
    name: "framework-jobscheduler-job.flags-aconfig",
    package: "android.app.job",
    srcs: ["apex/jobscheduler/framework/aconfig/job.aconfig"],
}

java_aconfig_library {
    name: "framework-jobscheduler-job.flags-aconfig-java",
    aconfig_declarations: "framework-jobscheduler-job.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// 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"],
}

// Content Capture
aconfig_declarations {
    name: "android.view.contentcapture.flags-aconfig",
    package: "android.view.contentcapture.flags",
    srcs: ["core/java/android/view/contentcapture/flags/*.aconfig"],
}

java_aconfig_library {
    name: "android.view.contentcapture.flags-aconfig-java",
    aconfig_declarations: "android.view.contentcapture.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// USB
aconfig_declarations {
    name: "android.hardware.usb.flags-aconfig",
    package: "android.hardware.usb.flags",
    srcs: ["core/java/android/hardware/usb/flags/*.aconfig"],
}

java_aconfig_library {
    name: "android.hardware.usb.flags-aconfig-java",
    aconfig_declarations: "android.hardware.usb.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

java_aconfig_library {
    name: "android.hardware.usb.flags-aconfig-java-host",
    aconfig_declarations: "android.hardware.usb.flags-aconfig",
    host_supported: true,
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// WindowingTools
aconfig_declarations {
    name: "android.tracing.flags-aconfig",
    package: "android.tracing",
    srcs: ["core/java/android/tracing/flags.aconfig"],
}

java_aconfig_library {
    name: "android.tracing.flags-aconfig-java",
    aconfig_declarations: "android.tracing.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// App Widgets
aconfig_declarations {
    name: "android.appwidget.flags-aconfig",
    package: "android.appwidget.flags",
    srcs: ["core/java/android/appwidget/flags.aconfig"],
}

java_aconfig_library {
    name: "android.appwidget.flags-aconfig-java",
    aconfig_declarations: "android.appwidget.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// WebView
aconfig_declarations {
    name: "android.webkit.flags-aconfig",
    package: "android.webkit",
    srcs: [
        "core/java/android/webkit/*.aconfig",
        "services/core/java/com/android/server/webkit/*.aconfig",
    ],
}

java_aconfig_library {
    name: "android.webkit.flags-aconfig-java",
    aconfig_declarations: "android.webkit.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Provider
aconfig_declarations {
    name: "android.provider.flags-aconfig",
    package: "android.provider",
    srcs: ["core/java/android/provider/*.aconfig"],
}

java_aconfig_library {
    name: "android.provider.flags-aconfig-java",
    aconfig_declarations: "android.provider.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}