diff options
| author | 2023-01-24 18:48:44 +0000 | |
|---|---|---|
| committer | 2023-01-24 18:48:44 +0000 | |
| commit | bd97157f6e1d37494931f7136a0c8ac9f639a082 (patch) | |
| tree | b003b167eec163f33aa7a27af20dcad53c715313 /wifi/java | |
| parent | 3542addec651fd8810abbf18d0b6344eefb69281 (diff) | |
| parent | dcd8a10153395a92e456f57799982c325b01b250 (diff) | |
Merge "Add codes for scan vendor ies support"
Diffstat (limited to 'wifi/java')
| -rw-r--r-- | wifi/java/src/android/net/wifi/nl80211/SingleScanSettings.java | 17 | ||||
| -rw-r--r-- | wifi/java/src/android/net/wifi/nl80211/WifiNl80211Manager.java | 5 |
2 files changed, 20 insertions, 2 deletions
diff --git a/wifi/java/src/android/net/wifi/nl80211/SingleScanSettings.java b/wifi/java/src/android/net/wifi/nl80211/SingleScanSettings.java index 1d479fc14d29..4a821bbcd54d 100644 --- a/wifi/java/src/android/net/wifi/nl80211/SingleScanSettings.java +++ b/wifi/java/src/android/net/wifi/nl80211/SingleScanSettings.java @@ -21,6 +21,7 @@ import android.os.Parcelable; import android.util.Log; import java.util.ArrayList; +import java.util.Arrays; import java.util.Objects; /** @@ -35,6 +36,7 @@ public class SingleScanSettings implements Parcelable { public boolean enable6GhzRnr; public ArrayList<ChannelSettings> channelSettings; public ArrayList<HiddenNetwork> hiddenNetworks; + public byte[] vendorIes; /** public constructor */ public SingleScanSettings() { } @@ -53,13 +55,15 @@ public class SingleScanSettings implements Parcelable { return scanType == settings.scanType && enable6GhzRnr == settings.enable6GhzRnr && channelSettings.equals(settings.channelSettings) - && hiddenNetworks.equals(settings.hiddenNetworks); + && hiddenNetworks.equals(settings.hiddenNetworks) + && Arrays.equals(vendorIes, settings.vendorIes); } /** override hash code */ @Override public int hashCode() { - return Objects.hash(scanType, channelSettings, hiddenNetworks, enable6GhzRnr); + return Objects.hash(scanType, channelSettings, hiddenNetworks, enable6GhzRnr, + Arrays.hashCode(vendorIes)); } @@ -88,6 +92,11 @@ public class SingleScanSettings implements Parcelable { out.writeBoolean(enable6GhzRnr); out.writeTypedList(channelSettings); out.writeTypedList(hiddenNetworks); + if (vendorIes == null) { + out.writeByteArray(new byte[0]); + } else { + out.writeByteArray(vendorIes); + } } /** implement Parcelable interface */ @@ -108,6 +117,10 @@ public class SingleScanSettings implements Parcelable { in.readTypedList(result.channelSettings, ChannelSettings.CREATOR); result.hiddenNetworks = new ArrayList<HiddenNetwork>(); in.readTypedList(result.hiddenNetworks, HiddenNetwork.CREATOR); + result.vendorIes = in.createByteArray(); + if (result.vendorIes == null) { + result.vendorIes = new byte[0]; + } if (in.dataAvail() != 0) { Log.e(TAG, "Found trailing data after parcel parsing."); } diff --git a/wifi/java/src/android/net/wifi/nl80211/WifiNl80211Manager.java b/wifi/java/src/android/net/wifi/nl80211/WifiNl80211Manager.java index abdecc76e867..2a199d27a60e 100644 --- a/wifi/java/src/android/net/wifi/nl80211/WifiNl80211Manager.java +++ b/wifi/java/src/android/net/wifi/nl80211/WifiNl80211Manager.java @@ -96,6 +96,10 @@ public class WifiNl80211Manager { public static final String SCANNING_PARAM_ENABLE_6GHZ_RNR = "android.net.wifi.nl80211.SCANNING_PARAM_ENABLE_6GHZ_RNR"; + // Extra scanning parameter used to add vendor IEs (byte[]). + public static final String EXTRA_SCANNING_PARAM_VENDOR_IES = + "android.net.wifi.nl80211.extra.SCANNING_PARAM_VENDOR_IES"; + private AlarmManager mAlarmManager; private Handler mEventHandler; @@ -1135,6 +1139,7 @@ public class WifiNl80211Manager { settings.hiddenNetworks = new ArrayList<>(); if (extraScanningParams != null) { settings.enable6GhzRnr = extraScanningParams.getBoolean(SCANNING_PARAM_ENABLE_6GHZ_RNR); + settings.vendorIes = extraScanningParams.getByteArray(EXTRA_SCANNING_PARAM_VENDOR_IES); } if (freqs != null) { |