summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java15
1 files changed, 11 insertions, 4 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
index ef08e19..33f993e 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
@@ -176,10 +176,7 @@ public class WifiTracker {
mScanner = new Scanner();
}
- mScanResultCache.clear();
- mSeenBssids.clear();
- mScanId = 0;
-
+ mWorkHandler.sendEmptyMessage(WorkHandler.MSG_RESUME);
if (mWifiManager.isWifiEnabled()) {
mScanner.resume();
}
@@ -251,6 +248,12 @@ public class WifiTracker {
}
}
+ private void handleResume() {
+ mScanResultCache.clear();
+ mSeenBssids.clear();
+ mScanId = 0;
+ }
+
private Collection<ScanResult> fetchScanResults() {
mScanId++;
final List<ScanResult> newResults = mWifiManager.getScanResults();
@@ -544,6 +547,7 @@ public class WifiTracker {
private final class WorkHandler extends Handler {
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;
public WorkHandler(Looper looper) {
super(looper);
@@ -558,6 +562,9 @@ public class WifiTracker {
case MSG_UPDATE_NETWORK_INFO:
updateNetworkInfo((NetworkInfo) msg.obj);
break;
+ case MSG_RESUME:
+ handleResume();
+ break;
}
}
}