diff options
author | Robert Greenwalt <rgreenwalt@google.com> | 2013-04-11 16:29:38 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-04-11 16:29:38 -0700 |
commit | 5ec50ebd9a66895f5ac9c5c2df2a8790fe08d986 (patch) | |
tree | 85b6f0bf5d20b18890e66c373239d5dc4ebf0d49 /services/java | |
parent | cda712266f88e05195018dce31cf76511e0e3637 (diff) | |
parent | b7e6a4433bda6c59540ffc51061aff5cc3d10166 (diff) | |
download | frameworks_base-5ec50ebd9a66895f5ac9c5c2df2a8790fe08d986.zip frameworks_base-5ec50ebd9a66895f5ac9c5c2df2a8790fe08d986.tar.gz frameworks_base-5ec50ebd9a66895f5ac9c5c2df2a8790fe08d986.tar.bz2 |
am b7e6a443: Merge "Routing workaround." into jb-mr2-dev
* commit 'b7e6a4433bda6c59540ffc51061aff5cc3d10166':
Routing workaround.
Diffstat (limited to 'services/java')
-rw-r--r-- | services/java/com/android/server/ConnectivityService.java | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java index 9adf945..f320562 100644 --- a/services/java/com/android/server/ConnectivityService.java +++ b/services/java/com/android/server/ConnectivityService.java @@ -2347,28 +2347,6 @@ public class ConnectivityService extends IConnectivityManager.Stub { } } - for (RouteInfo r : routeDiff.added) { - if (isLinkDefault || ! r.isDefaultRoute()) { - addRoute(newLp, r, TO_DEFAULT_TABLE); - } else { - // add to a secondary route table - addRoute(newLp, r, TO_SECONDARY_TABLE); - - // many radios add a default route even when we don't want one. - // remove the default route unless somebody else has asked for it - String ifaceName = newLp.getInterfaceName(); - if (TextUtils.isEmpty(ifaceName) == false && mAddedRoutes.contains(r) == false) { - if (VDBG) log("Removing " + r + " for interface " + ifaceName); - try { - mNetd.removeRoute(ifaceName, r); - } catch (Exception e) { - // never crash - catch them all - if (DBG) loge("Exception trying to remove a route: " + e); - } - } - } - } - if (!isLinkDefault) { // handle DNS routes if (routesChanged) { @@ -2393,6 +2371,29 @@ public class ConnectivityService extends IConnectivityManager.Stub { } } } + + for (RouteInfo r : routeDiff.added) { + if (isLinkDefault || ! r.isDefaultRoute()) { + addRoute(newLp, r, TO_DEFAULT_TABLE); + } else { + // add to a secondary route table + addRoute(newLp, r, TO_SECONDARY_TABLE); + + // many radios add a default route even when we don't want one. + // remove the default route unless somebody else has asked for it + String ifaceName = newLp.getInterfaceName(); + if (TextUtils.isEmpty(ifaceName) == false && mAddedRoutes.contains(r) == false) { + if (VDBG) log("Removing " + r + " for interface " + ifaceName); + try { + mNetd.removeRoute(ifaceName, r); + } catch (Exception e) { + // never crash - catch them all + if (DBG) loge("Exception trying to remove a route: " + e); + } + } + } + } + return routesChanged; } |