// // 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 // A large-scale-change added 'default_applicable_licenses' to import // all of the 'license_kinds' from "frameworks_base_license" // to get the below license kinds: // SPDX-license-identifier-Apache-2.0 default_applicable_licenses: ["frameworks_base_license"], } java_library { name: "framework-connectivity-protos", sdk_version: "module_current", proto: { type: "nano", }, srcs: [ // TODO: consider moving relevant .proto files directly to the module directory ":framework-javastream-protos", ], apex_available: [ "//apex_available:platform", "com.android.tethering", ], jarjar_rules: "jarjar-rules-proto.txt", visibility: [ "//visibility:private", ], } 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", api_only: true, defaults: ["framework-module-defaults"], installable: true, srcs: [ ":framework-connectivity-sources", ], 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 ], }, libs: [ "unsupportedappusage", ], permitted_packages: ["android.net"], } cc_defaults { name: "libframework-connectivity-defaults", cflags: [ "-Wall", "-Werror", "-Wno-unused-parameter", "-Wthread-safety", ], shared_libs: [ "libbase", "liblog", "libnativehelper", "libnetd_client", ], header_libs: [ "dnsproxyd_protocol_headers", ], } cc_library_static { name: "libconnectivityframeworkutils", defaults: ["libframework-connectivity-defaults"], srcs: [ "jni/android_net_NetworkUtils.cpp", ], apex_available: [ "//apex_available:platform", "com.android.tethering", ], } cc_library_shared { name: "libframework-connectivity-jni", defaults: ["libframework-connectivity-defaults"], srcs: [ "jni/onload.cpp", ], static_libs: ["libconnectivityframeworkutils"], apex_available: [ "//apex_available:platform", "com.android.tethering", ], } java_library { name: "framework-connectivity.impl", sdk_version: "module_current", srcs: [ ":framework-connectivity-sources", ], aidl: { include_dirs: [ "frameworks/base/core/java", // For framework parcelables "frameworks/native/aidl/binder", // For PersistableBundle.aidl ], }, libs: [ // TODO (b/183097033) remove once module_current includes core_current "stable.core.platform.api.stubs", "framework-tethering", "framework-wifi", "unsupportedappusage", ], static_libs: [ "framework-connectivity-protos", "net-utils-device-common", ], jarjar_rules: "jarjar-rules.txt", apex_available: ["com.android.tethering"], installable: true, permitted_packages: ["android.net"], }