Merge "[net mgmt svc] add method to retrieve INetd reference" into nyc-mr1-dev

This commit is contained in:
TreeHugger Robot
2016-07-06 13:09:41 +00:00
committed by Android (Google) Code Review
3 changed files with 21 additions and 1 deletions

View File

@@ -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

View File

@@ -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);
@@ -45,6 +46,11 @@ interface INetworkManagementService
*/
void unregisterObserver(INetworkManagementEventObserver obs);
/**
* Retrieve an INetd to talk to netd.
*/
INetd getNetdService();
/**
* Returns a list of currently known network interfaces
*/

View File

@@ -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() {