// // Copyright (C) 2024 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_enigma", default_applicable_licenses: ["Android-Apache-2.0"], } filegroup { name: "vcn-utils-platform-sources", srcs: [ "src/android/net/vcn/persistablebundleutils/**/*.java", "src/android/net/vcn/util/**/*.java", ], path: "src", visibility: [ "//frameworks/base", // For VpnProfile.java and Vpn.java ], } java_defaults { name: "framework-connectivity-b-defaults-base", sdk_version: "module_current", defaults: ["framework-module-defaults"], // This is a boot jar srcs: [ "src/**/*.java", "src/**/*.aidl", ], libs: [ "android.net.ipsec.ike.stubs.module_lib", "framework-wifi.stubs.module_lib", "unsupportedappusage", ], aidl: { include_dirs: [ // For connectivity-framework classes such as Network.aidl, NetworkCapabilities.aidl "packages/modules/Connectivity/framework/aidl-export", ], }, } soong_config_module_type { name: "framework_connectivity_b_defaults_soong_config", module_type: "java_defaults", config_namespace: "ANDROID", bool_variables: [ "is_vcn_in_mainline", ], properties: [ "min_sdk_version", "static_libs", "apex_available", ], } framework_connectivity_b_defaults_soong_config { name: "framework-connectivity-b-defaults", defaults: [ "framework-connectivity-b-defaults-base", ], soong_config_variables: { is_vcn_in_mainline: { min_sdk_version: "36", static_libs: ["android.net.vcn.flags-aconfig-java"], apex_available: ["com.android.tethering"], conditions_default: { min_sdk_version: "35", static_libs: ["android.net.vcn.flags-aconfig-java-export"], apex_available: ["//apex_available:platform"], }, }, }, } soong_config_module_type { name: "framework_connectivity_b_java_sdk_library_defaults_soong_config", module_type: "java_defaults", config_namespace: "ANDROID", bool_variables: [ "is_vcn_in_mainline", ], properties: [ "aconfig_declarations", "jarjar_rules", ], } framework_connectivity_b_java_sdk_library_defaults_soong_config { name: "framework-connectivity-b-java-sdk-library-defaults", soong_config_variables: { is_vcn_in_mainline: { aconfig_declarations: ["android.net.vcn.flags-aconfig-java"], // TODO: b/375213246 Use the connectivity jarjar rule generator to create the // jarjar rules. In the end state, use "framework-connectivity-jarjar-rules" // after VCN code is moved to the Connectivity folder jarjar_rules: "framework-vcn-jarjar-rules.txt", conditions_default: { aconfig_declarations: ["android.net.vcn.flags-aconfig-java-export"], // Use "android.net.connectivity" as prefix would trigger // "Hidden API flags are inconsistent" build error jarjar_rules: "framework-vcn-jarjar-rules-platform.txt", }, }, }, } java_sdk_library { name: "framework-connectivity-b", defaults: [ "framework-connectivity-b-defaults", "framework-connectivity-b-java-sdk-library-defaults", ], permitted_packages: [ "android.net", "android.net.vcn", "com.android.server.vcn.util", ], api_packages: [ "android.net", "android.net.vcn", ], // Allow VCN APIs to reference APIs in IKE and Connectivity stub_only_libs: [ "android.net.ipsec.ike.stubs.module_lib", "framework-connectivity.stubs.module_lib", ], // To use non-jarjard names of utilities such as android.util.IndentingPrintWriter impl_only_libs: [ "framework-connectivity-pre-jarjar", ], impl_library_visibility: [ // Using for test only "//cts/tests/netlegacy22.api", "//cts/tests/tests/vcn", "//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/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", "//packages/modules/NetworkStack/tests:__subpackages__", "//packages/modules/Wifi/service/tests/wifitests", ], visibility: ["//packages/modules/Connectivity:__subpackages__"], } java_library { name: "framework-connectivity-b-pre-jarjar", defaults: ["framework-connectivity-b-defaults"], installable: false, libs: [ "framework-connectivity-pre-jarjar", ], }