// Copyright 2017 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

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 {
    name: "libmediautils",

    srcs: [
        "AImageReaderUtils.cpp",
        "BatteryNotifier.cpp",
        "ISchedulingPolicyService.cpp",
        "LimitProcessMemory.cpp",
        "MemoryLeakTrackUtil.cpp",
        "ProcessInfo.cpp",
        "SchedulingPolicyService.cpp",
        "ServiceUtilities.cpp",
        "TimeCheck.cpp",
    ],
    static_libs: [
        "libc_malloc_debug_backtrace",
        "libbatterystats_aidl",
        "libprocessinfoservice_aidl",
    ],
    shared_libs: [
        "libaudioclient_aidl_conversion",
        "libaudioutils", // for clock.h
        "libbinder",
        "libcutils",
        "liblog",
        "libpermission",
        "libutils",
        "libhidlbase",
        "android.hardware.graphics.bufferqueue@1.0",
        "android.hidl.token@1.0-utils",
        "media_permission-aidl-cpp",
    ],
    export_static_lib_headers: [
        "libbatterystats_aidl",
    ],

    logtags: ["EventLogTags.logtags"],

    cflags: [
        "-Wall",
        "-Wextra",
        "-Werror",
    ],

    header_libs: [
        "bionic_libc_platform_headers",
        "libmedia_headers",
    ],

    export_shared_lib_headers: [
        "media_permission-aidl-cpp"
    ],

    include_dirs: [
        // For DEBUGGER_SIGNAL
        "system/core/debuggerd/include",
    ],
    local_include_dirs: ["include"],
    export_include_dirs: ["include"],
}

cc_library_headers {
    name: "libmediautils_headers",
    vendor_available: true,  // required for platform/hardware/interfaces

    export_include_dirs: ["include"],
}
