diff options
| -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 6c23f89832fc..be32a74a4c44 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 27fb7bdf3209..013e77fc61f5 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 ba44cde95b71..114aa9cb7539 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() { |