Loading packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java +16 −11 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.settingslib.wifi; import android.annotation.MainThread; import android.annotation.Nullable; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; Loading Loading @@ -144,7 +143,7 @@ public class WifiTracker { @VisibleForTesting Scanner mScanner; private boolean mStaleScanResults = false; private boolean mStaleScanResults = true; public WifiTracker(Context context, WifiListener wifiListener, boolean includeSaved, boolean includeScans) { Loading Loading @@ -767,20 +766,21 @@ public class WifiTracker { public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(action)) { mStaleScanResults = false; } if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(action)) { updateWifiState(intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN)); } else if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(action) || WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION.equals(action) || WifiManager.LINK_CONFIGURATION_CHANGED_ACTION.equals(action)) { } else if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(action)) { mWorkHandler .obtainMessage( WorkHandler.MSG_UPDATE_ACCESS_POINTS, WorkHandler.CLEAR_STALE_SCAN_RESULTS, 0) .sendToTarget(); } else if (WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION.equals(action) || WifiManager.LINK_CONFIGURATION_CHANGED_ACTION.equals(action)) { mWorkHandler.sendEmptyMessage(WorkHandler.MSG_UPDATE_ACCESS_POINTS); } else if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(action)) { NetworkInfo info = (NetworkInfo) intent.getParcelableExtra( WifiManager.EXTRA_NETWORK_INFO); NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO); mConnected.set(info.isConnected()); mMainHandler.sendEmptyMessage(MainHandler.MSG_CONNECTED_CHANGED); Loading Loading @@ -872,6 +872,8 @@ public class WifiTracker { private static final int MSG_RESUME = 2; private static final int MSG_UPDATE_WIFI_STATE = 3; private static final int CLEAR_STALE_SCAN_RESULTS = 1; public WorkHandler(Looper looper) { super(looper); } Loading @@ -888,6 +890,9 @@ public class WifiTracker { switch (msg.what) { case MSG_UPDATE_ACCESS_POINTS: if (msg.arg1 == CLEAR_STALE_SCAN_RESULTS) { mStaleScanResults = false; } updateAccessPoints(); break; case MSG_UPDATE_NETWORK_INFO: Loading packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java +20 −1 Original line number Diff line number Diff line Loading @@ -724,7 +724,7 @@ public class WifiTrackerTest { verify(mockWifiManager, times(2)).getConfiguredNetworks(); verify(mockConnectivityManager).getNetworkInfo(any(Network.class)); verify(mockWifiListener).onAccessPointsChanged(); verify(mockWifiListener, never()).onAccessPointsChanged(); // mStaleAccessPoints is true assertThat(tracker.getAccessPoints().size()).isEqualTo(2); assertThat(tracker.getAccessPoints().get(0).isActive()).isTrue(); } Loading Loading @@ -797,6 +797,25 @@ public class WifiTrackerTest { sendScanResultsAndProcess(tracker); // verifies onAccessPointsChanged is invoked } @Test public void startTrackingShouldNotSendAnyCallbacksUntilScanResultsAreProcessed() throws Exception { WifiTracker tracker = createMockedWifiTracker(); startTracking(tracker); waitForHandlersToProcessCurrentlyEnqueuedMessages(tracker); tracker.mReceiver.onReceive(mContext, new Intent(WifiManager.WIFI_STATE_CHANGED_ACTION)); tracker.mReceiver.onReceive( mContext, new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION)); tracker.mReceiver.onReceive( mContext, new Intent(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION)); waitForHandlersToProcessCurrentlyEnqueuedMessages(tracker); verify(mockWifiListener, never()).onAccessPointsChanged(); sendScanResultsAndProcess(tracker); // verifies onAccessPointsChanged is invoked } @Test public void disablingWifiShouldClearExistingAccessPoints() throws Exception { WifiTracker tracker = createTrackerWithScanResultsAndAccessPoint1Connected(); Loading Loading
packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java +16 −11 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.settingslib.wifi; import android.annotation.MainThread; import android.annotation.Nullable; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; Loading Loading @@ -144,7 +143,7 @@ public class WifiTracker { @VisibleForTesting Scanner mScanner; private boolean mStaleScanResults = false; private boolean mStaleScanResults = true; public WifiTracker(Context context, WifiListener wifiListener, boolean includeSaved, boolean includeScans) { Loading Loading @@ -767,20 +766,21 @@ public class WifiTracker { public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(action)) { mStaleScanResults = false; } if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(action)) { updateWifiState(intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN)); } else if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(action) || WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION.equals(action) || WifiManager.LINK_CONFIGURATION_CHANGED_ACTION.equals(action)) { } else if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(action)) { mWorkHandler .obtainMessage( WorkHandler.MSG_UPDATE_ACCESS_POINTS, WorkHandler.CLEAR_STALE_SCAN_RESULTS, 0) .sendToTarget(); } else if (WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION.equals(action) || WifiManager.LINK_CONFIGURATION_CHANGED_ACTION.equals(action)) { mWorkHandler.sendEmptyMessage(WorkHandler.MSG_UPDATE_ACCESS_POINTS); } else if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(action)) { NetworkInfo info = (NetworkInfo) intent.getParcelableExtra( WifiManager.EXTRA_NETWORK_INFO); NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO); mConnected.set(info.isConnected()); mMainHandler.sendEmptyMessage(MainHandler.MSG_CONNECTED_CHANGED); Loading Loading @@ -872,6 +872,8 @@ public class WifiTracker { private static final int MSG_RESUME = 2; private static final int MSG_UPDATE_WIFI_STATE = 3; private static final int CLEAR_STALE_SCAN_RESULTS = 1; public WorkHandler(Looper looper) { super(looper); } Loading @@ -888,6 +890,9 @@ public class WifiTracker { switch (msg.what) { case MSG_UPDATE_ACCESS_POINTS: if (msg.arg1 == CLEAR_STALE_SCAN_RESULTS) { mStaleScanResults = false; } updateAccessPoints(); break; case MSG_UPDATE_NETWORK_INFO: Loading
packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java +20 −1 Original line number Diff line number Diff line Loading @@ -724,7 +724,7 @@ public class WifiTrackerTest { verify(mockWifiManager, times(2)).getConfiguredNetworks(); verify(mockConnectivityManager).getNetworkInfo(any(Network.class)); verify(mockWifiListener).onAccessPointsChanged(); verify(mockWifiListener, never()).onAccessPointsChanged(); // mStaleAccessPoints is true assertThat(tracker.getAccessPoints().size()).isEqualTo(2); assertThat(tracker.getAccessPoints().get(0).isActive()).isTrue(); } Loading Loading @@ -797,6 +797,25 @@ public class WifiTrackerTest { sendScanResultsAndProcess(tracker); // verifies onAccessPointsChanged is invoked } @Test public void startTrackingShouldNotSendAnyCallbacksUntilScanResultsAreProcessed() throws Exception { WifiTracker tracker = createMockedWifiTracker(); startTracking(tracker); waitForHandlersToProcessCurrentlyEnqueuedMessages(tracker); tracker.mReceiver.onReceive(mContext, new Intent(WifiManager.WIFI_STATE_CHANGED_ACTION)); tracker.mReceiver.onReceive( mContext, new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION)); tracker.mReceiver.onReceive( mContext, new Intent(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION)); waitForHandlersToProcessCurrentlyEnqueuedMessages(tracker); verify(mockWifiListener, never()).onAccessPointsChanged(); sendScanResultsAndProcess(tracker); // verifies onAccessPointsChanged is invoked } @Test public void disablingWifiShouldClearExistingAccessPoints() throws Exception { WifiTracker tracker = createTrackerWithScanResultsAndAccessPoint1Connected(); Loading