• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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