// Bluetooth Audio library 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_library_static {
    name: "libbt-audio-hal-interface",
    defaults: ["fluoride_defaults"],
    include_dirs: [
        "system/bt",
        "system/bt/gd",
        "system/bt/bta/include",
        "system/bt/bta/sys",
        "system/bt/btif/include",
        "system/bt/stack/include",
        "system/bt/gd/rust/shim",
    ],
    shared_libs: [
        "android.hardware.bluetooth.audio@2.0",
        "android.hardware.bluetooth.audio@2.1",
        "libhidlbase",
    ],
    static_libs: [
        "libosi",
        "libbt-common",
    ],
    target: {
        android: {
            shared_libs: [
                "libfmq",
            ],
            srcs: [
                "a2dp_encoding.cc",
                "client_interface.cc",
                "codec_status.cc",
                "hearing_aid_software_encoding.cc",
                "le_audio_software.cc",
            ],
        },
        host: {
            srcs: [
                "a2dp_encoding_host.cc",
                "hearing_aid_software_encoding_host.cc",
                "le_audio_software_host.cc",
            ],
        },
    },
    host_supported: true,
    cflags: [
        "-DBUILDCFG",
    ],
}

// Bluetooth Audio client interface library unit tests for target and host
cc_test {
    name: "bluetooth-test-audio-hal-interface",
    defaults: ["fluoride_defaults"],
    include_dirs: [
        "system/bt",
        "system/bt/gd",
        "system/bt/stack/include",
    ],
    srcs: [
        "client_interface_unittest.cc",
    ],
    shared_libs: [
        "android.hardware.bluetooth.audio@2.0",
        "android.hardware.bluetooth.audio@2.1",
        "libcutils",
        "libfmq",
        "libhidlbase",
        "liblog",
        "libutils",
    ],
    static_libs: [
        "libbt-audio-hal-interface",
        "libbt-common",
    ],
    cflags: [
        "-DBUILDCFG",
    ],
}
