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.security.keymint",
    vendor_available: true,
    srcs: [
        "android/hardware/security/keymint/*.aidl",
    ],
    imports: [
        "android.hardware.security.secureclock-V1",
    ],
    stability: "vintf",
    backend: {
        java: {
            platform_apis: true,
            srcs_available: true,
        },
        ndk: {
            vndk: {
                enabled: true,
            },
            apps_enabled: false,
        },
        rust: {
            enabled: true,
            apex_available: [
                "//apex_available:platform",
                "com.android.compos",
            ],
        },
    },
    versions: ["1"],
}

// cc_defaults that includes the latest KeyMint AIDL library.
// Modules that depend on KeyMint directly can include this cc_defaults to avoid
// managing dependency versions explicitly.
cc_defaults {
    name: "keymint_use_latest_hal_aidl_ndk_static",
    static_libs: [
        "android.hardware.security.keymint-V2-ndk",
    ],
}

cc_defaults {
    name: "keymint_use_latest_hal_aidl_ndk_shared",
    shared_libs: [
        "android.hardware.security.keymint-V2-ndk",
    ],
}

// A rust_defaults that includes the latest KeyMint AIDL library.
// Modules that depend on KeyMint directly can include this cc_defaults to avoid
// managing dependency versions explicitly.
rust_defaults {
    name: "keymint_use_latest_hal_aidl_rust",
    rustlibs: [
        "android.hardware.security.keymint-V2-rust",
    ],
}
