summaryrefslogtreecommitdiff
path: root/wifi/java
diff options
context:
space:
mode:
author Shuibing Dai <shuibing@google.com> 2023-01-24 18:48:44 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-01-24 18:48:44 +0000
commitbd97157f6e1d37494931f7136a0c8ac9f639a082 (patch)
treeb003b167eec163f33aa7a27af20dcad53c715313 /wifi/java
parent3542addec651fd8810abbf18d0b6344eefb69281 (diff)
parentdcd8a10153395a92e456f57799982c325b01b250 (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.java17
-rw-r--r--wifi/java/src/android/net/wifi/nl80211/WifiNl80211Manager.java5
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) {