diff options
| -rw-r--r-- | api/system-current.txt | 1 | ||||
| -rw-r--r-- | wifi/api/system-current.txt | 1 | ||||
| -rw-r--r-- | wifi/java/android/net/wifi/SoftApCapability.java | 20 | ||||
| -rw-r--r-- | wifi/java/android/net/wifi/SoftApConfiguration.java | 40 |
4 files changed, 44 insertions, 18 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index 0b95c6d5bd91..87f3f4c65520 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -7494,6 +7494,7 @@ package android.net.wifi { field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApCapability> CREATOR; field public static final long SOFTAP_FEATURE_ACS_OFFLOAD = 1L; // 0x1L field public static final long SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT = 2L; // 0x2L + field public static final long SOFTAP_FEATURE_MAC_ADDRESS_CUSTOMIZATION = 8L; // 0x8L field public static final long SOFTAP_FEATURE_WPA3_SAE = 4L; // 0x4L } diff --git a/wifi/api/system-current.txt b/wifi/api/system-current.txt index 7c592f0aec9f..fa99da786ae5 100644 --- a/wifi/api/system-current.txt +++ b/wifi/api/system-current.txt @@ -246,6 +246,7 @@ package android.net.wifi { field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApCapability> CREATOR; field public static final long SOFTAP_FEATURE_ACS_OFFLOAD = 1L; // 0x1L field public static final long SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT = 2L; // 0x2L + field public static final long SOFTAP_FEATURE_MAC_ADDRESS_CUSTOMIZATION = 8L; // 0x8L field public static final long SOFTAP_FEATURE_WPA3_SAE = 4L; // 0x4L } diff --git a/wifi/java/android/net/wifi/SoftApCapability.java b/wifi/java/android/net/wifi/SoftApCapability.java index 6bd4211d8214..d570b7e8afa9 100644 --- a/wifi/java/android/net/wifi/SoftApCapability.java +++ b/wifi/java/android/net/wifi/SoftApCapability.java @@ -46,7 +46,7 @@ public final class SoftApCapability implements Parcelable { * Support for automatic channel selection in driver (ACS). * Driver will auto select best channel based on interference to optimize performance. * - * flag when {@link R.bool.config_wifi_softap_acs_supported)} is true. + * flag when {@link R.bool.config_wifi_softap_acs_supported} is true. * * <p> * Use {@link WifiManager.SoftApCallback#onInfoChanged(SoftApInfo)} and @@ -57,7 +57,7 @@ public final class SoftApCapability implements Parcelable { /** * Support for client force disconnect. - * flag when {@link R.bool.config_wifi_sofap_client_force_disconnect_supported)} is true + * flag when {@link R.bool.config_wifiSofapClientForceDisconnectSupported} is true * * <p> * Several Soft AP client control features, e.g. specifying the maximum number of @@ -67,20 +67,32 @@ public final class SoftApCapability implements Parcelable { */ public static final long SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT = 1 << 1; - /** * Support for WPA3 Simultaneous Authentication of Equals (WPA3-SAE). * - * flag when {@link config_wifi_softap_sae_supported)} is true. + * flag when {@link config_wifi_softap_sae_supported} is true. */ public static final long SOFTAP_FEATURE_WPA3_SAE = 1 << 2; + /** + * Support for MAC address customization. + * flag when {@link R.bool.config_wifiSoftapMacAddressCustomizationSupported} is true + * + * <p> + * Check feature support before invoking + * {@link SoftApConfiguration.Builder#setBssid(MadAddress)} or + * {@link SoftApConfiguration.Builder#setMacRandomizationSetting(int)} with + * {@link SoftApConfiguration.RANDOMIZATION_PERSISTENT} + */ + public static final long SOFTAP_FEATURE_MAC_ADDRESS_CUSTOMIZATION = 1 << 3; + /** @hide */ @Retention(RetentionPolicy.SOURCE) @LongDef(flag = true, prefix = { "SOFTAP_FEATURE_" }, value = { SOFTAP_FEATURE_ACS_OFFLOAD, SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT, SOFTAP_FEATURE_WPA3_SAE, + SOFTAP_FEATURE_MAC_ADDRESS_CUSTOMIZATION, }) public @interface HotspotFeatures {} diff --git a/wifi/java/android/net/wifi/SoftApConfiguration.java b/wifi/java/android/net/wifi/SoftApConfiguration.java index 2c53daaf55a7..c0f6e7a20f95 100644 --- a/wifi/java/android/net/wifi/SoftApConfiguration.java +++ b/wifi/java/android/net/wifi/SoftApConfiguration.java @@ -819,6 +819,11 @@ public final class SoftApConfiguration implements Parcelable { * Derived MAC address 1: e2:c7:60:c4:0e:b7 * Derived MAC address 2: e2:38:9f:c4:0e:b7 * + * <p> + * Use {@link WifiManager.SoftApCallback#onCapabilityChanged(SoftApCapability)} and + * {@link SoftApCapability#areFeaturesSupported(long)} + * with {@link SoftApCapability.SOFTAP_FEATURE_MAC_ADDRESS_CUSTOMIZATION} to determine + * whether or not this feature is supported. * * @param bssid BSSID, or null to have the BSSID chosen by the framework. The caller is * responsible for avoiding collisions. @@ -957,9 +962,9 @@ public final class SoftApConfiguration implements Parcelable { * {@link #setBand(int)}. * * The channel auto selection will be offloaded to driver when - * {@link SoftApCapability#areFeaturesSupported( - * SoftApCapability.SOFTAP_FEATURE_ACS_OFFLOAD)} - * returns true. The driver will auto select the best channel (e.g. best performance) + * {@link SoftApCapability#areFeaturesSupported(long)} + * with {@link SoftApCapability.SOFTAP_FEATURE_ACS_OFFLOAD} + * return true. The driver will auto select the best channel (e.g. best performance) * based on environment interference. Check {@link SoftApCapability} for more detail. * * The API contains (band, channel) input since the 6GHz band uses the same channel @@ -998,8 +1003,8 @@ public final class SoftApConfiguration implements Parcelable { * auto-select a valid channel from the band configured with {@link #setBands(int[])}. * * The channel auto selection will be offloaded to driver when - * {@link SoftApCapability#areFeaturesSupported( - * SoftApCapability.SOFTAP_FEATURE_ACS_OFFLOAD)} + * {@link SoftApCapability#areFeaturesSupported(long)} + * with {@link SoftApCapability.SOFTAP_FEATURE_ACS_OFFLOAD} * returns true. The driver will auto select the best channel (e.g. best performance) * based on environment interference. Check {@link SoftApCapability} for more detail. * @@ -1046,14 +1051,14 @@ public final class SoftApConfiguration implements Parcelable { * <p> * <li>If not set, defaults to 0.</li> * - * This method requires hardware support. If the method is used to set a + * This method requires HAL support. If the method is used to set a * non-zero {@code maxNumberOfClients} value then * {@link WifiManager#startTetheredHotspot} will report error code * {@link WifiManager#SAP_START_FAILURE_UNSUPPORTED_CONFIGURATION}. * * <p> * Use {@link WifiManager.SoftApCallback#onCapabilityChanged(SoftApCapability)} and - * {@link SoftApCapability#areFeaturesSupported(int)} + * {@link SoftApCapability#areFeaturesSupported(long)} * with {@link SoftApCapability.SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT} to determine whether * or not this feature is supported. * @@ -1127,13 +1132,13 @@ public final class SoftApConfiguration implements Parcelable { * {@link #setBlockedClientList(List)} and {@link #setAllowedClientList(List)}. * * <p> - * This method requires hardware support. Hardware support can be determined using + * This method requires HAL support. HAL support can be determined using * {@link WifiManager.SoftApCallback#onCapabilityChanged(SoftApCapability)} and - * {@link SoftApCapability#areFeaturesSupported(int)} + * {@link SoftApCapability#areFeaturesSupported(long)} * with {@link SoftApCapability.SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT} * * <p> - * If the method is called on a device without hardware support then starting the soft AP + * If the method is called on a device without HAL support then starting the soft AP * using {@link WifiManager#startTetheredHotspot(SoftApConfiguration)} will fail with * {@link WifiManager#SAP_START_FAILURE_UNSUPPORTED_CONFIGURATION}. * @@ -1182,13 +1187,13 @@ public final class SoftApConfiguration implements Parcelable { * to the Soft AP. * * <p> - * This method requires hardware support. Hardware support can be determined using + * This method requires HAL support. HAL support can be determined using * {@link WifiManager.SoftApCallback#onCapabilityChanged(SoftApCapability)} and - * {@link SoftApCapability#areFeaturesSupported(int)} + * {@link SoftApCapability#areFeaturesSupported(long)} * with {@link SoftApCapability.SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT} * * <p> - * If the method is called on a device without hardware support then starting the soft AP + * If the method is called on a device without HAL support then starting the soft AP * using {@link WifiManager#startTetheredHotspot(SoftApConfiguration)} will fail with * {@link WifiManager#SAP_START_FAILURE_UNSUPPORTED_CONFIGURATION}. * @@ -1210,7 +1215,14 @@ public final class SoftApConfiguration implements Parcelable { * <p> * <li>If not set, defaults to {@link #RANDOMIZATION_PERSISTENT}</li> * - * @param macRandomizationSetting One of the following setting:. + * <p> + * Requires HAL support when set to {@link #RANDOMIZATION_PERSISTENT}. + * Use {@link WifiManager.SoftApCallback#onCapabilityChanged(SoftApCapability)} and + * {@link SoftApCapability#areFeaturesSupported(long)} + * with {@link SoftApCapability.SOFTAP_FEATURE_MAC_ADDRESS_CUSTOMIZATION} to determine + * whether or not this feature is supported. + * + * @param macRandomizationSetting One of the following setting: * {@link #RANDOMIZATION_NONE} or {@link #RANDOMIZATION_PERSISTENT}. * @return Builder for chaining. * |