|  | // | 
|  | // Copyright (C) 2021 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 { | 
|  | // See: http://go/android-license-faq | 
|  | default_applicable_licenses: ["Android-Apache-2.0"], | 
|  | } | 
|  |  | 
|  | framework_remoteauth_srcs = [":framework-remoteauth-java-sources"] | 
|  | framework_remoteauth_api_srcs = [] | 
|  |  | 
|  | java_defaults { | 
|  | name: "enable-remoteauth-targets", | 
|  | enabled: true, | 
|  | } | 
|  |  | 
|  | // Include build rules from Sources.bp | 
|  | build = ["Sources.bp"] | 
|  |  | 
|  | java_defaults { | 
|  | name: "enable-framework-connectivity-t-targets", | 
|  | enabled: true, | 
|  | } | 
|  | // The above defaults can be used to disable framework-connectivity t | 
|  | // targets while minimizing merge conflicts in the build rules. | 
|  |  | 
|  | // SDK library for connectivity bootclasspath classes that were part of the non-updatable API before | 
|  | // T, and were moved to the module in T. Other bootclasspath classes in connectivity should go to | 
|  | // framework-connectivity. | 
|  | java_defaults { | 
|  | name: "framework-connectivity-t-defaults", | 
|  | sdk_version: "module_current", | 
|  | min_sdk_version: "Tiramisu", | 
|  | defaults: [ | 
|  | "framework-module-defaults", | 
|  | ], | 
|  | srcs: [ | 
|  | ":framework-connectivity-tiramisu-updatable-sources", | 
|  | ":framework-nearby-java-sources", | 
|  | ":framework-thread-sources", | 
|  | ], | 
|  | libs: [ | 
|  | "unsupportedappusage", | 
|  | "app-compat-annotations", | 
|  | "androidx.annotation_annotation", | 
|  | ], | 
|  | impl_only_libs: [ | 
|  | // The build system will use framework-bluetooth module_current stubs, because | 
|  | // of sdk_version: "module_current" above. | 
|  | "framework-bluetooth", | 
|  | "framework-wifi", | 
|  | // Compile against the entire implementation of framework-connectivity, | 
|  | // including hidden methods. This is safe because if framework-connectivity-t is | 
|  | // on the bootclasspath (i.e., T), then framework-connectivity is also on the | 
|  | // bootclasspath (because it shipped in S). | 
|  | // | 
|  | // This compiles against the pre-jarjar target so that this code can use | 
|  | // non-jarjard names of widely-used packages such as com.android.net.module.util. | 
|  | "framework-connectivity-pre-jarjar", | 
|  | ], | 
|  | aidl: { | 
|  | generate_get_transaction_name: true, | 
|  | include_dirs: [ | 
|  | // For connectivity-framework classes such as Network.aidl, | 
|  | // and connectivity-framework-t classes such as | 
|  | // NetworkStateSnapshot.aidl | 
|  | "packages/modules/Connectivity/framework/aidl-export", | 
|  | ], | 
|  | }, | 
|  | apex_available: [ | 
|  | "com.android.tethering", | 
|  | ], | 
|  | } | 
|  |  | 
|  | filegroup { | 
|  | name: "connectivity-t-hiddenapi-files", | 
|  | srcs: ["hiddenapi/*.txt"], | 
|  | visibility: ["//packages/modules/Connectivity:__subpackages__"], | 
|  | } | 
|  |  | 
|  | // The filegroup lists files that are necessary for verifying building mdns as a standalone, | 
|  | // for use with service-connectivity-mdns-standalone-build-test | 
|  | // This filegroup should never be included in anywhere in the module build. It is only used for | 
|  | // building service-connectivity-mdns-standalone-build-test target. The files will be renamed by | 
|  | // copybara to prevent them from being shadowed by the bootclasspath copies. | 
|  | filegroup { | 
|  | name: "framework-connectivity-t-mdns-standalone-build-sources", | 
|  | srcs: [ | 
|  | "src/android/net/nsd/OffloadEngine.java", | 
|  | "src/android/net/nsd/OffloadServiceInfo.java", | 
|  | ], | 
|  | visibility: ["//packages/modules/Connectivity:__subpackages__"], | 
|  | } | 
|  |  | 
|  | java_library { | 
|  | name: "framework-connectivity-t-pre-jarjar", | 
|  | defaults: ["framework-connectivity-t-defaults"], | 
|  | libs: [ | 
|  | "framework-bluetooth", | 
|  | "framework-wifi", | 
|  | "framework-connectivity-pre-jarjar", | 
|  | ], | 
|  | visibility: ["//packages/modules/Connectivity:__subpackages__"], | 
|  | } | 
|  |  | 
|  | // SDK library for connectivity bootclasspath classes that were part of the non-updatable API before | 
|  | // T, and were moved to the module in T. Other bootclasspath classes in connectivity should go to | 
|  | // framework-connectivity. | 
|  | java_sdk_library { | 
|  | name: "framework-connectivity-t", | 
|  | defaults: [ | 
|  | "framework-connectivity-t-defaults", | 
|  | "enable-framework-connectivity-t-targets", | 
|  | ], | 
|  | // Do not add static_libs to this library: put them in framework-connectivity instead. | 
|  | // The jarjar rules are only so that references to jarjared utils in | 
|  | // framework-connectivity-pre-jarjar match at runtime. | 
|  | jarjar_rules: ":framework-connectivity-jarjar-rules", | 
|  | stub_only_libs: [ | 
|  | // Use prebuilt framework-connectivity stubs to avoid circular dependencies | 
|  | "sdk_module-lib_current_framework-connectivity", | 
|  | ], | 
|  | libs: [ | 
|  | "sdk_module-lib_current_framework-connectivity", | 
|  | ], | 
|  | permitted_packages: [ | 
|  | "android.app.usage", | 
|  | "android.net", | 
|  | "android.net.nsd", | 
|  | "android.nearby", | 
|  | "com.android.connectivity", | 
|  | "com.android.nearby", | 
|  | ], | 
|  |  | 
|  | hidden_api: { | 
|  | max_target_o_low_priority: [ | 
|  | "hiddenapi/hiddenapi-max-target-o-low-priority-tiramisu.txt", | 
|  | ], | 
|  | max_target_r_low_priority: [ | 
|  | "hiddenapi/hiddenapi-max-target-r-loprio.txt", | 
|  | ], | 
|  | unsupported: [ | 
|  | "hiddenapi/hiddenapi-unsupported-tiramisu.txt", | 
|  | ], | 
|  | }, | 
|  |  | 
|  | impl_library_visibility: [ | 
|  | "//packages/modules/Connectivity/Tethering/apex", | 
|  | // In preparation for future move | 
|  | "//packages/modules/Connectivity/apex", | 
|  | "//packages/modules/Connectivity/service", // For R8 only | 
|  | "//packages/modules/Connectivity/service-t", | 
|  | "//packages/modules/Connectivity/nearby:__subpackages__", | 
|  | "//packages/modules/Connectivity/remoteauth:__subpackages__", | 
|  | "//frameworks/base", | 
|  |  | 
|  | // Tests using hidden APIs | 
|  | "//cts/tests/netlegacy22.api", | 
|  | "//cts/tests/tests/app.usage", // NetworkUsageStatsTest | 
|  | "//external/sl4a:__subpackages__", | 
|  | "//frameworks/base/core/tests/bandwidthtests", | 
|  | "//frameworks/base/core/tests/benchmarks", | 
|  | "//frameworks/base/core/tests/utillib", | 
|  | "//frameworks/base/tests/vcn", | 
|  | "//frameworks/opt/net/ethernet/tests:__subpackages__", | 
|  | "//frameworks/opt/telephony/tests/telephonytests", | 
|  | "//packages/modules/CaptivePortalLogin/tests", | 
|  | "//packages/modules/Connectivity/staticlibs/testutils", | 
|  | "//packages/modules/Connectivity/staticlibs/tests:__subpackages__", | 
|  | "//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", | 
|  | ], | 
|  | } | 
|  |  | 
|  | // This rule is not used anymore(b/268440216). | 
|  | platform_compat_config { | 
|  | name: "connectivity-t-platform-compat-config", | 
|  | src: ":framework-connectivity-t", | 
|  | } |