Use the old interface when resetting connections

The new one is often null when disconnected, so using the new fails.
In other situations, it's the connections on the old network we want
to reset anyway, so the old code when it would work would also do
the wrong thing (unless new iface == old iface).

bug:9112928
Change-Id: I1fcae89cc3aa9d712e516e7c97cece0b89869bd9
This commit is contained in:
Robert Greenwalt
2013-05-23 18:33:06 -07:00
parent 4c32885c42
commit 80eb63b58b

View File

@ -2261,9 +2261,8 @@ public class ConnectivityService extends IConnectivityManager.Stub {
boolean resetDns = updateRoutes(newLp, curLp, mNetConfigs[netType].isDefault());
if (resetMask != 0 || resetDns) {
LinkProperties linkProperties = mNetTrackers[netType].getLinkProperties();
if (linkProperties != null) {
for (String iface : linkProperties.getAllInterfaceNames()) {
if (curLp != null) {
for (String iface : curLp.getAllInterfaceNames()) {
if (TextUtils.isEmpty(iface) == false) {
if (resetMask != 0) {
if (DBG) log("resetConnections(" + iface + ", " + resetMask + ")");
@ -2285,6 +2284,8 @@ public class ConnectivityService extends IConnectivityManager.Stub {
if (DBG) loge("Exception resetting dns cache: " + e);
}
}
} else {
loge("Can't reset connection for type "+netType);
}
}
}