summaryrefslogtreecommitdiffstats
path: root/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java
diff options
context:
space:
mode:
authorRebecca Silberstein <silberst@google.com>2016-09-14 22:19:21 -0700
committerRebecca Silberstein <silberst@google.com>2016-09-17 01:40:55 -0700
commitd94a62ffdf0e7f282948109d05d96e682eb32eef (patch)
tree6cb079202fbedcfb52e52992e070f93496bdcdcf /service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java
parent5c96fb2af01e2db3060aab970891355fa63542fd (diff)
downloadandroid_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.java17
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) {