// 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_team: "trendy_team_fwk_core_networking",
    default_applicable_licenses: ["Android-Apache-2.0"],
}

filegroup {
    name: "nearby-service-srcs",
    srcs: [
        "java/**/*.java",
        ":statslog-nearby-java-gen",
    ],
}

// Main lib for nearby services.
java_library {
    name: "service-nearby-pre-jarjar",
    srcs: [":nearby-service-srcs"],

    defaults: [
        "framework-system-server-module-defaults",
    ],
    libs: [
        "androidx.annotation_annotation",
        "framework-bluetooth.stubs.module_lib",
        "error_prone_annotations",
        "framework-configinfrastructure.stubs.module_lib",
        "framework-connectivity-t.impl",
        "framework-statsd.stubs.module_lib",
    ],
    static_libs: [
        "androidx.core_core",
        "android.hardware.bluetooth.finder-V1-java",
        "guava",
        "libprotobuf-java-lite",
        "modules-utils-build",
        "modules-utils-handlerexecutor",
        "modules-utils-preconditions",
        "modules-utils-backgroundthread",
        "presence-lite-protos",
    ],
    sdk_version: "system_server_current",
    // This is included in service-connectivity which is 30+
    // TODO (b/293613362): allow APEXes to have service jars with higher min_sdk than the APEX
    // (service-connectivity is only used on 31+) and use 31 here
    min_sdk_version: "30",

    dex_preopt: {
        enabled: false,
        app_image: false,
    },
    visibility: [
        "//packages/modules/Nearby/apex",
    ],
    apex_available: [
        "com.android.tethering",
    ],
    lint: {
        baseline_filename: "lint-baseline.xml",
    },
}

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