WifiService: use wifi association state to determine if we should suspend wifi instead of
the existance of an IP address.
Signed-off-by: San Mehat <san@google.com>
diff --git a/services/java/com/android/server/WifiService.java b/services/java/com/android/server/WifiService.java
index e2aee42..5cbe7f3 100644
--- a/services/java/com/android/server/WifiService.java
+++ b/services/java/com/android/server/WifiService.java
@@ -1569,8 +1569,9 @@
* or plugged in to AC).
*/
if (!shouldWifiStayAwake(stayAwakeConditions, mPluggedType)) {
- if (!mWifiStateTracker.hasIpAddress()) {
- // do not keep Wifi awake when screen is off if Wifi is not fully active
+ WifiInfo info = mWifiStateTracker.requestConnectionInfo();
+ if (info.getSupplicantState() != SupplicantState.COMPLETED) {
+ // do not keep Wifi awake when screen is off if Wifi is not associated
mDeviceIdle = true;
updateWifiState();
} else {