diff options
| author | 2016-07-06 13:09:41 +0000 | |
|---|---|---|
| committer | 2016-07-06 13:09:42 +0000 | |
| commit | 58ef88927d5e28318920a135bba8edf5409115fe (patch) | |
| tree | 2e95986b9adbace54bd1591c18b321faabb63e60 | |
| parent | 0a4315194df1b42818a9f43bd5145813bf59a1d9 (diff) | |
| parent | 4e37b7044018153bf294a0e9e834681c46c050d7 (diff) | |
Merge "[net mgmt svc] add method to retrieve INetd reference" into nyc-mr1-dev
| -rw-r--r-- | Android.mk | 3 | ||||
| -rw-r--r-- | core/java/android/os/INetworkManagementService.aidl | 8 | ||||
| -rw-r--r-- | services/core/java/com/android/server/NetworkManagementService.java | 11 |
3 files changed, 21 insertions, 1 deletions
diff --git a/Android.mk b/Android.mk index 0b33301ce5ac..5766e46658c3 100644 --- a/Android.mk +++ b/Android.mk @@ -468,6 +468,9 @@ LOCAL_SRC_FILES += \ ../../system/update_engine/binder_bindings/android/os/IUpdateEngine.aidl \ ../../system/update_engine/binder_bindings/android/os/IUpdateEngineCallback.aidl \ +LOCAL_SRC_FILES += \ + ../../system/netd/server/binder/android/net/INetd.aidl \ + LOCAL_AIDL_INCLUDES += system/update_engine/binder_bindings # FRAMEWORKS_BASE_JAVA_SRC_DIRS comes from build/core/pathmap.mk diff --git a/core/java/android/os/INetworkManagementService.aidl b/core/java/android/os/INetworkManagementService.aidl index 36ba6966effa..efdb4b5d8c61 100644 --- a/core/java/android/os/INetworkManagementService.aidl +++ b/core/java/android/os/INetworkManagementService.aidl @@ -18,6 +18,7 @@ package android.os; import android.net.InterfaceConfiguration; +import android.net.INetd; import android.net.INetworkManagementEventObserver; import android.net.Network; import android.net.NetworkStats; @@ -36,7 +37,7 @@ interface INetworkManagementService **/ /** - * Register an observer to receive events + * Register an observer to receive events. */ void registerObserver(INetworkManagementEventObserver obs); @@ -46,6 +47,11 @@ interface INetworkManagementService void unregisterObserver(INetworkManagementEventObserver obs); /** + * Retrieve an INetd to talk to netd. + */ + INetd getNetdService(); + + /** * Returns a list of currently known network interfaces */ String[] listInterfaces(); diff --git a/services/core/java/com/android/server/NetworkManagementService.java b/services/core/java/com/android/server/NetworkManagementService.java index f2368779336d..be9d836ebca4 100644 --- a/services/core/java/com/android/server/NetworkManagementService.java +++ b/services/core/java/com/android/server/NetworkManagementService.java @@ -971,6 +971,17 @@ public class NetworkManagementService extends INetworkManagementService.Stub // // INetworkManagementService members // + @Override + public INetd getNetdService() throws RemoteException { + final CountDownLatch connectedSignal = mConnectedSignal; + if (connectedSignal != null) { + try { + connectedSignal.await(); + } catch (InterruptedException ignored) {} + } + + return mNetdService; + } @Override public String[] listInterfaces() { |