1// Copyright (C) 2021 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15package { 16 default_applicable_licenses: ["Android-Apache-2.0"], 17} 18 19filegroup { 20 name: "nearby-service-srcs", 21 srcs: [ 22 "java/**/*.java", 23 ":statslog-nearby-java-gen", 24 ], 25} 26 27// Common lib for nearby end-to-end testing. 28java_library { 29 name: "nearby-common-lib", 30 srcs: [ 31 "java/com/android/server/nearby/common/bloomfilter/*.java", 32 "java/com/android/server/nearby/common/bluetooth/*.java", 33 "java/com/android/server/nearby/common/bluetooth/fastpair/AesCtrMultipleBlockEncryption.java", 34 "java/com/android/server/nearby/common/bluetooth/fastpair/AesEcbSingleBlockEncryption.java", 35 "java/com/android/server/nearby/common/bluetooth/fastpair/BluetoothAddress.java", 36 "java/com/android/server/nearby/common/bluetooth/fastpair/BluetoothUuids.java", 37 "java/com/android/server/nearby/common/bluetooth/fastpair/Bytes.java", 38 "java/com/android/server/nearby/common/bluetooth/fastpair/Constants.java", 39 "java/com/android/server/nearby/common/bluetooth/fastpair/EllipticCurveDiffieHellmanExchange.java", 40 "java/com/android/server/nearby/common/bluetooth/fastpair/HmacSha256.java", 41 "java/com/android/server/nearby/common/bluetooth/fastpair/Ltv.java", 42 "java/com/android/server/nearby/common/bluetooth/fastpair/MessageStreamHmacEncoder.java", 43 "java/com/android/server/nearby/common/bluetooth/fastpair/NamingEncoder.java", 44 "java/com/android/server/nearby/common/bluetooth/testability/**/*.java", 45 "java/com/android/server/nearby/common/bluetooth/gatt/*.java", 46 "java/com/android/server/nearby/common/bluetooth/util/*.java", 47 ], 48 libs: [ 49 "androidx.annotation_annotation", 50 "androidx.core_core", 51 "error_prone_annotations", 52 "framework-bluetooth", 53 "guava", 54 ], 55 sdk_version: "module_current", 56 visibility: [ 57 "//packages/modules/Connectivity/nearby/tests/multidevices/clients/test_support/fastpair_provider", 58 ], 59} 60 61// Main lib for nearby services. 62java_library { 63 name: "service-nearby-pre-jarjar", 64 srcs: [":nearby-service-srcs"], 65 66 defaults: [ 67 "framework-system-server-module-defaults" 68 ], 69 libs: [ 70 "androidx.annotation_annotation", 71 "framework-bluetooth", 72 "error_prone_annotations", 73 "framework-configinfrastructure", 74 "framework-connectivity-t.impl", 75 "framework-statsd", 76 "HalfSheetUX", 77 ], 78 static_libs: [ 79 "androidx.core_core", 80 "guava", 81 "libprotobuf-java-lite", 82 "fast-pair-lite-protos", 83 "modules-utils-build", 84 "modules-utils-handlerexecutor", 85 "modules-utils-preconditions", 86 "modules-utils-backgroundthread", 87 "presence-lite-protos", 88 ], 89 sdk_version: "system_server_current", 90 // This is included in service-connectivity which is 30+ 91 // TODO: allow APEXes to have service jars with higher min_sdk than the APEX 92 // (service-connectivity is only used on 31+) and use 31 here 93 min_sdk_version: "30", 94 95 dex_preopt: { 96 enabled: false, 97 app_image: false, 98 }, 99 visibility: [ 100 "//packages/modules/Nearby/apex", 101 ], 102 apex_available: [ 103 "com.android.tethering", 104 ], 105} 106 107genrule { 108 name: "statslog-nearby-java-gen", 109 tools: ["stats-log-api-gen"], 110 cmd: "$(location stats-log-api-gen) --java $(out) --module nearby " + 111 " --javaPackage com.android.server.nearby.proto --javaClass NearbyStatsLog" + 112 " --minApiLevel 33", 113 out: ["com/android/server/nearby/proto/NearbyStatsLog.java"], 114} 115