// Copyright (C) 2021 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"],
}

filegroup {
    name: "service-scheduling-sources",
    srcs: [
        "java/**/*.java",
    ],
}

genrule {
    name: "statslog-scheduling-java-gen",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --java $(out) --module scheduling" +
         " --javaPackage com.android.server.scheduling --javaClass SchedulingStatsLog" +
         " --minApiLevel current",
    out: ["com/android/server/scheduling/SchedulingStatsLog.java"],
}


java_library {
    name: "scheduling-statsd",
    sdk_version: "system_current",
    min_sdk_version: "31",
    srcs: [":statslog-scheduling-java-gen"],
    apex_available: [
        "com.android.scheduling",
    ]
}

java_library {
    name: "service-scheduling",
    srcs: [
        ":service-scheduling-sources",
        ":reboot-stats-parser",
    ],
    min_sdk_version: "31",
    defaults: [
        "framework-system-server-module-defaults",
        "standalone-system-server-module-optimize-defaults",
    ],
    sdk_version: "system_server_current",
    libs: [
        "framework-configinfrastructure",
        "framework-scheduling.impl",
        "framework-tethering.stubs.module_lib",
        "unsupportedappusage",
    ],
    static_libs: [
        "modules-utils-handlerexecutor",
        "modules-utils-locallog",
        "modules-utils-shell-command-handler",
        "scheduling-statsd",
    ],
    jarjar_rules: ":scheduling-jarjar-rules",
    apex_available: [
        "com.android.scheduling",
    ],
    installable: true,
}
