diff options
| author | 2020-01-10 12:28:19 -0800 | |
|---|---|---|
| committer | 2020-01-19 08:54:39 +0000 | |
| commit | 9b3f07652735ee0ee54701486f76c1e321110794 (patch) | |
| tree | 489f40c2ee679baf4fdd4817c18faf35b451cb7b | |
| parent | 5b4390df2427f79b2bd5f264c61acda965236408 (diff) | |
Wifi: Add a public API to query for supported wifi standards
This commit adds a public API to query for the supported wifi standards.
Bug: 143543900
Bug: 134688244
Bug: 144576344
Test: atest com.android.wifi.server
Change-Id: I57ac90c7d3473a71435bfb96b19d983ae433082a
| -rw-r--r-- | api/current.txt | 1 | ||||
| -rw-r--r-- | wifi/java/android/net/wifi/IWifiManager.aidl | 2 | ||||
| -rw-r--r-- | wifi/java/android/net/wifi/WifiManager.java | 14 | ||||
| -rw-r--r-- | wifi/java/com/android/server/wifi/BaseWifiService.java | 5 | ||||
| -rw-r--r-- | wifi/tests/src/android/net/wifi/WifiManagerTest.java | 11 |
5 files changed, 33 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt index 7469299b1189..69b4af54cfb8 100644 --- a/api/current.txt +++ b/api/current.txt @@ -30774,6 +30774,7 @@ package android.net.wifi { method public boolean isTdlsSupported(); method public boolean isWapiSupported(); method public boolean isWifiEnabled(); + method public boolean isWifiStandardSupported(int); method public boolean isWpa3SaeSupported(); method public boolean isWpa3SuiteBSupported(); method @Deprecated public boolean pingSupplicant(); diff --git a/wifi/java/android/net/wifi/IWifiManager.aidl b/wifi/java/android/net/wifi/IWifiManager.aidl index 5a98ac86e783..dafb4de62f3c 100644 --- a/wifi/java/android/net/wifi/IWifiManager.aidl +++ b/wifi/java/android/net/wifi/IWifiManager.aidl @@ -117,6 +117,8 @@ interface IWifiManager boolean is6GHzBandSupported(); + boolean isWifiStandardSupported(int standard); + boolean needs5GHzToAnyApBandConversion(); DhcpInfo getDhcpInfo(); diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java index 1b74cba6a83e..30f0fb5234bd 100644 --- a/wifi/java/android/net/wifi/WifiManager.java +++ b/wifi/java/android/net/wifi/WifiManager.java @@ -2491,6 +2491,20 @@ public class WifiManager { } /** + * Check if the chipset supports a certain Wi-Fi standard. + * @param standard the IEEE 802.11 standard to check on. + * valid values from {@link ScanResult}'s {@code WIFI_STANDARD_} + * @return {@code true} if supported, {@code false} otherwise. + */ + public boolean isWifiStandardSupported(@ScanResult.WifiStandard int standard) { + try { + return mService.isWifiStandardSupported(standard); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + + /** * Interface for Wi-Fi activity energy info listener. Should be implemented by applications and * set when calling {@link WifiManager#getWifiActivityEnergyInfoAsync}. * diff --git a/wifi/java/com/android/server/wifi/BaseWifiService.java b/wifi/java/com/android/server/wifi/BaseWifiService.java index 08822e2762f6..56fa6e23a852 100644 --- a/wifi/java/com/android/server/wifi/BaseWifiService.java +++ b/wifi/java/com/android/server/wifi/BaseWifiService.java @@ -254,6 +254,11 @@ public class BaseWifiService extends IWifiManager.Stub { } @Override + public boolean isWifiStandardSupported(int standard) { + throw new UnsupportedOperationException(); + } + + @Override public boolean needs5GHzToAnyApBandConversion() { throw new UnsupportedOperationException(); } diff --git a/wifi/tests/src/android/net/wifi/WifiManagerTest.java b/wifi/tests/src/android/net/wifi/WifiManagerTest.java index 738c6337ee98..f369203e05ab 100644 --- a/wifi/tests/src/android/net/wifi/WifiManagerTest.java +++ b/wifi/tests/src/android/net/wifi/WifiManagerTest.java @@ -1959,6 +1959,17 @@ public class WifiManagerTest { } /** + * Test behavior of {@link WifiManager#isWifiStandardSupported()} + */ + @Test + public void testIsWifiStandardSupported() throws Exception { + int standard = ScanResult.WIFI_STANDARD_11AX; + when(mWifiService.isWifiStandardSupported(standard)).thenReturn(true); + assertTrue(mWifiManager.isWifiStandardSupported(standard)); + verify(mWifiService).isWifiStandardSupported(standard); + } + + /** * Test behavior of {@link WifiManager#getDhcpInfo()} */ @Test |