Have a new library - netd-client in frameworks/libs/net

Move BaseNetdUnsolicitedEventListener from tethering module to
frameworks/libs/net and have a new library for it.
Tethering module can still use BaseNetdUnsolicitedEventListener
through netd-client and ConnectivityService and Nat464Xlat also
can use it when both of them are under frameworks/base.

Bug: 174837473
Test: Manual test and check the log.
Change-Id: I44dff1c7639e50b8f20b54c6d5733139b20e2986
This commit is contained in:
lucaslin 2020-12-30 10:19:09 +08:00
commit 37a2effb07
2 changed files with 94 additions and 0 deletions

View file

@ -0,0 +1,19 @@
java_library {
name: "netd-client",
srcs: ["netd/**/*"],
sdk_version: "system_current",
min_sdk_version: "29",
apex_available: [
"//apex_available:platform",
"com.android.tethering"
],
visibility: [
"//packages/modules/Connectivity/Tethering",
"//frameworks/base/services:__subpackages__"
],
libs: ["androidx.annotation_annotation"],
static_libs: [
"netd_aidl_interface-java",
"netd_event_listener_interface-java"
]
}

View file

@ -0,0 +1,75 @@
/*
* 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 com.android.net.module.util;
import android.net.INetdUnsolicitedEventListener;
import androidx.annotation.NonNull;
/**
* Base {@link INetdUnsolicitedEventListener} that provides no-op implementations which can be
* overridden.
*/
public class BaseNetdUnsolicitedEventListener extends INetdUnsolicitedEventListener.Stub {
@Override
public void onInterfaceClassActivityChanged(boolean isActive, int timerLabel, long timestampNs,
int uid) { }
@Override
public void onQuotaLimitReached(@NonNull String alertName, @NonNull String ifName) { }
@Override
public void onInterfaceDnsServerInfo(@NonNull String ifName, long lifetimeS,
@NonNull String[] servers) { }
@Override
public void onInterfaceAddressUpdated(@NonNull String addr, String ifName, int flags,
int scope) { }
@Override
public void onInterfaceAddressRemoved(@NonNull String addr, @NonNull String ifName, int flags,
int scope) { }
@Override
public void onInterfaceAdded(@NonNull String ifName) { }
@Override
public void onInterfaceRemoved(@NonNull String ifName) { }
@Override
public void onInterfaceChanged(@NonNull String ifName, boolean up) { }
@Override
public void onInterfaceLinkStateChanged(@NonNull String ifName, boolean up) { }
@Override
public void onRouteChanged(boolean updated, @NonNull String route, @NonNull String gateway,
@NonNull String ifName) { }
@Override
public void onStrictCleartextDetected(int uid, @NonNull String hex) { }
@Override
public int getInterfaceVersion() {
return INetdUnsolicitedEventListener.VERSION;
}
@Override
public String getInterfaceHash() {
return INetdUnsolicitedEventListener.HASH;
}
}