summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/ConnectivityService.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/java/com/android/server/ConnectivityService.java')
-rw-r--r--services/java/com/android/server/ConnectivityService.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index 72a1192..df37d35 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -513,7 +513,8 @@ public class ConnectivityService extends IConnectivityManager.Stub {
mNetRequestersPids[usedNetworkType].add(currentPid);
}
- if (ni.isConnectedOrConnecting() == true) {
+ if ((ni.isConnectedOrConnecting() == true) &&
+ !network.isTeardownRequested()) {
if (ni.isConnected() == true) {
// add the pid-specific dns
handleDnsConfigurationChange();
@@ -686,6 +687,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
++numConnectedNets;
}
}
+ if (DBG) Log.d(TAG, "numConnectedNets returning "+numConnectedNets);
return numConnectedNets;
}
@@ -792,7 +794,8 @@ public class ConnectivityService extends IConnectivityManager.Stub {
if (newNet.isAvailable()) {
NetworkInfo switchTo = newNet.getNetworkInfo();
switchTo.setFailover(true);
- if (!switchTo.isConnectedOrConnecting()) {
+ if (!switchTo.isConnectedOrConnecting() ||
+ newNet.isTeardownRequested()) {
newNet.reconnect();
}
if (DBG) {