summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java33
1 files changed, 19 insertions, 14 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
index c28288eb91b1..d3236d30bac4 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
@@ -470,20 +470,7 @@ public class WifiTracker {
}
private void updateWifiState(int state) {
- if (state == WifiManager.WIFI_STATE_ENABLED) {
- if (mScanner != null) {
- // We only need to resume if mScanner isn't null because
- // that means we want to be scanning.
- mScanner.resume();
- }
- } else {
- mLastInfo = null;
- mLastNetworkInfo = null;
- if (mScanner != null) {
- mScanner.pause();
- }
- }
- mMainHandler.obtainMessage(MainHandler.MSG_WIFI_STATE_CHANGED, state, 0).sendToTarget();
+ mWorkHandler.obtainMessage(WorkHandler.MSG_UPDATE_WIFI_STATE, state, 0).sendToTarget();
}
public static List<AccessPoint> getCurrentAccessPoints(Context context, boolean includeSaved,
@@ -566,6 +553,7 @@ public class WifiTracker {
private static final int MSG_UPDATE_ACCESS_POINTS = 0;
private static final int MSG_UPDATE_NETWORK_INFO = 1;
private static final int MSG_RESUME = 2;
+ private static final int MSG_UPDATE_WIFI_STATE = 3;
public WorkHandler(Looper looper) {
super(looper);
@@ -583,6 +571,23 @@ public class WifiTracker {
case MSG_RESUME:
handleResume();
break;
+ case MSG_UPDATE_WIFI_STATE:
+ if (msg.arg1 == WifiManager.WIFI_STATE_ENABLED) {
+ if (mScanner != null) {
+ // We only need to resume if mScanner isn't null because
+ // that means we want to be scanning.
+ mScanner.resume();
+ }
+ } else {
+ mLastInfo = null;
+ mLastNetworkInfo = null;
+ if (mScanner != null) {
+ mScanner.pause();
+ }
+ }
+ mMainHandler.obtainMessage(MainHandler.MSG_WIFI_STATE_CHANGED, msg.arg1, 0)
+ .sendToTarget();
+ break;
}
}
}