summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/current.txt9
-rw-r--r--wifi/java/android/net/wifi/ScanResult.aidl2
-rw-r--r--wifi/java/android/net/wifi/ScanResult.java62
3 files changed, 63 insertions, 10 deletions
diff --git a/api/current.txt b/api/current.txt
index aa26b1f1e69d..c6c9dde2f086 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -29984,7 +29984,9 @@ package android.net.ssl {
package android.net.wifi {
public class ScanResult implements android.os.Parcelable {
+ ctor public ScanResult(@NonNull android.net.wifi.ScanResult);
method public int describeContents();
+ method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getInformationElements();
method public boolean is80211mcResponder();
method public boolean isPasspointNetwork();
method public void writeToParcel(android.os.Parcel, int);
@@ -29994,6 +29996,7 @@ package android.net.wifi {
field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.ScanResult> CREATOR;
field public String SSID;
field public String capabilities;
field public int centerFreq0;
@@ -30006,6 +30009,12 @@ package android.net.wifi {
field public CharSequence venueName;
}
+ public static class ScanResult.InformationElement {
+ ctor public ScanResult.InformationElement(@NonNull android.net.wifi.ScanResult.InformationElement);
+ method @NonNull public java.nio.ByteBuffer getBytes();
+ method public int getId();
+ }
+
public enum SupplicantState implements android.os.Parcelable {
method public int describeContents();
method public static boolean isValidState(android.net.wifi.SupplicantState);
diff --git a/wifi/java/android/net/wifi/ScanResult.aidl b/wifi/java/android/net/wifi/ScanResult.aidl
index bb66722e4a13..b30689ca5d16 100644
--- a/wifi/java/android/net/wifi/ScanResult.aidl
+++ b/wifi/java/android/net/wifi/ScanResult.aidl
@@ -16,4 +16,4 @@
package android.net.wifi;
-parcelable ScanResult;
+@JavaOnlyStableParcelable parcelable ScanResult;
diff --git a/wifi/java/android/net/wifi/ScanResult.java b/wifi/java/android/net/wifi/ScanResult.java
index 2901bd8cbb48..2d0942d3ffa7 100644
--- a/wifi/java/android/net/wifi/ScanResult.java
+++ b/wifi/java/android/net/wifi/ScanResult.java
@@ -16,13 +16,16 @@
package android.net.wifi;
+import android.annotation.NonNull;
import android.annotation.SystemApi;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Parcel;
import android.os.Parcelable;
+import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -433,58 +436,100 @@ public class ScanResult implements Parcelable {
@UnsupportedAppUsage
public List<String> anqpLines;
- /** information elements from beacon
- * @hide
+ /**
+ * information elements from beacon.
*/
public static class InformationElement {
+ /** @hide */
@UnsupportedAppUsage
public static final int EID_SSID = 0;
+ /** @hide */
@UnsupportedAppUsage
public static final int EID_SUPPORTED_RATES = 1;
+ /** @hide */
@UnsupportedAppUsage
public static final int EID_TIM = 5;
+ /** @hide */
@UnsupportedAppUsage
public static final int EID_BSS_LOAD = 11;
+ /** @hide */
@UnsupportedAppUsage
public static final int EID_ERP = 42;
+ /** @hide */
public static final int EID_HT_CAPABILITIES = 45;
+ /** @hide */
@UnsupportedAppUsage
public static final int EID_RSN = 48;
+ /** @hide */
@UnsupportedAppUsage
public static final int EID_EXTENDED_SUPPORTED_RATES = 50;
+ /** @hide */
@UnsupportedAppUsage
public static final int EID_HT_OPERATION = 61;
+ /** @hide */
@UnsupportedAppUsage
public static final int EID_INTERWORKING = 107;
+ /** @hide */
@UnsupportedAppUsage
public static final int EID_ROAMING_CONSORTIUM = 111;
+ /** @hide */
@UnsupportedAppUsage
public static final int EID_EXTENDED_CAPS = 127;
+ /** @hide */
public static final int EID_VHT_CAPABILITIES = 191;
+ /** @hide */
@UnsupportedAppUsage
public static final int EID_VHT_OPERATION = 192;
+ /** @hide */
@UnsupportedAppUsage
public static final int EID_VSA = 221;
+ /** @hide */
@UnsupportedAppUsage
public int id;
+ /** @hide */
@UnsupportedAppUsage
public byte[] bytes;
+ /** @hide */
public InformationElement() {
}
- public InformationElement(InformationElement rhs) {
+ public InformationElement(@NonNull InformationElement rhs) {
this.id = rhs.id;
this.bytes = rhs.bytes.clone();
}
+
+ /**
+ * The element ID of the information element. Defined in the IEEE 802.11-2016 spec
+ * Table 9-77.
+ */
+ public int getId() {
+ return id;
+ }
+
+ /**
+ * Get the specific content of the information element.
+ */
+ @NonNull
+ public ByteBuffer getBytes() {
+ return ByteBuffer.wrap(bytes).asReadOnlyBuffer();
+ }
}
- /** information elements found in the beacon
+ /**
+ * information elements found in the beacon.
* @hide
*/
@UnsupportedAppUsage
public InformationElement[] informationElements;
+ /**
+ * Get all information elements found in the beacon.
+ */
+ @NonNull
+ public List<InformationElement> getInformationElements() {
+ return Collections.unmodifiableList(Arrays.asList(informationElements));
+ }
/** ANQP response elements.
* @hide
@@ -604,8 +649,8 @@ public class ScanResult implements Parcelable {
this.wifiSsid = wifiSsid;
}
- /** copy constructor {@hide} */
- public ScanResult(ScanResult source) {
+ /** copy constructor */
+ public ScanResult(@NonNull ScanResult source) {
if (source != null) {
wifiSsid = source.wifiSsid;
SSID = source.SSID;
@@ -759,9 +804,8 @@ public class ScanResult implements Parcelable {
}
}
- /** Implement the Parcelable interface {@hide} */
- @UnsupportedAppUsage
- public static final @android.annotation.NonNull Creator<ScanResult> CREATOR =
+ /** Implement the Parcelable interface */
+ public static final @NonNull Creator<ScanResult> CREATOR =
new Creator<ScanResult>() {
public ScanResult createFromParcel(Parcel in) {
WifiSsid wifiSsid = null;