1//
2// Copyright (C) 2019 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15
16package {
17    default_team: "trendy_team_fwk_core_networking",
18    default_applicable_licenses: ["Android-Apache-2.0"],
19}
20
21java_sdk_library {
22    name: "framework-tethering",
23    defaults: [
24        "framework-tethering-defaults",
25    ],
26    impl_library_visibility: [
27        "//packages/modules/Connectivity/Tethering:__subpackages__",
28        "//packages/modules/Connectivity/framework",
29        "//packages/modules/Connectivity/framework-t",
30        "//packages/modules/Connectivity/service",
31        "//packages/modules/Connectivity/service-t",
32        "//packages/modules/Connectivity/staticlibs",
33
34        // Using for test only
35        "//cts/tests/netlegacy22.api",
36
37        // TODO: b/374174952 Remove it when VCN CTS is moved to Connectivity/
38        "//cts/tests/tests/vcn",
39
40        "//external/sl4a:__subpackages__",
41        "//frameworks/base/core/tests/bandwidthtests",
42        "//frameworks/base/core/tests/benchmarks",
43        "//frameworks/base/core/tests/utillib",
44        "//frameworks/base/services/tests/VpnTests",
45        "//frameworks/base/tests/vcn",
46        "//frameworks/opt/telephony/tests/telephonytests",
47        "//packages/modules/CaptivePortalLogin/tests",
48        "//packages/modules/Connectivity/staticlibs/testutils",
49        "//packages/modules/Connectivity/staticlibs/tests:__subpackages__",
50        "//packages/modules/Connectivity/Tethering/tests:__subpackages__",
51        "//packages/modules/Connectivity/tests:__subpackages__",
52        "//packages/modules/Connectivity/thread/tests:__subpackages__",
53        "//packages/modules/IPsec/tests/iketests",
54        "//packages/modules/NetworkStack",
55        "//packages/modules/NetworkStack/tests:__subpackages__",
56        "//packages/modules/Wifi/service/tests/wifitests",
57    ],
58    stub_only_libs: [
59        "framework-connectivity.stubs.module_lib",
60        "sdk_module-lib_current_framework-wifi",
61    ],
62
63    jarjar_rules: ":framework-tethering-jarjar-rules",
64    installable: true,
65
66    hostdex: true, // for hiddenapi check
67    permitted_packages: ["android.net"],
68    lint: {
69        strict_updatability_linting: true,
70        baseline_filename: "lint-baseline.xml",
71    },
72    aconfig_declarations: [
73        "com.android.net.flags-aconfig",
74    ],
75}
76
77java_library {
78    name: "framework-tethering-pre-jarjar",
79    defaults: [
80        "framework-tethering-defaults",
81    ],
82}
83
84java_genrule {
85    name: "framework-tethering-jarjar-rules",
86    tool_files: [
87        ":framework-tethering-pre-jarjar{.jar}",
88        ":framework-tethering.stubs.module_lib{.jar}",
89        "jarjar-excludes.txt",
90    ],
91    tools: [
92        "jarjar-rules-generator",
93    ],
94    out: ["framework_tethering_jarjar_rules.txt"],
95    cmd: "$(location jarjar-rules-generator) " +
96        "$(location :framework-tethering-pre-jarjar{.jar}) " +
97        "--apistubs $(location :framework-tethering.stubs.module_lib{.jar}) " +
98        "--prefix android.net.http.internal " +
99        "--excludes $(location jarjar-excludes.txt) " +
100        "--output $(out)",
101}
102
103java_defaults {
104    name: "framework-tethering-defaults",
105    defaults: ["framework-module-defaults"],
106    srcs: [
107        ":framework-tethering-srcs",
108    ],
109    libs: [
110        "framework-connectivity.stubs.module_lib",
111        "sdk_module-lib_current_framework-wifi",
112    ],
113    static_libs: [
114        "com.android.net.flags-aconfig-java",
115    ],
116    aidl: {
117        include_dirs: [
118            "packages/modules/Connectivity/framework/aidl-export",
119            "packages/modules/Wifi/framework/aidl-export",
120        ],
121    },
122    apex_available: ["com.android.tethering"],
123    min_sdk_version: "30",
124}
125
126filegroup {
127    name: "framework-tethering-srcs",
128    defaults: ["framework-sources-module-defaults"],
129    srcs: [
130        "src/**/*.aidl",
131        "src/**/*.java",
132    ],
133    path: "src",
134}
135