Merge "Make Information Elements (IE) of a scan result available as a public API."
am: 34a5bbda41
Change-Id: Ia0680401d2c670eb795027ebc3256ec314f41c45
This commit is contained in:
@@ -29984,7 +29984,9 @@ package android.net.ssl {
|
|||||||
package android.net.wifi {
|
package android.net.wifi {
|
||||||
|
|
||||||
public class ScanResult implements android.os.Parcelable {
|
public class ScanResult implements android.os.Parcelable {
|
||||||
|
ctor public ScanResult(@NonNull android.net.wifi.ScanResult);
|
||||||
method public int describeContents();
|
method public int describeContents();
|
||||||
|
method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getInformationElements();
|
||||||
method public boolean is80211mcResponder();
|
method public boolean is80211mcResponder();
|
||||||
method public boolean isPasspointNetwork();
|
method public boolean isPasspointNetwork();
|
||||||
method public void writeToParcel(android.os.Parcel, int);
|
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_40MHZ = 1; // 0x1
|
||||||
field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
|
field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
|
||||||
field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
|
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 SSID;
|
||||||
field public String capabilities;
|
field public String capabilities;
|
||||||
field public int centerFreq0;
|
field public int centerFreq0;
|
||||||
@@ -30006,6 +30009,12 @@ package android.net.wifi {
|
|||||||
field public CharSequence venueName;
|
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 {
|
public enum SupplicantState implements android.os.Parcelable {
|
||||||
method public int describeContents();
|
method public int describeContents();
|
||||||
method public static boolean isValidState(android.net.wifi.SupplicantState);
|
method public static boolean isValidState(android.net.wifi.SupplicantState);
|
||||||
|
|||||||
@@ -16,4 +16,4 @@
|
|||||||
|
|
||||||
package android.net.wifi;
|
package android.net.wifi;
|
||||||
|
|
||||||
parcelable ScanResult;
|
@JavaOnlyStableParcelable parcelable ScanResult;
|
||||||
|
|||||||
@@ -16,13 +16,16 @@
|
|||||||
|
|
||||||
package android.net.wifi;
|
package android.net.wifi;
|
||||||
|
|
||||||
|
import android.annotation.NonNull;
|
||||||
import android.annotation.SystemApi;
|
import android.annotation.SystemApi;
|
||||||
import android.compat.annotation.UnsupportedAppUsage;
|
import android.compat.annotation.UnsupportedAppUsage;
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
|
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@@ -433,58 +436,100 @@ public class ScanResult implements Parcelable {
|
|||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public List<String> anqpLines;
|
public List<String> anqpLines;
|
||||||
|
|
||||||
/** information elements from beacon
|
/**
|
||||||
* @hide
|
* information elements from beacon.
|
||||||
*/
|
*/
|
||||||
public static class InformationElement {
|
public static class InformationElement {
|
||||||
|
/** @hide */
|
||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public static final int EID_SSID = 0;
|
public static final int EID_SSID = 0;
|
||||||
|
/** @hide */
|
||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public static final int EID_SUPPORTED_RATES = 1;
|
public static final int EID_SUPPORTED_RATES = 1;
|
||||||
|
/** @hide */
|
||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public static final int EID_TIM = 5;
|
public static final int EID_TIM = 5;
|
||||||
|
/** @hide */
|
||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public static final int EID_BSS_LOAD = 11;
|
public static final int EID_BSS_LOAD = 11;
|
||||||
|
/** @hide */
|
||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public static final int EID_ERP = 42;
|
public static final int EID_ERP = 42;
|
||||||
|
/** @hide */
|
||||||
public static final int EID_HT_CAPABILITIES = 45;
|
public static final int EID_HT_CAPABILITIES = 45;
|
||||||
|
/** @hide */
|
||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public static final int EID_RSN = 48;
|
public static final int EID_RSN = 48;
|
||||||
|
/** @hide */
|
||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public static final int EID_EXTENDED_SUPPORTED_RATES = 50;
|
public static final int EID_EXTENDED_SUPPORTED_RATES = 50;
|
||||||
|
/** @hide */
|
||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public static final int EID_HT_OPERATION = 61;
|
public static final int EID_HT_OPERATION = 61;
|
||||||
|
/** @hide */
|
||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public static final int EID_INTERWORKING = 107;
|
public static final int EID_INTERWORKING = 107;
|
||||||
|
/** @hide */
|
||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public static final int EID_ROAMING_CONSORTIUM = 111;
|
public static final int EID_ROAMING_CONSORTIUM = 111;
|
||||||
|
/** @hide */
|
||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public static final int EID_EXTENDED_CAPS = 127;
|
public static final int EID_EXTENDED_CAPS = 127;
|
||||||
|
/** @hide */
|
||||||
public static final int EID_VHT_CAPABILITIES = 191;
|
public static final int EID_VHT_CAPABILITIES = 191;
|
||||||
|
/** @hide */
|
||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public static final int EID_VHT_OPERATION = 192;
|
public static final int EID_VHT_OPERATION = 192;
|
||||||
|
/** @hide */
|
||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public static final int EID_VSA = 221;
|
public static final int EID_VSA = 221;
|
||||||
|
|
||||||
|
/** @hide */
|
||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public int id;
|
public int id;
|
||||||
|
/** @hide */
|
||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public byte[] bytes;
|
public byte[] bytes;
|
||||||
|
|
||||||
|
/** @hide */
|
||||||
public InformationElement() {
|
public InformationElement() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public InformationElement(InformationElement rhs) {
|
public InformationElement(@NonNull InformationElement rhs) {
|
||||||
this.id = rhs.id;
|
this.id = rhs.id;
|
||||||
this.bytes = rhs.bytes.clone();
|
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
|
* @hide
|
||||||
*/
|
*/
|
||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public InformationElement[] informationElements;
|
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.
|
/** ANQP response elements.
|
||||||
* @hide
|
* @hide
|
||||||
@@ -604,8 +649,8 @@ public class ScanResult implements Parcelable {
|
|||||||
this.wifiSsid = wifiSsid;
|
this.wifiSsid = wifiSsid;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** copy constructor {@hide} */
|
/** copy constructor */
|
||||||
public ScanResult(ScanResult source) {
|
public ScanResult(@NonNull ScanResult source) {
|
||||||
if (source != null) {
|
if (source != null) {
|
||||||
wifiSsid = source.wifiSsid;
|
wifiSsid = source.wifiSsid;
|
||||||
SSID = source.SSID;
|
SSID = source.SSID;
|
||||||
@@ -759,9 +804,8 @@ public class ScanResult implements Parcelable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Implement the Parcelable interface {@hide} */
|
/** Implement the Parcelable interface */
|
||||||
@UnsupportedAppUsage
|
public static final @NonNull Creator<ScanResult> CREATOR =
|
||||||
public static final @android.annotation.NonNull Creator<ScanResult> CREATOR =
|
|
||||||
new Creator<ScanResult>() {
|
new Creator<ScanResult>() {
|
||||||
public ScanResult createFromParcel(Parcel in) {
|
public ScanResult createFromParcel(Parcel in) {
|
||||||
WifiSsid wifiSsid = null;
|
WifiSsid wifiSsid = null;
|
||||||
|
|||||||
Reference in New Issue
Block a user