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

aidl_interface {
    name: "android.hardware.common.fmq",
    host_supported: true,
    vendor_available: true,
    double_loadable: true,
    srcs: [
        "android/hardware/common/fmq/*.aidl",
    ],
    imports: [
        "android.hardware.common-V2",
    ],
    stability: "vintf",
    backend: {
        java: {
            // There is no Java FMQ library, but we support the AIDL type
            // to allow subsets of interfaces that include it to be used in Java
            enabled: true,
            sdk_version: "module_current",
        },
        cpp: {
            // FMQ will not be supported in the cpp backend because the parcelables
            // are not stable enough for use in shared memory
            enabled: false,
        },
        ndk: {
            apex_available: [
                "//apex_available:platform",
                "com.android.btservices",
                "com.android.media.swcodec",
            ],
            min_sdk_version: "29",
        },
        rust: {
            // FMQ is not supported in the rust backend, but we need this AIDL interface for
            // HardwareBuffer.
            enabled: true,
        },
    },
    frozen: true,
    versions_with_info: [
        {
            version: "1",
            imports: ["android.hardware.common-V2"],
        },
    ],
}
