|  | // | 
|  | // Copyright (C) 2019 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_applicable_licenses: ["Android-Apache-2.0"], | 
|  | } | 
|  |  | 
|  | // Both cronet_java_defaults and cronet_java_prejarjar_defaults can be used to | 
|  | // specify a java_defaults target that either enables or disables Cronet. This | 
|  | // is used to disable Cronet on tm-mainline-prod. | 
|  | // Note: they must either both be enabled or disabled. | 
|  | cronet_java_defaults = "CronetJavaDefaultsEnabled" | 
|  | cronet_java_prejarjar_defaults = "CronetJavaPrejarjarDefaultsEnabled" | 
|  | // This is a placeholder comment to avoid merge conflicts | 
|  | // as cronet_defaults may have different values | 
|  | // depending on the branch | 
|  |  | 
|  | java_sdk_library { | 
|  | name: "framework-tethering", | 
|  | defaults: [ | 
|  | "CronetJavaDefaults", | 
|  | "framework-tethering-defaults", | 
|  | ], | 
|  | impl_library_visibility: [ | 
|  | "//packages/modules/Connectivity/Tethering:__subpackages__", | 
|  | "//packages/modules/Connectivity/framework", | 
|  | "//packages/modules/Connectivity/framework-t", | 
|  | "//packages/modules/Connectivity/service", | 
|  | "//packages/modules/Connectivity/service-t", | 
|  |  | 
|  | // Using for test only | 
|  | "//cts/tests/netlegacy22.api", | 
|  | "//external/sl4a:__subpackages__", | 
|  | "//frameworks/base/core/tests/bandwidthtests", | 
|  | "//frameworks/base/core/tests/benchmarks", | 
|  | "//frameworks/base/core/tests/utillib", | 
|  | "//frameworks/base/packages/Connectivity/tests:__subpackages__", | 
|  | "//frameworks/base/tests/vcn", | 
|  | "//frameworks/libs/net/common/testutils", | 
|  | "//frameworks/libs/net/common/tests:__subpackages__", | 
|  | "//frameworks/opt/telephony/tests/telephonytests", | 
|  | "//packages/modules/CaptivePortalLogin/tests", | 
|  | "//packages/modules/Connectivity/Tethering/tests:__subpackages__", | 
|  | "//packages/modules/Connectivity/tests:__subpackages__", | 
|  | "//packages/modules/IPsec/tests/iketests", | 
|  | "//packages/modules/NetworkStack/tests:__subpackages__", | 
|  | "//packages/modules/Wifi/service/tests/wifitests", | 
|  | ], | 
|  | stub_only_libs: ["framework-connectivity.stubs.module_lib"], | 
|  |  | 
|  | jarjar_rules: ":framework-tethering-jarjar-rules", | 
|  | installable: true, | 
|  |  | 
|  | hostdex: true, // for hiddenapi check | 
|  | permitted_packages: ["android.net"], | 
|  | } | 
|  |  | 
|  | java_defaults { | 
|  | name: "CronetJavaDefaults", | 
|  | defaults: [cronet_java_defaults], | 
|  | } | 
|  |  | 
|  | java_defaults { | 
|  | name: "CronetJavaDefaultsEnabled", | 
|  | srcs: [":cronet_aml_api_sources"], | 
|  | libs: [ | 
|  | "androidx.annotation_annotation", | 
|  | ], | 
|  | impl_only_static_libs: [ | 
|  | "cronet_aml_java", | 
|  | ], | 
|  | // STOPSHIP(b/265674359): fix all Cronet lint warnings and re-enable lint | 
|  | // directly in framework-tethering | 
|  | lint: { | 
|  | enabled: false, | 
|  | }, | 
|  | api_lint: { | 
|  | enabled: false, | 
|  | }, | 
|  | api_dir: "cronet_enabled/api", | 
|  | } | 
|  |  | 
|  | java_defaults { | 
|  | name: "CronetJavaDefaultsDisabled", | 
|  | lint: { strict_updatability_linting: true }, | 
|  | } | 
|  |  | 
|  | java_defaults { | 
|  | name: "CronetJavaPrejarjarDefaults", | 
|  | defaults: [cronet_java_prejarjar_defaults], | 
|  | } | 
|  |  | 
|  | java_defaults { | 
|  | name: "CronetJavaPrejarjarDefaultsDisabled", | 
|  | } | 
|  |  | 
|  | java_defaults { | 
|  | name: "CronetJavaPrejarjarDefaultsEnabled", | 
|  | static_libs: [ | 
|  | "cronet_aml_api_java", | 
|  | "cronet_aml_java" | 
|  | ], | 
|  | } | 
|  |  | 
|  | java_library { | 
|  | name: "framework-tethering-pre-jarjar", | 
|  | defaults: [ | 
|  | "framework-tethering-defaults", | 
|  | "CronetJavaPrejarjarDefaults", | 
|  | ], | 
|  | } | 
|  |  | 
|  | java_genrule { | 
|  | name: "framework-tethering-jarjar-rules", | 
|  | tool_files: [ | 
|  | ":framework-tethering-pre-jarjar{.jar}", | 
|  | ":framework-tethering.stubs.module_lib{.jar}", | 
|  | "jarjar-excludes.txt", | 
|  | ], | 
|  | tools: [ | 
|  | "jarjar-rules-generator", | 
|  | ], | 
|  | out: ["framework_tethering_jarjar_rules.txt"], | 
|  | cmd: "$(location jarjar-rules-generator) " + | 
|  | "$(location :framework-tethering-pre-jarjar{.jar}) " + | 
|  | "--apistubs $(location :framework-tethering.stubs.module_lib{.jar}) " + | 
|  | "--prefix android.net.http.internal " + | 
|  | "--excludes $(location jarjar-excludes.txt) " + | 
|  | "--output $(out)", | 
|  | } | 
|  |  | 
|  | java_defaults { | 
|  | name: "framework-tethering-defaults", | 
|  | defaults: ["framework-module-defaults"], | 
|  | srcs: [ | 
|  | ":framework-tethering-srcs" | 
|  | ], | 
|  | libs: ["framework-connectivity.stubs.module_lib"], | 
|  | aidl: { | 
|  | include_dirs: [ | 
|  | "packages/modules/Connectivity/framework/aidl-export", | 
|  | ], | 
|  | }, | 
|  | apex_available: ["com.android.tethering"], | 
|  | min_sdk_version: "30", | 
|  | } | 
|  |  | 
|  | filegroup { | 
|  | name: "framework-tethering-srcs", | 
|  | srcs: [ | 
|  | "src/**/*.aidl", | 
|  | "src/**/*.java", | 
|  | ], | 
|  | path: "src" | 
|  | } |