// // 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", 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"], // TODO: build against module API platform_apis: 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", "com.android.connectivity.aidl"], } java_library { name: "framework-connectivity.impl", // Instead of building against private API (framework.jar), // build against core_platform + framework-minus-apex + module // stub libs. This allows framework.jar to depend on this library, // so it can be part of the private API until all clients have been migrated. // TODO: just build against module_api, and remove this jar from // the private API. sdk_version: "core_platform", srcs: [ ":framework-connectivity-sources", ], aidl: { include_dirs: [ "frameworks/base/core/java", // For framework parcelables "frameworks/native/aidl/binder", // For PersistableBundle.aidl ], }, libs: [ "framework-minus-apex", // TODO: just framework-tethering, framework-wifi when building against module_api "framework-tethering.stubs.module_lib", "framework-wifi.stubs.module_lib", "unsupportedappusage", "ServiceConnectivityResources", ], 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", "com.android.connectivity.aidl"], }