// Bluetooth test suite for target
package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "system_bt_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["system_bt_license"],
}

cc_defaults {
    name: "net_test_defaults",
    defaults: ["fluoride_defaults"],
    include_dirs: [
        "frameworks/av/media/libaaudio/include",
        "packages/modules/Bluetooth/system",
        "packages/modules/Bluetooth/system/bta/dm",
        "packages/modules/Bluetooth/system/bta/include",
        "packages/modules/Bluetooth/system/bta/sys",
        "packages/modules/Bluetooth/system/btif/avrcp",
        "packages/modules/Bluetooth/system/btif/co",
        "packages/modules/Bluetooth/system/device/include",
        "packages/modules/Bluetooth/system/embdrv/sbc/decoder/include",
        "packages/modules/Bluetooth/system/embdrv/sbc/encoder/include",
        "packages/modules/Bluetooth/system/gd",
        "packages/modules/Bluetooth/system/include",
        "packages/modules/Bluetooth/system/stack/a2dp",
        "packages/modules/Bluetooth/system/stack/avdt",
        "packages/modules/Bluetooth/system/stack/btm",
        "packages/modules/Bluetooth/system/stack/include",
        "packages/modules/Bluetooth/system/stack/l2cap",
        "packages/modules/Bluetooth/system/udrv/include",
        "system/libfmq/include",
        "system/libhwbinder/include",
    ],
    srcs: [
        ":BtaDmSources",
        ":TestCommonMockFunctions",
        ":TestMockHci",
        ":TestMockUdrv",
        "adapter/bluetooth_test.cc",
    ],
    shared_libs: [
        "android.hardware.bluetooth.audio@2.0",
        "android.hardware.bluetooth.audio@2.1",
        "android.system.suspend-V1-ndk",
        "libPlatformProperties",
        "libaaudio",
        "libbinder",
        "libbinder_ndk",
        "libcrypto",
        "libcutils",
        "libfmq",
        "libhidlbase",
        "liblog",
        "libstatssocket",
        "libutils",
    ],
    static_libs: [
        "android.hardware.bluetooth.a2dp@1.0",
        "android.system.suspend.control-V1-ndk",
        "avrcp-target-service",
        "lib-bt-packets",
        "lib-bt-packets-avrcp",
        "lib-bt-packets-base",
        "libFraunhoferAAC",
        "libaudio-a2dp-hw-utils",
        "libbluetooth-dumpsys",
        "libbluetooth-types",
        "libbluetooth_core_rs",
        "libbluetooth_core_rs_bridge",
        "libbluetooth_log",
        "libbt-audio-asrc",
        "libbt-audio-hal-interface",
        "libbt-bta",
        "libbt-bta-core",
        "libbt-common",
        "libbt-hci",
        "libbt-sbc-decoder",
        "libbt-sbc-encoder",
        "libbt-stack",
        "libbt-stack-core",
        "libbtcore",
        "libbtdevice",
        "libbte",
        "libbtif",
        "libbtif-core",
        "libc++fs",
        "libcom.android.sysprop.bluetooth.wrapped",
        "libflatbuffers-cpp",
        "libg722codec",
        "libgmock",
        "liblc3",
        "libopus",
        "libosi",
        "libstatslog_bt",
    ],
    header_libs: [
        "libbluetooth_headers",
        "libhardware_headers",
    ],
}

cc_test {
    name: "net_test_bluetooth",
    test_suites: ["general-tests"],
    defaults: [
        "latest_android_hardware_audio_common_ndk_static",
        "latest_android_hardware_bluetooth_audio_ndk_static",
        "latest_android_media_audio_common_types_ndk_static",
        "mts_defaults",
        "net_test_defaults",
    ],
    srcs: [
        "adapter/adapter_unittest.cc",
        "gatt/gatt_test.cc",
        "gatt/gatt_unittest.cc",
    ],
    static_libs: [
        "libbluetooth_crypto_toolbox",
        "libbluetooth_gd",
        "libbluetooth_hci_pdl",
        "libbluetooth_log",
        "libbt-btu-main-thread",
        "libbt-jni-thread",
        "libbt-platform-protos-lite",
        "libbt_shim_bridge",
        "libchrome",
        "libevent",
        "libprotobuf-cpp-lite",
    ],
    shared_libs: [
        "libbase",
        "server_configurable_flags",
    ],
    generated_headers: [
        "BluetoothGeneratedDumpsysDataSchema_h",
    ],
    target: {
        android: {
            static_libs: [
                "android.hardware.bluetooth@1.0",
                "android.hardware.bluetooth@1.1",
                "android.hardware.common-V2-ndk",
                "android.hardware.common.fmq-V1-ndk",
            ],
        },
        host: {},
    },
    cflags: ["-Wno-unused-parameter"],
}
