diff options
author | Roshan Pius <rpius@google.com> | 2017-06-08 16:30:53 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-06-08 16:30:53 +0000 |
commit | 12f18f1708c4d27388478230c03fd51a59e22f98 (patch) | |
tree | fabf8cc8bd4ff1351e8f39b9db10da87b4bbe79a | |
parent | 0419ded5c1e245358b205efee2599c58f894616c (diff) | |
parent | 04977155d75180c629a6c44b9db1fa9d2e250e76 (diff) |
Merge "Revert "WifiScanningService: Don't cache results of partial scan"" into oc-dev
am: 04977155d7
Change-Id: I02702b6579ac10edc773b55e0e7de23cdb7c6d9a
-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 84d82b394..e1e467a39 100644 --- a/tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java +++ b/tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java @@ -1258,10 +1258,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); @@ -1313,64 +1313,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 |