// // 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"], } // 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", ], 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__"], } 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__", "//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/libs/net/common/testutils", "//frameworks/libs/net/common/tests:__subpackages__", "//frameworks/opt/net/ethernet/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", ], } // This rule is not used anymore(b/268440216). platform_compat_config { name: "connectivity-t-platform-compat-config", src: ":framework-connectivity-t", }