diff options
author | Rebecca Silberstein <silberst@google.com> | 2016-09-14 22:19:21 -0700 |
---|---|---|
committer | Rebecca Silberstein <silberst@google.com> | 2016-09-17 01:40:55 -0700 |
commit | d94a62ffdf0e7f282948109d05d96e682eb32eef (patch) | |
tree | 6cb079202fbedcfb52e52992e070f93496bdcdcf /service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java | |
parent | 5c96fb2af01e2db3060aab970891355fa63542fd (diff) | |
download | android_frameworks_opt_net_wifi-d94a62ffdf0e7f282948109d05d96e682eb32eef.tar.gz android_frameworks_opt_net_wifi-d94a62ffdf0e7f282948109d05d96e682eb32eef.tar.bz2 android_frameworks_opt_net_wifi-d94a62ffdf0e7f282948109d05d96e682eb32eef.zip |
WifiService: get scan results from WifiScanner
Retrieve scan results in WifiServiceImpl from WifiScanner instead of
WifiStateMachine. This utilizes a new method and message type in
WifiScanner. Tests are added to verify the scan results are returned,
updated and cleared properly. This CL additionally fixes a few typos
in tests.
Removal of cached scan results from WifiStateMachine will be included in
a separate CL.
BUG: 31444878
Test: manually tested from settings UI
Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Test: ran GTS CtsNetTestCases
Change-Id: I02c4e24030d2801eb195a84177d908574de0596e
Diffstat (limited to 'service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java')
-rw-r--r-- | service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java b/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java index bcae0980b..7de0dc2d3 100644 --- a/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java +++ b/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java @@ -182,12 +182,18 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub { return; } - // Since this message is sent from WifiScanner using |sendMessageSynchronously| which - // doesn't set the correct |msg.replyTo| field. + // Since the CMD_GET_SCAN_RESULTS and CMD_GET_SINGLE_SCAN_RESULTS messages are + // sent from WifiScanner using |sendMessageSynchronously|, handle separately since + // the |msg.replyTo| field does not actually correspond to the Messenger that is + // registered for that client. if (msg.what == WifiScanner.CMD_GET_SCAN_RESULTS) { mBackgroundScanStateMachine.sendMessage(Message.obtain(msg)); return; } + if (msg.what == WifiScanner.CMD_GET_SINGLE_SCAN_RESULTS) { + mSingleScanStateMachine.sendMessage(Message.obtain(msg)); + return; + } ClientInfo ci = mClients.get(msg.replyTo); if (ci == null) { @@ -521,6 +527,10 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub { case CMD_FULL_SCAN_RESULTS: if (DBG) localLog("ignored full scan result event"); return HANDLED; + case WifiScanner.CMD_GET_SINGLE_SCAN_RESULTS: + msg.obj = new WifiScanner.ParcelableScanResults(mCachedScanResults); + replySucceeded(msg); + return HANDLED; default: return NOT_HANDLED; } @@ -2113,6 +2123,9 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub { Message reply = Message.obtain(); reply.what = WifiScanner.CMD_OP_SUCCEEDED; reply.arg2 = msg.arg2; + if (msg.obj != null) { + reply.obj = msg.obj; + } try { msg.replyTo.send(reply); } catch (RemoteException e) { |