summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/java/com/android/server/wifi/WifiService.java18
1 files changed, 5 insertions, 13 deletions
diff --git a/services/java/com/android/server/wifi/WifiService.java b/services/java/com/android/server/wifi/WifiService.java
index 956019951e53..5cf1966e4e42 100644
--- a/services/java/com/android/server/wifi/WifiService.java
+++ b/services/java/com/android/server/wifi/WifiService.java
@@ -121,8 +121,6 @@ public final class WifiService extends IWifiManager.Stub {
* on this */
private WorkSource mScanWorkSource;
- private boolean mIsReceiverRegistered = false;
-
/**
* Asynchronous channel to WifiStateMachine
*/
@@ -272,6 +270,11 @@ public final class WifiService extends IWifiManager.Stub {
}
}
}, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
+
+ // Adding optimizations of only receiving broadcasts when wifi is enabled
+ // can result in race conditions when apps toggle wifi in the background
+ // without active user involvement. Always receive broadcasts.
+ registerForBroadcasts();
}
private WifiController mWifiController;
@@ -421,17 +424,6 @@ public final class WifiService extends IWifiManager.Stub {
}
mWifiController.sendMessage(CMD_WIFI_TOGGLED);
-
- if (enable) {
- if (!mIsReceiverRegistered) {
- registerForBroadcasts();
- mIsReceiverRegistered = true;
- }
- } else if (mIsReceiverRegistered) {
- mContext.unregisterReceiver(mReceiver);
- mIsReceiverRegistered = false;
- }
-
return true;
}