Add the ScanResult utility functions to return the band.
As part of Wi-Fi feature for STA+STA with multiple internet support,
add the utility functions to return the band of ScanResult.
Bug: 181741503
Test: atest android.net.wifi.ScanResultTest
Change-Id: I214216ef4bcd240d725cc380aa3b6bf5646266fc
diff --git a/framework/api/system-current.txt b/framework/api/system-current.txt
index 3105c05..88379ee 100644
--- a/framework/api/system-current.txt
+++ b/framework/api/system-current.txt
@@ -220,6 +220,7 @@
}
public final class ScanResult implements android.os.Parcelable {
+ method public int getBand();
method public void setWifiSsid(@NonNull android.net.wifi.WifiSsid);
field public static final int CIPHER_BIP_CMAC_256 = 9; // 0x9
field public static final int CIPHER_BIP_GMAC_128 = 7; // 0x7
diff --git a/framework/java/android/net/wifi/ScanResult.java b/framework/java/android/net/wifi/ScanResult.java
index 481c210..9c6dfbd 100644
--- a/framework/java/android/net/wifi/ScanResult.java
+++ b/framework/java/android/net/wifi/ScanResult.java
@@ -897,6 +897,32 @@
}
/**
+ * Returns the band for the ScanResult according to its frequency.
+ * @hide
+ */
+ @WifiBand public static int toBand(int frequency) {
+ if (ScanResult.is24GHz(frequency)) {
+ return ScanResult.WIFI_BAND_24_GHZ;
+ } else if (ScanResult.is5GHz(frequency)) {
+ return ScanResult.WIFI_BAND_5_GHZ;
+ } else if (ScanResult.is6GHz(frequency)) {
+ return ScanResult.WIFI_BAND_6_GHZ;
+ } else if (ScanResult.is60GHz(frequency)) {
+ return ScanResult.WIFI_BAND_60_GHZ;
+ }
+ return ScanResult.UNSPECIFIED;
+ }
+
+ /**
+ * Returns the band for the ScanResult according to its frequency.
+ * @hide
+ */
+ @SystemApi
+ @WifiBand public int getBand() {
+ return ScanResult.toBand(this.frequency);
+ }
+
+ /**
* @hide
*/
public boolean is24GHz() {
diff --git a/framework/tests/src/android/net/wifi/ScanResultTest.java b/framework/tests/src/android/net/wifi/ScanResultTest.java
index 0805717..04a8632 100644
--- a/framework/tests/src/android/net/wifi/ScanResultTest.java
+++ b/framework/tests/src/android/net/wifi/ScanResultTest.java
@@ -401,4 +401,21 @@
assertArrayEquals(expected.radioChainInfos, actual.radioChainInfos);
assertArrayEquals(expected.informationElements, actual.informationElements);
}
+
+ /**
+ * Test ScanResult.getBand() function.
+ */
+ @Test
+ public void testScanResultGetBand() throws Exception {
+ ScanResult scanResult = createScanResult();
+ assertEquals(ScanResult.WIFI_BAND_24_GHZ, scanResult.getBand());
+ }
+
+ /**
+ * Test ScanResult.toBand() function.
+ */
+ @Test
+ public void testScanResultToBand() throws Exception {
+ assertEquals(ScanResult.WIFI_BAND_24_GHZ, ScanResult.toBand(TEST_FREQUENCY));
+ }
}