summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorDavid Su <dysu@google.com>2019-11-29 03:27:22 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-11-29 03:27:22 +0000
commite82b8608ecb4aef36457c3312de181a94e82256f (patch)
treedd65b2f28438bc182ac6d340bdc54af4db62f3bb /service
parentc3aa2712ce17a826335ba38577b37206e699f0cf (diff)
parenta2949725ba019f99b0b18f7c75ec49ae83af44ba (diff)
Merge "Rename WifiScanner scan types, clean up hidden network"
Diffstat (limited to 'service')
-rw-r--r--service/java/com/android/server/wifi/ScanRequestProxy.java10
-rw-r--r--service/java/com/android/server/wifi/WakeupController.java2
-rw-r--r--service/java/com/android/server/wifi/WifiConnectivityManager.java10
-rw-r--r--service/java/com/android/server/wifi/WifiNetworkFactory.java11
-rw-r--r--service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java29
5 files changed, 28 insertions, 34 deletions
diff --git a/service/java/com/android/server/wifi/ScanRequestProxy.java b/service/java/com/android/server/wifi/ScanRequestProxy.java
index 0a648d4b4..185523904 100644
--- a/service/java/com/android/server/wifi/ScanRequestProxy.java
+++ b/service/java/com/android/server/wifi/ScanRequestProxy.java
@@ -484,21 +484,19 @@ public class ScanRequestProxy {
WifiScanner.ScanSettings settings = new WifiScanner.ScanSettings();
// Scan requests from apps with network settings will be of high accuracy type.
if (fromSettingsOrSetupWizard) {
- settings.type = WifiScanner.TYPE_HIGH_ACCURACY;
+ settings.type = WifiScanner.SCAN_TYPE_HIGH_ACCURACY;
}
// always do full scans
settings.band = WifiScanner.WIFI_BAND_BOTH_WITH_DFS;
settings.reportEvents = WifiScanner.REPORT_EVENT_AFTER_EACH_SCAN
| WifiScanner.REPORT_EVENT_FULL_SCAN_RESULT;
if (mScanningForHiddenNetworksEnabled) {
+ settings.hiddenNetworks.clear();
// retrieve the list of hidden network SSIDs from saved network to scan for, if enabled.
- List<WifiScanner.ScanSettings.HiddenNetwork> hiddenNetworkList =
- new ArrayList<>(mWifiConfigManager.retrieveHiddenNetworkList());
+ settings.hiddenNetworks.addAll(mWifiConfigManager.retrieveHiddenNetworkList());
// retrieve the list of hidden network SSIDs from Network suggestion to scan for.
- hiddenNetworkList.addAll(
+ settings.hiddenNetworks.addAll(
mWifiInjector.getWifiNetworkSuggestionsManager().retrieveHiddenNetworkList());
- settings.hiddenNetworks = hiddenNetworkList.toArray(
- new WifiScanner.ScanSettings.HiddenNetwork[0]);
}
mWifiScanner.startScan(settings, new ScanRequestProxyScanListener(), workSource);
return true;
diff --git a/service/java/com/android/server/wifi/WakeupController.java b/service/java/com/android/server/wifi/WakeupController.java
index bf36c9482..b74a25489 100644
--- a/service/java/com/android/server/wifi/WakeupController.java
+++ b/service/java/com/android/server/wifi/WakeupController.java
@@ -276,7 +276,7 @@ public class WakeupController {
Log.d(TAG, "stop()");
mLastDisconnectTimestampMillis = 0;
mLastDisconnectInfo = null;
- mWifiInjector.getWifiScanner().deregisterScanListener(mScanListener);
+ mWifiInjector.getWifiScanner().unregisterScanListener(mScanListener);
mWakeupOnboarding.onStop();
}
diff --git a/service/java/com/android/server/wifi/WifiConnectivityManager.java b/service/java/com/android/server/wifi/WifiConnectivityManager.java
index ba95fe968..1044cdbe1 100644
--- a/service/java/com/android/server/wifi/WifiConnectivityManager.java
+++ b/service/java/com/android/server/wifi/WifiConnectivityManager.java
@@ -904,19 +904,17 @@ public class WifiConnectivityManager {
isFullBandScan = true;
}
}
- settings.type = WifiScanner.TYPE_HIGH_ACCURACY; // always do high accuracy scans.
+ settings.type = WifiScanner.SCAN_TYPE_HIGH_ACCURACY; // always do high accuracy scans.
settings.band = getScanBand(isFullBandScan);
settings.reportEvents = WifiScanner.REPORT_EVENT_FULL_SCAN_RESULT
| WifiScanner.REPORT_EVENT_AFTER_EACH_SCAN;
settings.numBssidsPerScan = 0;
+ settings.hiddenNetworks.clear();
// retrieve the list of hidden network SSIDs from saved network to scan for
- List<ScanSettings.HiddenNetwork> hiddenNetworkList =
- new ArrayList<>(mConfigManager.retrieveHiddenNetworkList());
+ settings.hiddenNetworks.addAll(mConfigManager.retrieveHiddenNetworkList());
// retrieve the list of hidden network SSIDs from Network suggestion to scan for
- hiddenNetworkList.addAll(
+ settings.hiddenNetworks.addAll(
mWifiInjector.getWifiNetworkSuggestionsManager().retrieveHiddenNetworkList());
- settings.hiddenNetworks =
- hiddenNetworkList.toArray(new ScanSettings.HiddenNetwork[0]);
SingleScanListener singleScanListener =
new SingleScanListener(isFullBandScan);
diff --git a/service/java/com/android/server/wifi/WifiNetworkFactory.java b/service/java/com/android/server/wifi/WifiNetworkFactory.java
index a0aa01099..1105db325 100644
--- a/service/java/com/android/server/wifi/WifiNetworkFactory.java
+++ b/service/java/com/android/server/wifi/WifiNetworkFactory.java
@@ -367,7 +367,7 @@ public class WifiNetworkFactory extends NetworkFactory {
mWifiMetrics = wifiMetrics;
// Create the scan settings.
mScanSettings = new WifiScanner.ScanSettings();
- mScanSettings.type = WifiScanner.TYPE_HIGH_ACCURACY;
+ mScanSettings.type = WifiScanner.SCAN_TYPE_HIGH_ACCURACY;
mScanSettings.band = WifiScanner.WIFI_BAND_BOTH_WITH_DFS;
mScanSettings.reportEvents = WifiScanner.REPORT_EVENT_AFTER_EACH_SCAN;
mScanListener = new NetworkFactoryScanListener();
@@ -1046,11 +1046,10 @@ public class WifiNetworkFactory extends NetworkFactory {
WifiNetworkSpecifier wns = mActiveSpecificNetworkRequestSpecifier;
WifiConfiguration wifiConfiguration = wns.wifiConfiguration;
if (wifiConfiguration.hiddenSSID) {
- mScanSettings.hiddenNetworks = new WifiScanner.ScanSettings.HiddenNetwork[1];
// Can't search for SSID pattern in hidden networks.
- mScanSettings.hiddenNetworks[0] =
- new WifiScanner.ScanSettings.HiddenNetwork(
- addEnclosingQuotes(wns.ssidPatternMatcher.getPath()));
+ mScanSettings.hiddenNetworks.clear();
+ mScanSettings.hiddenNetworks.add(new WifiScanner.ScanSettings.HiddenNetwork(
+ addEnclosingQuotes(wns.ssidPatternMatcher.getPath())));
}
startScan();
}
@@ -1061,7 +1060,7 @@ public class WifiNetworkFactory extends NetworkFactory {
mPeriodicScanTimerSet = false;
}
// Clear the hidden networks field after each request.
- mScanSettings.hiddenNetworks = null;
+ mScanSettings.hiddenNetworks.clear();
}
private void scheduleNextPeriodicScan() {
diff --git a/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java b/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java
index 27efc91fd..8a30d8f90 100644
--- a/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java
+++ b/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java
@@ -1010,8 +1010,9 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub {
}
boolean validateScanType(int type) {
- return (type == WifiScanner.TYPE_LOW_LATENCY || type == WifiScanner.TYPE_LOW_POWER
- || type == WifiScanner.TYPE_HIGH_ACCURACY);
+ return type == WifiScanner.SCAN_TYPE_LOW_LATENCY
+ || type == WifiScanner.SCAN_TYPE_LOW_POWER
+ || type == WifiScanner.SCAN_TYPE_HIGH_ACCURACY;
}
boolean validateScanRequest(ClientInfo ci, int handler, ScanSettings settings) {
@@ -1037,7 +1038,7 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub {
+ " does not have permission to set hidden networks");
return false;
}
- if (settings.type != WifiScanner.TYPE_LOW_LATENCY) {
+ if (settings.type != WifiScanner.SCAN_TYPE_LOW_LATENCY) {
Log.e(TAG, "Failing single scan because app " + ci.getUid()
+ " does not have permission to set type");
return false;
@@ -1048,11 +1049,11 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub {
int getNativeScanType(int type) {
switch(type) {
- case WifiScanner.TYPE_LOW_LATENCY:
+ case WifiScanner.SCAN_TYPE_LOW_LATENCY:
return WifiNative.SCAN_TYPE_LOW_LATENCY;
- case WifiScanner.TYPE_LOW_POWER:
+ case WifiScanner.SCAN_TYPE_LOW_POWER:
return WifiNative.SCAN_TYPE_LOW_POWER;
- case WifiScanner.TYPE_HIGH_ACCURACY:
+ case WifiScanner.SCAN_TYPE_HIGH_ACCURACY:
return WifiNative.SCAN_TYPE_HIGH_ACCURACY;
default:
// This should never happen becuase we've validated the incoming type in
@@ -1176,12 +1177,10 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub {
settings.scanType =
mergeScanTypes(settings.scanType, getNativeScanType(entry.settings.type));
channels.addChannels(entry.settings);
- if (entry.settings.hiddenNetworks != null) {
- for (int i = 0; i < entry.settings.hiddenNetworks.length; i++) {
- WifiNative.HiddenNetwork hiddenNetwork = new WifiNative.HiddenNetwork();
- hiddenNetwork.ssid = entry.settings.hiddenNetworks[i].ssid;
- hiddenNetworkList.add(hiddenNetwork);
- }
+ for (ScanSettings.HiddenNetwork srcNetwork : entry.settings.hiddenNetworks) {
+ WifiNative.HiddenNetwork hiddenNetwork = new WifiNative.HiddenNetwork();
+ hiddenNetwork.ssid = srcNetwork.ssid;
+ hiddenNetworkList.add(hiddenNetwork);
}
if ((entry.settings.reportEvents & WifiScanner.REPORT_EVENT_FULL_SCAN_RESULT)
!= 0) {
@@ -2609,11 +2608,11 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub {
static String getScanTypeString(int type) {
switch(type) {
- case WifiScanner.TYPE_LOW_LATENCY:
+ case WifiScanner.SCAN_TYPE_LOW_LATENCY:
return "LOW LATENCY";
- case WifiScanner.TYPE_LOW_POWER:
+ case WifiScanner.SCAN_TYPE_LOW_POWER:
return "LOW POWER";
- case WifiScanner.TYPE_HIGH_ACCURACY:
+ case WifiScanner.SCAN_TYPE_HIGH_ACCURACY:
return "HIGH ACCURACY";
default:
// This should never happen becuase we've validated the incoming type in