diff options
| -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 |