// // 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 { default_team: "trendy_team_fwk_core_networking", // 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", ], static_libs: [ // Cannot go to framework-connectivity because mid_sdk checks require 31. "modules-utils-binary-xml", ], 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", "framework-location.stubs.module_lib", ], 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: [ "framework-location.stubs.module_lib", "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/services/tests/VpnTests", "//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/Connectivity/thread/tests:__subpackages__", "//packages/modules/IPsec/tests/iketests", "//packages/modules/NetworkStack/tests:__subpackages__", "//packages/modules/Wifi/service/tests/wifitests", ], aconfig_declarations: [ "com.android.net.flags-aconfig", "com.android.net.thread.flags-aconfig", "nearby_flags", ], } // This rule is not used anymore(b/268440216). platform_compat_config { name: "connectivity-t-platform-compat-config", src: ":framework-connectivity-t", }