diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2017-06-08 16:27:40 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-06-08 16:27:42 +0000 |
commit | 04977155d75180c629a6c44b9db1fa9d2e250e76 (patch) | |
tree | 6c277110263b5ddf1febc6cd72923a4da3f5e9ea | |
parent | 9d3c282e9e8042c59f1bff67cdb7859b5c1977be (diff) | |
parent | ae5d7343534f7f41c53f98a1782183405ff32a0d (diff) | |
download | android_frameworks_opt_net_wifi-04977155d75180c629a6c44b9db1fa9d2e250e76.tar.gz android_frameworks_opt_net_wifi-04977155d75180c629a6c44b9db1fa9d2e250e76.tar.bz2 android_frameworks_opt_net_wifi-04977155d75180c629a6c44b9db1fa9d2e250e76.zip |
Merge "Revert "WifiScanningService: Don't cache results of partial scan"" into oc-dev
-rw-r--r-- | service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java | 8 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java | 62 |
2 files changed, 4 insertions, 66 deletions
diff --git a/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java b/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java index 771e336d5..08c9e1359 100644 --- a/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java +++ b/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java @@ -447,7 +447,6 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub { private RequestList<ScanSettings> mActiveScans = new RequestList<>(); private RequestList<ScanSettings> mPendingScans = new RequestList<>(); - // Scan results cached from the last full single scan request. private ScanResult[] mCachedScanResults = new ScanResult[0]; WifiSingleScanStateMachine(Looper looper) { @@ -880,11 +879,8 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub { entry.reportEvent(WifiScanner.CMD_SCAN_RESULT, 0, parcelableAllResults); } - // Since we use NoBandChannelHelper, as long as a specific band is mentioned, the scan - // request is treated as full band (WifiScanner.WIFI_BAND_*). - if (results.isAllChannelsScanned()) { - mCachedScanResults = results.getResults(); - } + // Cache the results here so that apps can retrieve them. + mCachedScanResults = results.getResults(); sendScanResultBroadcast(true); } diff --git a/tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java b/tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java index d9fbb1d28..e7c5fa962 100644 --- a/tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java +++ b/tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java @@ -1257,10 +1257,10 @@ public class WifiScanningServiceTest { } /** - * Verify that the newest full scan results are returned by WifiService.getSingleScanResults. + * Verify that the newest scan results are returned by WifiService.getSingleScanResults. */ @Test - public void retrieveMostRecentFullSingleScanResults() throws Exception { + public void retrieveMostRecentSingleScanResults() throws Exception { WifiScanner.ScanSettings requestSettings = createRequest(WifiScanner.WIFI_BAND_BOTH, 0, 0, 20, WifiScanner.REPORT_EVENT_AFTER_EACH_SCAN); ScanResults expectedResults = ScanResults.create(0, true, 2400, 5150, 5175); @@ -1312,64 +1312,6 @@ public class WifiScanningServiceTest { } /** - * Verify that the newest partial scan results are not returned by - * WifiService.getSingleScanResults. - */ - @Test - public void doesNotRetrieveMostRecentPartialSingleScanResults() throws Exception { - WifiScanner.ScanSettings fullRequestSettings = createRequest(WifiScanner.WIFI_BAND_BOTH, 0, - 0, 20, WifiScanner.REPORT_EVENT_AFTER_EACH_SCAN); - ScanResults expectedFullResults = ScanResults.create(0, true, 2400, 5150, 5175); - doSuccessfulSingleScan(fullRequestSettings, - computeSingleScanNativeSettings(fullRequestSettings), - expectedFullResults); - - Handler handler = mock(Handler.class); - BidirectionalAsyncChannel controlChannel = connectChannel(handler); - InOrder order = inOrder(handler, mWifiScannerImpl); - - controlChannel.sendMessage( - Message.obtain(null, WifiScanner.CMD_GET_SINGLE_SCAN_RESULTS, 0)); - mLooper.dispatchAll(); - Message response = verifyHandleMessageAndGetMessage(order, handler); - - List<ScanResult> results = Arrays.asList( - ((WifiScanner.ParcelableScanResults) response.obj).getResults()); - assertEquals(results.size(), expectedFullResults.getRawScanResults().length); - - // now update with a new scan that only has one result - int secondScanRequestId = 35; - WifiScanner.ScanSettings partialRequestSettings = createRequest(WifiScanner.WIFI_BAND_BOTH, - 0, 0, 20, WifiScanner.REPORT_EVENT_AFTER_EACH_SCAN); - ScanResults expectedPartialResults = ScanResults.create(0, false, 5150); - sendSingleScanRequest(controlChannel, secondScanRequestId, partialRequestSettings, null); - - mLooper.dispatchAll(); - WifiNative.ScanEventHandler eventHandler = verifyStartSingleScan(order, - computeSingleScanNativeSettings(partialRequestSettings)); - verifySuccessfulResponse(order, handler, secondScanRequestId); - - // dispatch scan 2 results - when(mWifiScannerImpl.getLatestSingleScanResults()) - .thenReturn(expectedPartialResults.getScanData()); - eventHandler.onScanStatus(WifiNative.WIFI_SCAN_RESULTS_AVAILABLE); - - mLooper.dispatchAll(); - verifyScanResultsReceived(order, handler, secondScanRequestId, - expectedPartialResults.getScanData()); - verifySingleScanCompletedReceived(order, handler, secondScanRequestId); - - controlChannel.sendMessage( - Message.obtain(null, WifiScanner.CMD_GET_SINGLE_SCAN_RESULTS, 0)); - mLooper.dispatchAll(); - Message response2 = verifyHandleMessageAndGetMessage(order, handler); - - List<ScanResult> results2 = Arrays.asList( - ((WifiScanner.ParcelableScanResults) response2.obj).getResults()); - assertEquals(results2.size(), expectedFullResults.getRawScanResults().length); - } - - /** * Cached scan results should be cleared after the driver is unloaded. */ @Test |