summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2017-06-07 22:49:14 +0000
committerRoshan Pius <rpius@google.com>2017-06-07 22:49:48 +0000
commitae5d7343534f7f41c53f98a1782183405ff32a0d (patch)
tree47c76e76932ccd5d285ffb0d34bbcfca180dca2e
parent24dc6bb288a15516c89ab507bb86511556824144 (diff)
downloadandroid_frameworks_opt_net_wifi-ae5d7343534f7f41c53f98a1782183405ff32a0d.tar.gz
android_frameworks_opt_net_wifi-ae5d7343534f7f41c53f98a1782183405ff32a0d.tar.bz2
android_frameworks_opt_net_wifi-ae5d7343534f7f41c53f98a1782183405ff32a0d.zip
Revert "WifiScanningService: Don't cache results of partial scan"
This reverts commit 24dc6bb288a15516c89ab507bb86511556824144. BUG: 62394341 Change-Id: Ice9c5d34a374d5a600e0797504d3c4774e4b2ace
-rw-r--r--service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java8
-rw-r--r--tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java62
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 d73bf053c..ef881dad6 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