From f9eb48968fe5c5fe9239086ee1accf2e0ad6626b Mon Sep 17 00:00:00 2001 From: Xiao Ma Date: Fri, 18 Mar 2022 13:07:32 +0900 Subject: [PATCH] Add getInterfaceList module-lib API in EthernetManager. Bug: 171872016 Test: m Change-Id: Ib0e6c8f67c6ded7d17bb9e0ff49e7ff495c8819d --- .../src/android/net/EthernetManager.java | 17 +++++++++++++++++ .../src/android/net/IEthernetManager.aidl | 3 +++ 2 files changed, 20 insertions(+) diff --git a/packages/ConnectivityT/framework-t/src/android/net/EthernetManager.java b/packages/ConnectivityT/framework-t/src/android/net/EthernetManager.java index 217d670743d7f..fc9f1c6366a70 100644 --- a/packages/ConnectivityT/framework-t/src/android/net/EthernetManager.java +++ b/packages/ConnectivityT/framework-t/src/android/net/EthernetManager.java @@ -39,6 +39,7 @@ import com.android.modules.utils.BackgroundThread; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; +import java.util.List; import java.util.Objects; import java.util.concurrent.Executor; import java.util.function.IntConsumer; @@ -712,4 +713,20 @@ public class EthernetManager { maybeRemoveServiceListener(); } } + + /** + * Returns an array of existing Ethernet interface names regardless whether the interface + * is available or not currently. + * @hide + */ + @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) + @SystemApi(client = MODULE_LIBRARIES) + @NonNull + public List getInterfaceList() { + try { + return mService.getInterfaceList(); + } catch (RemoteException e) { + throw e.rethrowAsRuntimeException(); + } + } } diff --git a/packages/ConnectivityT/framework-t/src/android/net/IEthernetManager.aidl b/packages/ConnectivityT/framework-t/src/android/net/IEthernetManager.aidl index 44e27e26f5d20..42e4c1ac55aa3 100644 --- a/packages/ConnectivityT/framework-t/src/android/net/IEthernetManager.aidl +++ b/packages/ConnectivityT/framework-t/src/android/net/IEthernetManager.aidl @@ -23,6 +23,8 @@ import android.net.EthernetNetworkUpdateRequest; import android.net.INetworkInterfaceOutcomeReceiver; import android.net.ITetheredInterfaceCallback; +import java.util.List; + /** * Interface that answers queries about, and allows changing * ethernet configuration. @@ -44,4 +46,5 @@ interface IEthernetManager void connectNetwork(String iface, in INetworkInterfaceOutcomeReceiver listener); void disconnectNetwork(String iface, in INetworkInterfaceOutcomeReceiver listener); void setEthernetEnabled(boolean enabled); + List getInterfaceList(); }