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

cc_library_headers {
    name: "libmediametrics_headers",
    export_include_dirs: ["include"],
}

cc_library {
    name: "libmediametrics",

    srcs: [
        "MediaMetrics.cpp",
        "MediaMetricsItem.cpp",
    ],

    shared_libs: [
        "libbinder",
        "libcutils",
        "liblog",
        "libutils",
        "mediametricsservice-aidl-cpp",
    ],

    export_include_dirs: ["include"],

    cflags: [
        "-Wall",
        "-Werror",
        "-Wextra",
        "-Wthread-safety",
        "-Wunreachable-code",
    ],

    sanitize: {
        misc_undefined: [
            "signed-integer-overflow",
            "unsigned-integer-overflow",
        ],
        cfi: true,
    },

    // enumerate stable entry points, for apex use
    stubs: {
        symbol_file: "libmediametrics.map.txt",
        versions: [
            "1",
        ],
    },

    header_abi_checker: {
        enabled: true,
        symbol_file: "libmediametrics.map.txt",
    },

    visibility: [
        "//cts/tests/tests/nativemedia/mediametrics",
        "//frameworks/av:__subpackages__",
        "//frameworks/base/apex/media/framework",
        "//frameworks/base/core/jni",
        "//frameworks/base/media/jni",
        "//packages/modules/Media/apex/framework",
    ],
}

aidl_interface {
    name: "mediametricsservice-aidl",
    unstable: true,
    local_include_dir: "aidl",
    vendor_available: true,
    srcs: [
        "aidl/android/media/IMediaMetricsService.aidl",
    ],
    double_loadable: true,
    backend: {
        cpp: {
            apex_available: [
                "//apex_available:platform",
            ],
        },
    },
}
