summaryrefslogtreecommitdiffstats
path: root/wifi
diff options
context:
space:
mode:
authorRobert Greenwalt <rgreenwalt@google.com>2011-06-15 12:22:07 -0700
committerRobert Greenwalt <rgreenwalt@google.com>2011-06-16 11:26:54 -0700
commitec896c6a863b3cc0a55538a19879e2112b5b8658 (patch)
treef13477e726080b2bf768ff7022803371021a59ff /wifi
parenteb5e633a2488456874f829263fa6cb96588d25aa (diff)
downloadframeworks_base-ec896c6a863b3cc0a55538a19879e2112b5b8658.zip
frameworks_base-ec896c6a863b3cc0a55538a19879e2112b5b8658.tar.gz
frameworks_base-ec896c6a863b3cc0a55538a19879e2112b5b8658.tar.bz2
Reset connections AFTER we take down the network.
If you do it before you have a race condition and some apps will manage to reconnect on the dieing network before it goes and then get no notification when it goes. bug: 3408025 Change-Id: I5386ff313c759b3f687bc38731454ab43dbe76b8
Diffstat (limited to 'wifi')
-rw-r--r--wifi/java/android/net/wifi/WifiStateMachine.java10
1 files changed, 3 insertions, 7 deletions
diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java
index 3cbf726..d10a5d8 100644
--- a/wifi/java/android/net/wifi/WifiStateMachine.java
+++ b/wifi/java/android/net/wifi/WifiStateMachine.java
@@ -1362,7 +1362,7 @@ public class WifiStateMachine extends StateMachine {
intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT
| Intent.FLAG_RECEIVER_REPLACE_PENDING);
intent.putExtra(WifiManager.EXTRA_NETWORK_INFO, mNetworkInfo);
- intent.putExtra(WifiManager.EXTRA_LINK_PROPERTIES, mLinkProperties);
+ intent.putExtra(WifiManager.EXTRA_LINK_PROPERTIES, new LinkProperties (mLinkProperties));
if (bssid != null)
intent.putExtra(WifiManager.EXTRA_BSSID, bssid);
mContext.sendStickyBroadcast(intent);
@@ -1378,7 +1378,7 @@ public class WifiStateMachine extends StateMachine {
private void sendLinkConfigurationChangedBroadcast() {
Intent intent = new Intent(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION);
intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
- intent.putExtra(WifiManager.EXTRA_LINK_PROPERTIES, mLinkProperties);
+ intent.putExtra(WifiManager.EXTRA_LINK_PROPERTIES, new LinkProperties(mLinkProperties));
mContext.sendBroadcast(intent);
}
@@ -1413,10 +1413,8 @@ public class WifiStateMachine extends StateMachine {
Log.d(TAG, "Reset connections and stopping DHCP");
/*
- * Reset connections & stop DHCP
+ * stop DHCP
*/
- NetworkUtils.resetConnections(mInterfaceName);
-
if (mDhcpStateMachine != null) {
mDhcpStateMachine.sendMessage(DhcpStateMachine.CMD_STOP_DHCP);
mDhcpStateMachine.quit();
@@ -1509,7 +1507,6 @@ public class WifiStateMachine extends StateMachine {
if (!linkProperties.equals(mLinkProperties)) {
Log.d(TAG, "Link configuration changed for netId: " + mLastNetworkId
+ " old: " + mLinkProperties + "new: " + linkProperties);
- NetworkUtils.resetConnections(mInterfaceName);
mLinkProperties = linkProperties;
sendLinkConfigurationChangedBroadcast();
}
@@ -2787,7 +2784,6 @@ public class WifiStateMachine extends StateMachine {
if (mWifiInfo.getNetworkId() == result.getNetworkId()) {
if (result.hasIpChanged()) {
Log.d(TAG,"Reconfiguring IP on connection");
- NetworkUtils.resetConnections(mInterfaceName);
transitionTo(mConnectingState);
}
if (result.hasProxyChanged()) {