| // Copyright (C) 2021 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"], | 
 | } | 
 |  | 
 | java_library { | 
 |     name: "netd_aidl_interface-lateststable-java", | 
 |     sdk_version: "system_current", | 
 |     min_sdk_version: "29", | 
 |     static_libs: [ | 
 |         "netd_aidl_interface-V13-java", | 
 |     ], | 
 |     apex_available: [ | 
 |         "//apex_available:platform", // used from services.net | 
 |         "com.android.tethering", | 
 |         "com.android.wifi", | 
 |     ], | 
 | } | 
 |  | 
 | cc_library_static { | 
 |     name: "netd_event_listener_interface-lateststable-ndk", | 
 |     whole_static_libs: [ | 
 |         "netd_event_listener_interface-V1-ndk", | 
 |     ], | 
 |     apex_available: [ | 
 |         "com.android.resolv", | 
 |     ], | 
 |     min_sdk_version: "29", | 
 | } | 
 |  | 
 | cc_library_static { | 
 |     name: "netd_aidl_interface-lateststable-ndk", | 
 |     whole_static_libs: [ | 
 |         "netd_aidl_interface-V13-ndk", | 
 |     ], | 
 |     apex_available: [ | 
 |         "com.android.resolv", | 
 |         "com.android.tethering", | 
 |     ], | 
 |     min_sdk_version: "29", | 
 | } | 
 |  | 
 | cc_defaults { | 
 |     name: "netd_aidl_interface_lateststable_cpp_static", | 
 |     static_libs: ["netd_aidl_interface-V13-cpp"], | 
 | } | 
 |  | 
 | cc_defaults { | 
 |     name: "netd_aidl_interface_lateststable_cpp_shared", | 
 |     shared_libs: ["netd_aidl_interface-V13-cpp"], | 
 | } | 
 |  | 
 | aidl_interface { | 
 |     name: "netd_aidl_interface", | 
 |     local_include_dir: "binder", | 
 |     srcs: [ | 
 |         "binder/android/net/INetd.aidl", | 
 |         // AIDL interface that callers can implement to receive networking events from netd. | 
 |         "binder/android/net/INetdUnsolicitedEventListener.aidl", | 
 |         "binder/android/net/InterfaceConfigurationParcel.aidl", | 
 |         "binder/android/net/IpSecMigrateInfoParcel.aidl", | 
 |         "binder/android/net/MarkMaskParcel.aidl", | 
 |         "binder/android/net/NativeNetworkConfig.aidl", | 
 |         "binder/android/net/NativeNetworkType.aidl", | 
 |         "binder/android/net/NativeVpnType.aidl", | 
 |         "binder/android/net/RouteInfoParcel.aidl", | 
 |         "binder/android/net/TetherConfigParcel.aidl", | 
 |         "binder/android/net/TetherOffloadRuleParcel.aidl", | 
 |         "binder/android/net/TetherStatsParcel.aidl", | 
 |         "binder/android/net/UidRangeParcel.aidl", | 
 |         // Add new AIDL classes in android.net.netd.aidl to consist with other network modules. | 
 |         "binder/android/net/netd/aidl/**/*.aidl", | 
 |     ], | 
 |     backend: { | 
 |         cpp: { | 
 |             gen_log: true, | 
 |         }, | 
 |         java: { | 
 |             // TODO: Remove apex_available and restrict visibility to only mainline modules that are | 
 |             // either outside the system server or use jarjar to rename the generated AIDL classes. | 
 |             apex_available: [ | 
 |                 "//apex_available:platform", // used from services.net | 
 |                 "com.android.tethering", | 
 |                 "com.android.wifi", | 
 |             ], | 
 |             // this is part of updatable modules(NetworkStack) which targets 29(Q) | 
 |             min_sdk_version: "29", | 
 |         }, | 
 |         ndk: { | 
 |             apex_available: [ | 
 |                 "//apex_available:platform", | 
 |                 "com.android.tethering", | 
 |             ], | 
 |             // This is necessary for the DnsResovler tests to run in Android Q. | 
 |             // Soong would recognize this value and produce the Q compatible aidl library. | 
 |             min_sdk_version: "29", | 
 |         }, | 
 |     }, | 
 |     versions_with_info: [ | 
 |         { | 
 |             version: "1", | 
 |             imports: [], | 
 |         }, | 
 |         { | 
 |             version: "2", | 
 |             imports: [], | 
 |         }, | 
 |         { | 
 |             version: "3", | 
 |             imports: [], | 
 |         }, | 
 |         { | 
 |             version: "4", | 
 |             imports: [], | 
 |         }, | 
 |         { | 
 |             version: "5", | 
 |             imports: [], | 
 |         }, | 
 |         { | 
 |             version: "6", | 
 |             imports: [], | 
 |         }, | 
 |         { | 
 |             version: "7", | 
 |             imports: [], | 
 |         }, | 
 |         { | 
 |             version: "8", | 
 |             imports: [], | 
 |         }, | 
 |         { | 
 |             version: "9", | 
 |             imports: [], | 
 |         }, | 
 |         { | 
 |             version: "10", | 
 |             imports: [], | 
 |         }, | 
 |         { | 
 |             version: "11", | 
 |             imports: [], | 
 |         }, | 
 |         { | 
 |             version: "12", | 
 |             imports: [], | 
 |         }, | 
 |         { | 
 |             version: "13", | 
 |             imports: [], | 
 |         }, | 
 |  | 
 |     ], | 
 |  | 
 | } | 
 |  | 
 | java_library { | 
 |     name: "netd_event_listener_interface-lateststable-java", | 
 |     sdk_version: "system_current", | 
 |     min_sdk_version: "29", | 
 |     static_libs: [ | 
 |         "netd_event_listener_interface-V1-java", | 
 |     ], | 
 |     apex_available: [ | 
 |         "//apex_available:platform", | 
 |         "com.android.wifi", | 
 |         "com.android.tethering", | 
 |     ], | 
 | } | 
 |  | 
 | aidl_interface { | 
 |     name: "netd_event_listener_interface", | 
 |     local_include_dir: "binder", | 
 |     srcs: [ | 
 |         "binder/android/net/metrics/INetdEventListener.aidl", | 
 |     ], | 
 |     versions: ["1"], | 
 |     backend: { | 
 |         ndk: { | 
 |             apex_available: [ | 
 |                 "//apex_available:platform", | 
 |                 "com.android.resolv", | 
 |             ], | 
 |             min_sdk_version: "29", | 
 |         }, | 
 |         java: { | 
 |             apex_available: [ | 
 |                 "//apex_available:platform", | 
 |                 "com.android.wifi", | 
 |                 "com.android.tethering", | 
 |             ], | 
 |             min_sdk_version: "29", | 
 |         }, | 
 |     }, | 
 | } | 
 |  | 
 | java_library { | 
 |     name: "mdns_aidl_interface-lateststable-java", | 
 |     sdk_version: "module_current", | 
 |     min_sdk_version: "30", | 
 |     static_libs: [ | 
 |         "mdns_aidl_interface-V1-java", | 
 |     ], | 
 |     apex_available: [ | 
 |         "//apex_available:platform", | 
 |         "com.android.tethering", | 
 |     ], | 
 | } | 
 |  | 
 | aidl_interface { | 
 |     name: "mdns_aidl_interface", | 
 |     local_include_dir: "binder", | 
 |     srcs: [ | 
 |         "binder/android/net/mdns/aidl/**/*.aidl", | 
 |     ], | 
 |     backend: { | 
 |         java: { | 
 |             sdk_version: "module_current", | 
 |             apex_available: [ | 
 |                 "//apex_available:platform", | 
 |                 "com.android.tethering", | 
 |             ], | 
 |             min_sdk_version: "30", | 
 |         }, | 
 |     }, | 
 |     versions: ["1"], | 
 | } |