• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (C) 2024 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_team: "trendy_team_fwk_uwb",
17    default_applicable_licenses: ["Android-Apache-2.0"],
18}
19
20java_defaults {
21    name: "ranging-module-sdk-version-defaults",
22    min_sdk_version: "35",
23}
24
25filegroup {
26    name: "framework-ranging-updatable-exported-aidl-sources",
27    srcs: ["aidl-export/**/*.aidl"],
28    path: "aidl-export",
29    visibility: ["//visibility:private"],
30}
31
32filegroup {
33    name: "framework-ranging-updatable-java-sources",
34    srcs: [
35        "java/**/*.java",
36        "java/**/*.aidl",
37    ],
38    path: "java",
39    visibility: ["//visibility:private"],
40}
41
42filegroup {
43    name: "framework-ranging-updatable-sources",
44    defaults: ["framework-sources-module-defaults"],
45    srcs: [
46        ":framework-ranging-updatable-java-sources",
47        ":framework-ranging-updatable-exported-aidl-sources",
48    ],
49}
50
51// defaults shared between `framework-ranging` & `framework-ranging-pre-jarjar`
52// java_sdk_library `framework-ranging` needs sources to generate stubs, so it cannot reuse
53// `framework-ranging-pre-jarjar`
54java_defaults {
55    name: "framework-ranging-defaults",
56    defaults: ["ranging-module-sdk-version-defaults"],
57    static_libs: [
58        //"modules-utils-preconditions",
59        "modules-utils-build",
60        "ranging_aconfig_flags_lib",
61    ],
62    libs: [
63        "androidx.annotation_annotation",
64        "framework-bluetooth.stubs.module_lib",
65        "framework-wifi.stubs.module_lib",
66        "unsupportedappusage", // for android.compat.annotation.UnsupportedAppUsage
67    ],
68    srcs: [
69        ":framework-ranging-updatable-sources",
70    ],
71}
72
73// ranging-service needs pre-jarjared version of framework-ranging so it can reference copied utility
74// classes before they are renamed.
75java_library {
76    name: "framework-ranging-pre-jarjar",
77    defaults: ["framework-ranging-defaults"],
78    sdk_version: "module_current",
79    min_sdk_version: "33",
80    libs: ["framework-annotations-lib"],
81    installable: false,
82    apex_available: [
83        "com.android.uwb",
84    ],
85}
86
87// post-jarjar version of framework-ranging
88java_sdk_library {
89    name: "framework-ranging",
90    defaults: [
91        "framework-module-defaults",
92        "framework-ranging-defaults",
93    ],
94    jarjar_rules: ":ranging-jarjar-rules",
95    installable: true,
96    optimize: {
97        enabled: false,
98    },
99    hostdex: true, // for hiddenapi check
100
101    impl_library_visibility: [
102        "//external/sl4a/Common:__subpackages__",
103        "//packages/modules/Uwb/ranging:__subpackages__",
104    ],
105
106    apex_available: [
107        "com.android.uwb",
108    ],
109    permitted_packages: [
110        "android.ranging",
111        // Created by jarjar rules.
112        "com.android.x.ranging",
113    ],
114    min_sdk_version: "36",
115}
116
117// defaults for tests that need to build against framework-ranging's @hide APIs
118java_defaults {
119    name: "framework-ranging-test-defaults",
120    sdk_version: "module_current",
121    libs: [
122        "framework-ranging.impl",
123    ],
124    defaults_visibility: [
125        "//packages/modules/Uwb/ranging/framework/tests:__subpackages__",
126        "//packages/modules/Uwb/ranging/service/tests:__subpackages__",
127    ],
128}
129
130filegroup {
131    name: "ranging-jarjar-rules",
132    srcs: ["jarjar-rules.txt"],
133}
134