am 5afb4666: Merge "Add RouteInfo objects for tracking routes." into honeycomb-LTE

* commit '5afb46660c3f6e622302bbd77c25f9e1275f2c2f':
  Add RouteInfo objects for tracking routes.
This commit is contained in:
Robert Greenwalt
2011-05-02 13:29:22 -07:00
committed by Android Git Automerger
5 changed files with 237 additions and 49 deletions

View File

@@ -34,6 +34,7 @@ import android.net.NetworkStateTracker;
import android.net.NetworkUtils;
import android.net.Proxy;
import android.net.ProxyProperties;
import android.net.RouteInfo;
import android.net.vpn.VpnManager;
import android.net.wifi.WifiStateTracker;
import android.os.Binder;
@@ -1417,14 +1418,19 @@ public class ConnectivityService extends IConnectivityManager.Stub {
if (p == null) return;
String interfaceName = p.getInterfaceName();
if (TextUtils.isEmpty(interfaceName)) return;
for (InetAddress gateway : p.getGateways()) {
for (RouteInfo route : p.getRoutes()) {
if (NetworkUtils.addHostRoute(interfaceName, gateway, null) &&
NetworkUtils.addDefaultRoute(interfaceName, gateway)) {
if (DBG) {
NetworkInfo networkInfo = nt.getNetworkInfo();
log("addDefaultRoute for " + networkInfo.getTypeName() +
" (" + interfaceName + "), GatewayAddr=" + gateway.getHostAddress());
//TODO - handle non-default routes
if (route.isDefaultRoute()) {
InetAddress gateway = route.getGateway();
if (NetworkUtils.addHostRoute(interfaceName, gateway, null) &&
NetworkUtils.addDefaultRoute(interfaceName, gateway)) {
if (DBG) {
NetworkInfo networkInfo = nt.getNetworkInfo();
log("addDefaultRoute for " + networkInfo.getTypeName() +
" (" + interfaceName + "), GatewayAddr=" +
gateway.getHostAddress());
}
}
}
}