// // 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"], } // Defaults to enable/disable java targets which uses development APIs. "enabled" may have a // different value depending on the branch. java_defaults { name: "ConnectivityNextEnableDefaults", enabled: true, } apex_defaults { name: "ConnectivityApexDefaults", // Tethering app to include in the AOSP apex. Branches that disable the "next" targets may use // a stable tethering app instead, but will generally override the AOSP apex to use updatable // package names and keys, so that apex will be unused anyway. apps: ["TetheringNext"], // Replace to "Tethering" if ConnectivityNextEnableDefaults is false. } enable_tethering_next_apex = true // This is a placeholder comment to avoid merge conflicts // as the above target may have different "enabled" values // depending on the branch apex { name: "com.android.tethering", defaults: ["ConnectivityApexDefaults"], compile_multilib: "both", updatable: true, min_sdk_version: "30", bootclasspath_fragments: [ "com.android.tethering-bootclasspath-fragment", ], systemserverclasspath_fragments: [ "com.android.tethering-systemserverclasspath-fragment", ], multilib: { first: { jni_libs: [ "libservice-connectivity", "libcom_android_connectivity_com_android_net_module_util_jni", "libtraffic_controller_jni", ], native_shared_libs: ["libnetd_updatable"], }, both: { jni_libs: ["libframework-connectivity-jni"], }, }, binaries: [ "clatd", ], canned_fs_config: "canned_fs_config", bpfs: [ "clatd.o_mainline", "netd.o_mainline", "dscp_policy.o", "offload.o", "test.o", ], apps: [ "ServiceConnectivityResources", ], prebuilts: ["current_sdkinfo"], manifest: "manifest.json", key: "com.android.tethering.key", // Indicates that pre-installed version of this apex can be compressed. // Whether it actually will be compressed is controlled on per-device basis. compressible: true, androidManifest: "AndroidManifest.xml", } apex_key { name: "com.android.tethering.key", public_key: "com.android.tethering.avbpubkey", private_key: "com.android.tethering.pem", } android_app_certificate { name: "com.android.tethering.certificate", certificate: "com.android.tethering", } // Encapsulate the contributions made by the com.android.tethering to the bootclasspath. bootclasspath_fragment { name: "com.android.tethering-bootclasspath-fragment", contents: [ "framework-connectivity", "framework-connectivity-tiramisu", "framework-tethering", ], apex_available: ["com.android.tethering"], // The bootclasspath_fragments that provide APIs on which this depends. fragments: [ { apex: "com.android.art", module: "art-bootclasspath-fragment", }, ], // Additional stubs libraries that this fragment's contents use which are // not provided by another bootclasspath_fragment. additional_stubs: [ "android-non-updatable", ], // Additional hidden API flag files to override the defaults. This must only be // modified by the Soong or platform compat team. hidden_api: { max_target_r_low_priority: [ "hiddenapi/hiddenapi-max-target-r-loprio.txt", ], max_target_o_low_priority: [ "hiddenapi/hiddenapi-max-target-o-low-priority.txt", "hiddenapi/hiddenapi-max-target-o-low-priority-tiramisu.txt", ], unsupported: ["hiddenapi/hiddenapi-unsupported.txt"], }, } systemserverclasspath_fragment { name: "com.android.tethering-systemserverclasspath-fragment", standalone_contents: ["service-connectivity"], apex_available: ["com.android.tethering"], } override_apex { name: "com.android.tethering.inprocess", base: "com.android.tethering", package_name: "com.android.tethering.inprocess", enabled: enable_tethering_next_apex, apps: [ "ServiceConnectivityResources", "InProcessTethering", ], }