From a52c75ae248b11416865a667d5fc36a4cacc1aa6 Mon Sep 17 00:00:00 2001 From: Robert Greenwalt Date: Wed, 19 Aug 2009 20:19:33 -0700 Subject: [PATCH] Fix various issues found when testing Mms. Fix some race conditions (check isTeardownRequested). Fix the passing of mInterfaceName to subtypes (mms, etc). Fix the generation of CONNECTED message to already active subtypes. Fix the enabling of Data in DataConnectionTracker. bug: 2065037 --- services/java/com/android/server/ConnectivityService.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java index 72a1192db7..df37d35a74 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) {