summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--service/java/com/android/server/wifi/WifiNative.java16
-rw-r--r--service/java/com/android/server/wifi/WificondControl.java14
-rw-r--r--service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java40
-rw-r--r--tests/wifitests/src/com/android/server/wifi/ScanTestUtil.java20
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiNativeTest.java5
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WificondControlTest.java10
-rw-r--r--tests/wifitests/src/com/android/server/wifi/scanner/BaseWifiScannerImplTest.java8
-rw-r--r--tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java2
8 files changed, 40 insertions, 75 deletions
diff --git a/service/java/com/android/server/wifi/WifiNative.java b/service/java/com/android/server/wifi/WifiNative.java
index 3dfd63bf9..7729d6157 100644
--- a/service/java/com/android/server/wifi/WifiNative.java
+++ b/service/java/com/android/server/wifi/WifiNative.java
@@ -1385,14 +1385,14 @@ public class WifiNative {
/**
* Start a scan using wificond for the given parameters.
* @param ifaceName Name of the interface.
- * @param scanType Type of scan to perform. One of {@link ScanSettings#SCAN_TYPE_LOW_LATENCY},
- * {@link ScanSettings#SCAN_TYPE_LOW_POWER} or {@link ScanSettings#SCAN_TYPE_HIGH_ACCURACY}.
+ * @param scanType Type of scan to perform. One of {@link WifiScanner#SCAN_TYPE_LOW_LATENCY},
+ * {@link WifiScanner#SCAN_TYPE_LOW_POWER} or {@link WifiScanner#SCAN_TYPE_HIGH_ACCURACY}.
* @param freqs list of frequencies to scan for, if null scan all supported channels.
* @param hiddenNetworkSSIDs List of hidden networks to be scanned for.
* @return Returns true on success.
*/
public boolean scan(
- @NonNull String ifaceName, int scanType, Set<Integer> freqs,
+ @NonNull String ifaceName, @WifiScanner.ScanType int scanType, Set<Integer> freqs,
List<String> hiddenNetworkSSIDs) {
return mWificondControl.scan(ifaceName, scanType, freqs, hiddenNetworkSSIDs);
}
@@ -2542,16 +2542,12 @@ public class WifiNative {
}
}
- public static final int SCAN_TYPE_LOW_LATENCY = 0;
- public static final int SCAN_TYPE_LOW_POWER = 1;
- public static final int SCAN_TYPE_HIGH_ACCURACY = 2;
-
public static class ScanSettings {
/**
- * Type of scan to perform. One of {@link ScanSettings#SCAN_TYPE_LOW_LATENCY},
- * {@link ScanSettings#SCAN_TYPE_LOW_POWER} or {@link ScanSettings#SCAN_TYPE_HIGH_ACCURACY}.
+ * Type of scan to perform. One of {@link WifiScanner#SCAN_TYPE_LOW_LATENCY},
+ * {@link WifiScanner#SCAN_TYPE_LOW_POWER} or {@link WifiScanner#SCAN_TYPE_HIGH_ACCURACY}.
*/
- public int scanType;
+ public @WifiScanner.ScanType int scanType;
public int base_period_ms;
public int max_ap_per_scan;
public int report_threshold_percent;
diff --git a/service/java/com/android/server/wifi/WificondControl.java b/service/java/com/android/server/wifi/WificondControl.java
index 7a4e9e698..6141b7b13 100644
--- a/service/java/com/android/server/wifi/WificondControl.java
+++ b/service/java/com/android/server/wifi/WificondControl.java
@@ -656,13 +656,13 @@ public class WificondControl implements IBinder.DeathRecipient {
/**
* Return scan type for the parcelable {@link SingleScanSettings}
*/
- private static int getScanType(int scanType) {
+ private static int getScanType(@WifiScanner.ScanType int scanType) {
switch (scanType) {
- case WifiNative.SCAN_TYPE_LOW_LATENCY:
+ case WifiScanner.SCAN_TYPE_LOW_LATENCY:
return IWifiScannerImpl.SCAN_TYPE_LOW_SPAN;
- case WifiNative.SCAN_TYPE_LOW_POWER:
+ case WifiScanner.SCAN_TYPE_LOW_POWER:
return IWifiScannerImpl.SCAN_TYPE_LOW_POWER;
- case WifiNative.SCAN_TYPE_HIGH_ACCURACY:
+ case WifiScanner.SCAN_TYPE_HIGH_ACCURACY:
return IWifiScannerImpl.SCAN_TYPE_HIGH_ACCURACY;
default:
throw new IllegalArgumentException("Invalid scan type " + scanType);
@@ -677,10 +677,8 @@ public class WificondControl implements IBinder.DeathRecipient {
* @param hiddenNetworkSSIDs List of hidden networks to be scanned for.
* @return Returns true on success.
*/
- public boolean scan(@NonNull String ifaceName,
- int scanType,
- Set<Integer> freqs,
- List<String> hiddenNetworkSSIDs) {
+ public boolean scan(@NonNull String ifaceName, @WifiScanner.ScanType int scanType,
+ Set<Integer> freqs, List<String> hiddenNetworkSSIDs) {
IWifiScannerImpl scannerImpl = getScannerImpl(ifaceName);
if (scannerImpl == null) {
Log.e(TAG, "No valid wificond scanner interface handler");
diff --git a/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java b/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java
index 6dd2021d7..2388ffdfa 100644
--- a/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java
+++ b/service/java/com/android/server/wifi/scanner/WifiScanningServiceImpl.java
@@ -1012,10 +1012,10 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub {
}
}
- boolean validateScanType(int type) {
- return type == WifiScanner.SCAN_TYPE_LOW_LATENCY
+ boolean validateScanType(@WifiScanner.ScanType int type) {
+ return (type == WifiScanner.SCAN_TYPE_LOW_LATENCY
|| type == WifiScanner.SCAN_TYPE_LOW_POWER
- || type == WifiScanner.SCAN_TYPE_HIGH_ACCURACY;
+ || type == WifiScanner.SCAN_TYPE_HIGH_ACCURACY);
}
boolean validateScanRequest(ClientInfo ci, int handler, ScanSettings settings) {
@@ -1050,30 +1050,15 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub {
return true;
}
- int getNativeScanType(int type) {
- switch(type) {
- case WifiScanner.SCAN_TYPE_LOW_LATENCY:
- return WifiNative.SCAN_TYPE_LOW_LATENCY;
- case WifiScanner.SCAN_TYPE_LOW_POWER:
- return WifiNative.SCAN_TYPE_LOW_POWER;
- 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
- // |validateScanType|.
- throw new IllegalArgumentException("Invalid scan type " + type);
- }
- }
-
// We can coalesce a LOW_POWER/LOW_LATENCY scan request into an ongoing HIGH_ACCURACY
// scan request. But, we can't coalesce a HIGH_ACCURACY scan request into an ongoing
// LOW_POWER/LOW_LATENCY scan request.
boolean activeScanTypeSatisfies(int requestScanType) {
switch(mActiveScanSettings.scanType) {
- case WifiNative.SCAN_TYPE_LOW_LATENCY:
- case WifiNative.SCAN_TYPE_LOW_POWER:
- return requestScanType != WifiNative.SCAN_TYPE_HIGH_ACCURACY;
- case WifiNative.SCAN_TYPE_HIGH_ACCURACY:
+ case WifiScanner.SCAN_TYPE_LOW_LATENCY:
+ case WifiScanner.SCAN_TYPE_LOW_POWER:
+ return requestScanType != WifiScanner.SCAN_TYPE_HIGH_ACCURACY;
+ case WifiScanner.SCAN_TYPE_HIGH_ACCURACY:
return true;
default:
// This should never happen becuase we've validated the incoming type in
@@ -1087,10 +1072,10 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub {
// scan type should be HIGH_ACCURACY.
int mergeScanTypes(int existingScanType, int newScanType) {
switch(existingScanType) {
- case WifiNative.SCAN_TYPE_LOW_LATENCY:
- case WifiNative.SCAN_TYPE_LOW_POWER:
+ case WifiScanner.SCAN_TYPE_LOW_LATENCY:
+ case WifiScanner.SCAN_TYPE_LOW_POWER:
return newScanType;
- case WifiNative.SCAN_TYPE_HIGH_ACCURACY:
+ case WifiScanner.SCAN_TYPE_HIGH_ACCURACY:
return existingScanType;
default:
// This should never happen becuase we've validated the incoming type in
@@ -1104,7 +1089,7 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub {
return false;
}
- if (!activeScanTypeSatisfies(getNativeScanType(settings.type))) {
+ if (!activeScanTypeSatisfies(settings.type)) {
return false;
}
@@ -1177,8 +1162,7 @@ public class WifiScanningServiceImpl extends IWifiScanner.Stub {
ChannelCollection channels = mChannelHelper.createChannelCollection();
List<WifiNative.HiddenNetwork> hiddenNetworkList = new ArrayList<>();
for (RequestInfo<ScanSettings> entry : mPendingScans) {
- settings.scanType =
- mergeScanTypes(settings.scanType, getNativeScanType(entry.settings.type));
+ settings.scanType = mergeScanTypes(settings.scanType, entry.settings.type);
channels.addChannels(entry.settings);
for (ScanSettings.HiddenNetwork srcNetwork : entry.settings.hiddenNetworks) {
WifiNative.HiddenNetwork hiddenNetwork = new WifiNative.HiddenNetwork();
diff --git a/tests/wifitests/src/com/android/server/wifi/ScanTestUtil.java b/tests/wifitests/src/com/android/server/wifi/ScanTestUtil.java
index 6f7dfbb0b..5a49da5e3 100644
--- a/tests/wifitests/src/com/android/server/wifi/ScanTestUtil.java
+++ b/tests/wifitests/src/com/android/server/wifi/ScanTestUtil.java
@@ -98,7 +98,7 @@ public class ScanTestUtil {
public static class NativeScanSettingsBuilder {
private final WifiNative.ScanSettings mSettings = new WifiNative.ScanSettings();
public NativeScanSettingsBuilder() {
- mSettings.scanType = WifiNative.SCAN_TYPE_LOW_LATENCY;
+ mSettings.scanType = WifiScanner.SCAN_TYPE_LOW_LATENCY;
mSettings.buckets = new WifiNative.BucketSettings[0];
mSettings.num_buckets = 0;
mSettings.report_threshold_percent = 100;
@@ -183,20 +183,6 @@ public class ScanTestUtil {
}
- private static int getNativeScanType(int type) {
- switch(type) {
- case WifiScanner.SCAN_TYPE_LOW_LATENCY:
- return WifiNative.SCAN_TYPE_LOW_LATENCY;
- case WifiScanner.SCAN_TYPE_LOW_POWER:
- return WifiNative.SCAN_TYPE_LOW_POWER;
- case WifiScanner.SCAN_TYPE_HIGH_ACCURACY:
- return WifiNative.SCAN_TYPE_HIGH_ACCURACY;
- default:
- fail();
- return -1;
- }
- }
-
/**
* Compute the expected native scan settings that are expected for the given
* WifiScanner.ScanSettings.
@@ -209,7 +195,7 @@ public class ScanTestUtil {
.withMaxApPerScan(0)
.withMaxPercentToCache(0)
.withMaxScansToCache(0)
- .withType(getNativeScanType(requestSettings.type));
+ .withType(requestSettings.type);
if (requestSettings.band == WifiScanner.WIFI_BAND_UNSPECIFIED) {
builder.addBucketWithChannels(0, reportEvents, requestSettings.channels);
} else {
@@ -225,7 +211,7 @@ public class ScanTestUtil {
public static WifiNative.ScanSettings createSingleScanNativeSettingsForChannels(
int reportEvents, WifiScanner.ChannelSpec... channels) {
return createSingleScanNativeSettingsForChannels(
- WifiNative.SCAN_TYPE_LOW_LATENCY, reportEvents, channels);
+ WifiScanner.SCAN_TYPE_LOW_LATENCY, reportEvents, channels);
}
/**
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiNativeTest.java b/tests/wifitests/src/com/android/server/wifi/WifiNativeTest.java
index 1660c23cb..95d4d15ef 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiNativeTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiNativeTest.java
@@ -26,6 +26,7 @@ import static org.mockito.Mockito.*;
import android.net.MacAddress;
import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiScanner;
import android.os.Handler;
import android.os.INetworkManagementService;
@@ -543,10 +544,10 @@ public class WifiNativeTest extends WifiBaseTest {
*/
@Test
public void testScan() throws Exception {
- mWifiNative.scan(WIFI_IFACE_NAME, WifiNative.SCAN_TYPE_HIGH_ACCURACY, SCAN_FREQ_SET,
+ mWifiNative.scan(WIFI_IFACE_NAME, WifiScanner.SCAN_TYPE_HIGH_ACCURACY, SCAN_FREQ_SET,
SCAN_HIDDEN_NETWORK_SSID_SET);
verify(mWificondControl).scan(
- WIFI_IFACE_NAME, WifiNative.SCAN_TYPE_HIGH_ACCURACY,
+ WIFI_IFACE_NAME, WifiScanner.SCAN_TYPE_HIGH_ACCURACY,
SCAN_FREQ_SET, SCAN_HIDDEN_NETWORK_SSID_SET);
}
diff --git a/tests/wifitests/src/com/android/server/wifi/WificondControlTest.java b/tests/wifitests/src/com/android/server/wifi/WificondControlTest.java
index aa988af11..702003952 100644
--- a/tests/wifitests/src/com/android/server/wifi/WificondControlTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WificondControlTest.java
@@ -341,7 +341,7 @@ public class WificondControlTest extends WifiBaseTest {
verify(mClientInterface, never()).signalPoll();
assertFalse(mWificondControl.scan(
- TEST_INTERFACE_NAME, WifiNative.SCAN_TYPE_LOW_LATENCY,
+ TEST_INTERFACE_NAME, WifiScanner.SCAN_TYPE_LOW_LATENCY,
SCAN_FREQ_SET, SCAN_HIDDEN_NETWORK_SSID_LIST));
verify(mWifiScannerImpl, never()).scan(any());
}
@@ -727,7 +727,7 @@ public class WificondControlTest extends WifiBaseTest {
public void testScan() throws Exception {
when(mWifiScannerImpl.scan(any(SingleScanSettings.class))).thenReturn(true);
assertTrue(mWificondControl.scan(
- TEST_INTERFACE_NAME, WifiNative.SCAN_TYPE_LOW_POWER,
+ TEST_INTERFACE_NAME, WifiScanner.SCAN_TYPE_LOW_POWER,
SCAN_FREQ_SET, SCAN_HIDDEN_NETWORK_SSID_LIST));
verify(mWifiScannerImpl).scan(argThat(new ScanMatcher(
IWifiScannerImpl.SCAN_TYPE_LOW_POWER,
@@ -747,7 +747,7 @@ public class WificondControlTest extends WifiBaseTest {
hiddenSsidWithDup.get(hiddenSsidWithDup.size() - 1));
// Pass the List with duplicate elements into scan()
assertTrue(mWificondControl.scan(
- TEST_INTERFACE_NAME, WifiNative.SCAN_TYPE_LOW_POWER,
+ TEST_INTERFACE_NAME, WifiScanner.SCAN_TYPE_LOW_POWER,
SCAN_FREQ_SET, hiddenSsidWithDup));
// But the argument passed down should have the duplicate removed.
verify(mWifiScannerImpl).scan(argThat(new ScanMatcher(
@@ -762,7 +762,7 @@ public class WificondControlTest extends WifiBaseTest {
public void testScanNullParameters() throws Exception {
when(mWifiScannerImpl.scan(any(SingleScanSettings.class))).thenReturn(true);
assertTrue(mWificondControl.scan(
- TEST_INTERFACE_NAME, WifiNative.SCAN_TYPE_HIGH_ACCURACY, null, null));
+ TEST_INTERFACE_NAME, WifiScanner.SCAN_TYPE_HIGH_ACCURACY, null, null));
verify(mWifiScannerImpl).scan(argThat(new ScanMatcher(
IWifiScannerImpl.SCAN_TYPE_HIGH_ACCURACY, null, null)));
}
@@ -774,7 +774,7 @@ public class WificondControlTest extends WifiBaseTest {
public void testScanFailure() throws Exception {
when(mWifiScannerImpl.scan(any(SingleScanSettings.class))).thenReturn(false);
assertFalse(mWificondControl.scan(
- TEST_INTERFACE_NAME, WifiNative.SCAN_TYPE_LOW_LATENCY,
+ TEST_INTERFACE_NAME, WifiScanner.SCAN_TYPE_LOW_LATENCY,
SCAN_FREQ_SET, SCAN_HIDDEN_NETWORK_SSID_LIST));
verify(mWifiScannerImpl).scan(any(SingleScanSettings.class));
}
diff --git a/tests/wifitests/src/com/android/server/wifi/scanner/BaseWifiScannerImplTest.java b/tests/wifitests/src/com/android/server/wifi/scanner/BaseWifiScannerImplTest.java
index 9b24b14a4..10f475c96 100644
--- a/tests/wifitests/src/com/android/server/wifi/scanner/BaseWifiScannerImplTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/scanner/BaseWifiScannerImplTest.java
@@ -142,7 +142,7 @@ public abstract class BaseWifiScannerImplTest extends WifiBaseTest {
@Test
public void singleScanSuccessWithChannelsAndHighAccuracyType() {
WifiNative.ScanSettings settings = new NativeScanSettingsBuilder()
- .withType(WifiNative.SCAN_TYPE_HIGH_ACCURACY)
+ .withType(WifiScanner.SCAN_TYPE_HIGH_ACCURACY)
.withBasePeriod(10000)
.withMaxApPerScan(10)
.addBucketWithChannels(20000, WifiScanner.REPORT_EVENT_AFTER_EACH_SCAN, 5650)
@@ -368,7 +368,7 @@ public abstract class BaseWifiScannerImplTest extends WifiBaseTest {
WifiScanner.WIFI_BAND_24_GHZ)
.build();
WifiNative.ScanSettings settings2 = new NativeScanSettingsBuilder()
- .withType(WifiNative.SCAN_TYPE_LOW_POWER)
+ .withType(WifiScanner.SCAN_TYPE_LOW_POWER)
.withBasePeriod(10000)
.withMaxApPerScan(10)
.addBucketWithBand(10000, WifiScanner.REPORT_EVENT_AFTER_EACH_SCAN,
@@ -384,7 +384,7 @@ public abstract class BaseWifiScannerImplTest extends WifiBaseTest {
// start first scan
assertTrue(mScanner.startSingleScan(settings, eventHandler));
- expectSuccessfulSingleScan(order, WifiNative.SCAN_TYPE_LOW_LATENCY, eventHandler,
+ expectSuccessfulSingleScan(order, WifiScanner.SCAN_TYPE_LOW_LATENCY, eventHandler,
expectedBandScanFreqs(WifiScanner.WIFI_BAND_24_GHZ),
new ArrayList<String>(),
ScanResults.create(0, WifiScanner.WIFI_BAND_24_GHZ,
@@ -393,7 +393,7 @@ public abstract class BaseWifiScannerImplTest extends WifiBaseTest {
// start second scan
assertTrue(mScanner.startSingleScan(settings2, eventHandler));
- expectSuccessfulSingleScan(order, WifiNative.SCAN_TYPE_LOW_POWER, eventHandler,
+ expectSuccessfulSingleScan(order, WifiScanner.SCAN_TYPE_LOW_POWER, eventHandler,
expectedBandScanFreqs(WifiScanner.WIFI_BAND_BOTH_WITH_DFS),
new ArrayList<String>(),
ScanResults.create(0, WifiScanner.WIFI_BAND_BOTH_WITH_DFS,
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 2aa364168..89b1e8bac 100644
--- a/tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java
@@ -1423,7 +1423,7 @@ public class WifiScanningServiceTest extends WifiBaseTest {
ScanResults.create(0, WifiScanner.WIFI_BAND_UNSPECIFIED, 5150, 5150, 5150, 5150);
WifiNative.ScanSettings nativeSettings2and3 = createSingleScanNativeSettingsForChannels(
- WifiNative.SCAN_TYPE_HIGH_ACCURACY, WifiScanner.REPORT_EVENT_AFTER_EACH_SCAN,
+ WifiScanner.SCAN_TYPE_HIGH_ACCURACY, WifiScanner.REPORT_EVENT_AFTER_EACH_SCAN,
channelsToSpec(2450, 5175, 5150));
ScanResults results2and3 =
ScanResults.merge(WifiScanner.WIFI_BAND_UNSPECIFIED, results2, results3);