diff options
author | Android (Google) Code Review <android-gerrit@google.com> | 2009-09-22 02:02:04 -0400 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-09-22 02:02:04 -0400 |
commit | 2e2f6b5e6866cdba632bdd599cadbf235b80546f (patch) | |
tree | 7a12565eaafadd9b8614768734fb9dea336b5219 /wifi/java/android/net | |
parent | 9cea89c103bc876bb083a9ac1b845534dca6172b (diff) | |
parent | 7121ac5644f222763c99975bcce93c28775a6386 (diff) | |
download | frameworks_base-2e2f6b5e6866cdba632bdd599cadbf235b80546f.zip frameworks_base-2e2f6b5e6866cdba632bdd599cadbf235b80546f.tar.gz frameworks_base-2e2f6b5e6866cdba632bdd599cadbf235b80546f.tar.bz2 |
Merge change 26328 into eclair
* changes:
Fix the issue of 'Wifi framework is not aware of state change'
Diffstat (limited to 'wifi/java/android/net')
-rw-r--r-- | wifi/java/android/net/wifi/WifiStateTracker.java | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/wifi/java/android/net/wifi/WifiStateTracker.java b/wifi/java/android/net/wifi/WifiStateTracker.java index e3d8bf4..5638480 100644 --- a/wifi/java/android/net/wifi/WifiStateTracker.java +++ b/wifi/java/android/net/wifi/WifiStateTracker.java @@ -907,6 +907,7 @@ public class WifiStateTracker extends NetworkStateTracker { } } } else if (newState == SupplicantState.DISCONNECTED) { + mHaveIpAddress = false; if (isDriverStopped() || mDisconnectExpected) { handleDisconnectedState(DetailedState.DISCONNECTED); } else { @@ -1007,20 +1008,17 @@ public class WifiStateTracker extends NetworkStateTracker { setNotificationVisible(false, 0, false, 0); boolean wasDisconnectPending = mDisconnectPending; cancelDisconnect(); - if (!TextUtils.equals(mWifiInfo.getSSID(), mLastSsid)) { - /* - * The connection is fully configured as far as link-level - * connectivity is concerned, but we may still need to obtain - * an IP address. But do this only if we are connecting to - * a different network than we were connected to previously. - */ - if (wasDisconnectPending) { - DetailedState saveState = getNetworkInfo().getDetailedState(); - handleDisconnectedState(DetailedState.DISCONNECTED); - setDetailedStateInternal(saveState); - } - configureInterface(); + /* + * The connection is fully configured as far as link-level + * connectivity is concerned, but we may still need to obtain + * an IP address. + */ + if (wasDisconnectPending) { + DetailedState saveState = getNetworkInfo().getDetailedState(); + handleDisconnectedState(DetailedState.DISCONNECTED); + setDetailedStateInternal(saveState); } + configureInterface(); mLastBssid = result.BSSID; mLastSsid = mWifiInfo.getSSID(); mLastNetworkId = result.networkId; |