Small fix to 5008973 fix.

Removed redundent log.
Cleaned some logic.
Will try to modify route even if recursive operation had an error.

bug: 5008973
Change-Id: Ie2ca51cc39cfac027a8a2e2eaddcb7d6c378c4da
This commit is contained in:
Robert Greenwalt
2011-07-15 09:45:08 -07:00
parent e8d2a4a8a0
commit 57c83bb4e6

View File

@@ -966,12 +966,15 @@ public class ConnectivityService extends IConnectivityManager.Stub {
if (r.isHostRoute() == false) {
RouteInfo bestRoute = RouteInfo.selectBestRoute(lp.getRoutes(), r.getGateway());
if (bestRoute != null) {
if (bestRoute.getGateway().equals(r.getGateway()) == false) {
bestRoute = RouteInfo.makeHostRoute(r.getGateway(), bestRoute.getGateway());
} else {
if (bestRoute.getGateway().equals(r.getGateway())) {
// if there is no better route, add the implied hostroute for our gateway
bestRoute = RouteInfo.makeHostRoute(r.getGateway());
} else {
// if we will connect to our gateway through another route, add a direct
// route to it's gateway
bestRoute = RouteInfo.makeHostRoute(r.getGateway(), bestRoute.getGateway());
}
if (!modifyRoute(ifaceName, lp, bestRoute, cycleCount+1, doAdd)) return false;
modifyRoute(ifaceName, lp, bestRoute, cycleCount+1, doAdd);
}
}
if (doAdd) {
@@ -1050,9 +1053,6 @@ public class ConnectivityService extends IConnectivityManager.Stub {
public void setDataDependency(int networkType, boolean met) {
enforceConnectivityInternalPermission();
if (DBG) {
log("setDataDependency(" + networkType + ", " + met + ")");
}
mHandler.sendMessage(mHandler.obtainMessage(EVENT_SET_DEPENDENCY_MET,
(met ? ENABLED : DISABLED), networkType));
}