// // Copyright (C) 2020 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"], } filegroup { name: "framework-connectivity-internal-sources", srcs: [ "src/**/*.java", "src/**/*.aidl", ], path: "src", visibility: [ "//visibility:private", ], } filegroup { name: "framework-connectivity-aidl-export-sources", srcs: [ "aidl-export/**/*.aidl", ], path: "aidl-export", visibility: [ "//visibility:private", ], } // TODO: use a java_library in the bootclasspath instead filegroup { name: "framework-connectivity-sources", srcs: [ ":framework-connectivity-internal-sources", ":framework-connectivity-aidl-export-sources", ], visibility: [ "//frameworks/base", "//packages/modules/Connectivity:__subpackages__", ], } java_sdk_library { name: "framework-connectivity", sdk_version: "module_current", min_sdk_version: "30", defaults: ["framework-module-defaults"], installable: true, srcs: [ ":framework-connectivity-sources", ":net-utils-framework-common-srcs", ], aidl: { include_dirs: [ // Include directories for parcelables that are part of the stable API, and need a // one-line "parcelable X" .aidl declaration to be used in AIDL interfaces. // TODO(b/180293679): remove these dependencies as they should not be necessary once // the module builds against API (the parcelable declarations exist in framework.aidl) "frameworks/base/core/java", // For framework parcelables "frameworks/native/aidl/binder", // For PersistableBundle.aidl ], }, impl_only_libs: [ "framework-tethering.stubs.module_lib", "framework-wifi.stubs.module_lib", "net-utils-device-common", ], libs: [ "unsupportedappusage", ], jarjar_rules: "jarjar-rules.txt", permitted_packages: ["android.net"], impl_library_visibility: [ "//packages/modules/Connectivity/Tethering/apex", // In preparation for future move "//packages/modules/Connectivity/apex", "//packages/modules/Connectivity/service", "//frameworks/base/packages/Connectivity/service", "//frameworks/base", // Tests using hidden APIs "//cts/tests/netlegacy22.api", "//external/sl4a:__subpackages__", "//frameworks/base/packages/Connectivity/tests:__subpackages__", "//frameworks/libs/net/common/testutils", "//frameworks/libs/net/common/tests:__subpackages__", "//frameworks/opt/telephony/tests/telephonytests", "//packages/modules/CaptivePortalLogin/tests", "//packages/modules/Connectivity/Tethering/tests:__subpackages__", "//packages/modules/Connectivity/tests:__subpackages__", "//packages/modules/NetworkStack/tests:__subpackages__", "//packages/modules/Wifi/service/tests/wifitests", ], apex_available: [ "com.android.tethering", ], } cc_library_shared { name: "libframework-connectivity-jni", min_sdk_version: "30", cflags: [ "-Wall", "-Werror", "-Wno-unused-parameter", // Don't warn about S API usage even with // min_sdk 30: the library is only loaded // on S+ devices "-Wno-unguarded-availability", "-Wthread-safety", ], srcs: [ "jni/android_net_NetworkUtils.cpp", "jni/onload.cpp", ], shared_libs: [ "libandroid", "liblog", "libnativehelper", ], header_libs: [ "dnsproxyd_protocol_headers", ], stl: "none", apex_available: [ "com.android.tethering", ], }