//
// Copyright (C) 2018 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 {
    default_applicable_licenses: ["Android-Apache-2.0"],
}

cc_library {
    name: "libdisppower-xiaomi_sdm660",
    proprietary: true,
    srcs: [
        "disp-power/InteractionHandler.cpp",
    ],
    shared_libs: [
        "libbase",
        "libcutils",
        "liblog",
        "libperfmgr",
        "libutils",
    ],
}

cc_library {
    name: "libadaptivecpu-xiaomi_sdm660",
    proprietary: true,
    vendor: true,
    srcs: [
        "adaptivecpu/AdaptiveCpu.cpp",
        "adaptivecpu/AdaptiveCpuConfig.cpp",
        "adaptivecpu/AdaptiveCpuStats.cpp",
        "adaptivecpu/CpuFrequencyReader.cpp",
        "adaptivecpu/CpuLoadReaderProcStat.cpp",
        "adaptivecpu/CpuLoadReaderSysDevices.cpp",
        "adaptivecpu/Device.cpp",
        "adaptivecpu/KernelCpuFeatureReader.cpp",
        "adaptivecpu/Model.cpp",
        "adaptivecpu/RealFilesystem.cpp",
        "adaptivecpu/ThrottleDecision.cpp",
        "adaptivecpu/TimeSource.cpp",
        "adaptivecpu/WorkDurationProcessor.cpp",
    ],
    shared_libs: [
        "android.hardware.power-V3-ndk",
        "libbase",
        "liblog",
        "libperfmgr",
        "libutils",
        "libcutils",
    ],
}

cc_test {
    name: "libadaptivecpu_test-xiaomi_sdm660",
    proprietary: true,
    vendor: true,
    srcs: [
        "adaptivecpu/tests/AdaptiveCpuConfigTest.cpp",
        "adaptivecpu/tests/AdaptiveCpuStatsTest.cpp",
        "adaptivecpu/tests/CpuFrequencyReaderTest.cpp",
        "adaptivecpu/tests/CpuLoadReaderProcStatTest.cpp",
        "adaptivecpu/tests/CpuLoadReaderSysDevicesTest.cpp",
        "adaptivecpu/tests/KernelCpuFeatureReaderTest.cpp",
        "adaptivecpu/tests/ModelTest.cpp",
        "adaptivecpu/tests/WorkDurationProcessorTest.cpp",
    ],
    static_libs: [
        "libadaptivecpu-xiaomi_sdm660",
        "libgmock",
        "android.hardware.power-V3-ndk",
    ],
    shared_libs: [
        "liblog",
        "libbase",
        "libcutils",
    ],
    test_suites: ["device-tests"],
}

cc_binary {
    name: "android.hardware.power-service.xiaomi_sdm660-libperfmgr",
    relative_install_path: "hw",
    init_rc: ["aidl/android.hardware.power-service.xiaomi_sdm660-libperfmgr.rc"],
    vintf_fragments: ["aidl/android.hardware.power-service.xiaomi_sdm660.xml"],
    vendor: true,
    shared_libs: [
        "android.hardware.power-V3-ndk",
        "libadaptivecpu-xiaomi_sdm660",
        "libbase",
        "libcutils",
        "liblog",
        "libutils",
        "libbinder_ndk",
        "libdisppower-xiaomi_sdm660",
        "libperfmgr",
        "libprocessgroup",
        "pixel-power-ext-V1-ndk",
    ],
    srcs: [
        "aidl/service.cpp",
        "aidl/Power.cpp",
        "aidl/PowerExt.cpp",
        "aidl/PowerHintSession.cpp",
        "aidl/PowerSessionManager.cpp",
    ],
}