Merge "Add new route.hasGateway() api" into jb-mr2-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
3016244ffb
@@ -60,6 +60,7 @@ public class RouteInfo implements Parcelable {
|
||||
|
||||
private final boolean mIsDefault;
|
||||
private final boolean mIsHost;
|
||||
private final boolean mHasGateway;
|
||||
|
||||
/**
|
||||
* Constructs a RouteInfo object.
|
||||
@@ -97,6 +98,8 @@ public class RouteInfo implements Parcelable {
|
||||
gateway = Inet6Address.ANY;
|
||||
}
|
||||
}
|
||||
mHasGateway = (!gateway.isAnyLocalAddress());
|
||||
|
||||
mDestination = new LinkAddress(NetworkUtils.getNetworkPart(destination.getAddress(),
|
||||
destination.getNetworkPrefixLength()), destination.getNetworkPrefixLength());
|
||||
mGateway = gateway;
|
||||
@@ -171,6 +174,10 @@ public class RouteInfo implements Parcelable {
|
||||
return mIsHost;
|
||||
}
|
||||
|
||||
public boolean hasGateway() {
|
||||
return mHasGateway;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
String val = "";
|
||||
if (mDestination != null) val = mDestination.toString();
|
||||
|
||||
@@ -1470,8 +1470,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
||||
loge("Error modifying route - no interface name");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (r.isHostRoute() == false) {
|
||||
if (r.hasGateway()) {
|
||||
RouteInfo bestRoute = RouteInfo.selectBestRoute(lp.getAllRoutes(), r.getGateway());
|
||||
if (bestRoute != null) {
|
||||
if (bestRoute.getGateway().equals(r.getGateway())) {
|
||||
|
||||
@@ -734,7 +734,7 @@ public final class WifiService extends IWifiManager.Stub {
|
||||
if (gateway instanceof Inet4Address) {
|
||||
info.gateway = NetworkUtils.inetAddressToInt((Inet4Address)gateway);
|
||||
}
|
||||
} else if (r.isHostRoute()) {
|
||||
} else if (r.hasGateway() == false) {
|
||||
LinkAddress dest = r.getDestination();
|
||||
if (dest.getAddress() instanceof Inet4Address) {
|
||||
info.netmask = NetworkUtils.prefixLengthToNetmaskInt(
|
||||
|
||||
Reference in New Issue
Block a user