xref: /aosp_15_r20/cts/common/device-side/bedstead/remoteframeworkclasses/java/apis/wifi-current.txt (revision b7c941bb3fa97aba169d73cee0bed2de8ac964bf)
1// Signature format: 2.0
2package android.net.wifi {
3
4  public abstract class EasyConnectStatusCallback {
5    field public static final int EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION = -2; // 0xfffffffe
6    field public static final int EASY_CONNECT_EVENT_FAILURE_BUSY = -5; // 0xfffffffb
7    field public static final int EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK = -10; // 0xfffffff6
8    field public static final int EASY_CONNECT_EVENT_FAILURE_CONFIGURATION = -4; // 0xfffffffc
9    field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_AUTHENTICATION = -11; // 0xfffffff5
10    field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_FAILED_TO_SCAN_NETWORK_CHANNEL = -14; // 0xfffffff2
11    field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_REJECTED_CONFIGURATION = -12; // 0xfffffff4
12    field public static final int EASY_CONNECT_EVENT_FAILURE_GENERIC = -7; // 0xfffffff9
13    field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK = -9; // 0xfffffff7
14    field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_URI = -1; // 0xffffffff
15    field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_COMPATIBLE = -3; // 0xfffffffd
16    field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_SUPPORTED = -8; // 0xfffffff8
17    field public static final int EASY_CONNECT_EVENT_FAILURE_TIMEOUT = -6; // 0xfffffffa
18    field public static final int EASY_CONNECT_EVENT_FAILURE_URI_GENERATION = -13; // 0xfffffff3
19  }
20
21  public final class MloLink implements android.os.Parcelable {
22    ctor public MloLink();
23    method public int describeContents();
24    method @Nullable public android.net.MacAddress getApMacAddress();
25    method public int getBand();
26    method @IntRange(from=1) public int getChannel();
27    method @IntRange(from=android.net.wifi.MloLink.INVALID_MLO_LINK_ID, to=0xf) public int getLinkId();
28    method public int getRssi();
29    method @IntRange(from=0xffffffff) public int getRxLinkSpeedMbps();
30    method @Nullable public android.net.MacAddress getStaMacAddress();
31    method public int getState();
32    method @IntRange(from=0xffffffff) public int getTxLinkSpeedMbps();
33    method public void writeToParcel(@NonNull android.os.Parcel, int);
34    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.MloLink> CREATOR;
35    field public static final int INVALID_MLO_LINK_ID = -1; // 0xffffffff
36    field public static final int MLO_LINK_STATE_ACTIVE = 3; // 0x3
37    field public static final int MLO_LINK_STATE_IDLE = 2; // 0x2
38    field public static final int MLO_LINK_STATE_INVALID = 0; // 0x0
39    field public static final int MLO_LINK_STATE_UNASSOCIATED = 1; // 0x1
40  }
41
42  public final class ScanResult implements android.os.Parcelable {
43    ctor public ScanResult(@NonNull android.net.wifi.ScanResult);
44    ctor public ScanResult();
45    method public static int convertChannelToFrequencyMhzIfSupported(int, int);
46    method public static int convertFrequencyMhzToChannelIfSupported(int);
47    method public int describeContents();
48    method @NonNull public java.util.List<android.net.wifi.MloLink> getAffiliatedMloLinks();
49    method @Nullable public android.net.MacAddress getApMldMacAddress();
50    method @IntRange(from=android.net.wifi.MloLink.INVALID_MLO_LINK_ID, to=0xf) public int getApMloLinkId();
51    method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getInformationElements();
52    method @NonNull public int[] getSecurityTypes();
53    method @Nullable public android.net.wifi.WifiSsid getWifiSsid();
54    method public int getWifiStandard();
55    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean is80211azNtbResponder();
56    method public boolean is80211mcResponder();
57    method public boolean isPasspointNetwork();
58    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isTwtResponder();
59    method public void writeToParcel(android.os.Parcel, int);
60    field public String BSSID;
61    field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3
62    field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0
63    field public static final int CHANNEL_WIDTH_320MHZ = 5; // 0x5
64    field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
65    field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
66    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
67    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.ScanResult> CREATOR;
68    field public static final int PREAMBLE_EHT = 4; // 0x4
69    field public static final int PREAMBLE_HE = 3; // 0x3
70    field public static final int PREAMBLE_HT = 1; // 0x1
71    field public static final int PREAMBLE_LEGACY = 0; // 0x0
72    field public static final int PREAMBLE_VHT = 2; // 0x2
73    field @Deprecated public String SSID;
74    field public static final int UNSPECIFIED = -1; // 0xffffffff
75    field public static final int WIFI_BAND_24_GHZ = 1; // 0x1
76    field public static final int WIFI_BAND_5_GHZ = 2; // 0x2
77    field public static final int WIFI_BAND_60_GHZ = 16; // 0x10
78    field public static final int WIFI_BAND_6_GHZ = 8; // 0x8
79    field public static final int WIFI_STANDARD_11AC = 5; // 0x5
80    field public static final int WIFI_STANDARD_11AD = 7; // 0x7
81    field public static final int WIFI_STANDARD_11AX = 6; // 0x6
82    field public static final int WIFI_STANDARD_11BE = 8; // 0x8
83    field public static final int WIFI_STANDARD_11N = 4; // 0x4
84    field public static final int WIFI_STANDARD_LEGACY = 1; // 0x1
85    field public static final int WIFI_STANDARD_UNKNOWN = 0; // 0x0
86    field public String capabilities;
87    field public int centerFreq0;
88    field public int centerFreq1;
89    field public int channelWidth;
90    field public int frequency;
91    field public int level;
92    field @Deprecated public CharSequence operatorFriendlyName;
93    field public long timestamp;
94    field @Deprecated public CharSequence venueName;
95  }
96
97  public static class ScanResult.InformationElement implements android.os.Parcelable {
98    ctor public ScanResult.InformationElement(int, int, @NonNull byte[]);
99    ctor public ScanResult.InformationElement(@NonNull android.net.wifi.ScanResult.InformationElement);
100    method public int describeContents();
101    method @NonNull public java.nio.ByteBuffer getBytes();
102    method public int getId();
103    method public int getIdExt();
104    method public void writeToParcel(android.os.Parcel, int);
105    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.ScanResult.InformationElement> CREATOR;
106  }
107
108  public final class SoftApConfiguration implements android.os.Parcelable {
109    method public int describeContents();
110    method @Nullable public android.net.MacAddress getBssid();
111    method @Nullable public String getPassphrase();
112    method public int getSecurityType();
113    method @Deprecated @Nullable public String getSsid();
114    method @Nullable public android.net.wifi.WifiSsid getWifiSsid();
115    method public boolean isHiddenSsid();
116    method public void writeToParcel(@NonNull android.os.Parcel, int);
117    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApConfiguration> CREATOR;
118    field public static final int SECURITY_TYPE_OPEN = 0; // 0x0
119    field public static final int SECURITY_TYPE_WPA2_PSK = 1; // 0x1
120    field public static final int SECURITY_TYPE_WPA3_OWE = 5; // 0x5
121    field public static final int SECURITY_TYPE_WPA3_OWE_TRANSITION = 4; // 0x4
122    field public static final int SECURITY_TYPE_WPA3_SAE = 3; // 0x3
123    field public static final int SECURITY_TYPE_WPA3_SAE_TRANSITION = 2; // 0x2
124  }
125
126  public enum SupplicantState implements android.os.Parcelable {
127    method public int describeContents();
128    method public static boolean isValidState(android.net.wifi.SupplicantState);
129    method public void writeToParcel(android.os.Parcel, int);
130    enum_constant public static final android.net.wifi.SupplicantState ASSOCIATED;
131    enum_constant public static final android.net.wifi.SupplicantState ASSOCIATING;
132    enum_constant public static final android.net.wifi.SupplicantState AUTHENTICATING;
133    enum_constant public static final android.net.wifi.SupplicantState COMPLETED;
134    enum_constant public static final android.net.wifi.SupplicantState DISCONNECTED;
135    enum_constant public static final android.net.wifi.SupplicantState DORMANT;
136    enum_constant public static final android.net.wifi.SupplicantState FOUR_WAY_HANDSHAKE;
137    enum_constant public static final android.net.wifi.SupplicantState GROUP_HANDSHAKE;
138    enum_constant public static final android.net.wifi.SupplicantState INACTIVE;
139    enum_constant public static final android.net.wifi.SupplicantState INTERFACE_DISABLED;
140    enum_constant public static final android.net.wifi.SupplicantState INVALID;
141    enum_constant public static final android.net.wifi.SupplicantState SCANNING;
142    enum_constant public static final android.net.wifi.SupplicantState UNINITIALIZED;
143  }
144
145  public final class WifiAvailableChannel implements android.os.Parcelable {
146    ctor public WifiAvailableChannel(int, int);
147    method public int describeContents();
148    method @FlaggedApi("com.android.wifi.flags.get_channel_width_api") public int getChannelWidth();
149    method public int getFrequencyMhz();
150    method public int getOperationalModes();
151    method public void writeToParcel(@NonNull android.os.Parcel, int);
152    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiAvailableChannel> CREATOR;
153    field public static final int OP_MODE_SAP = 2; // 0x2
154    field public static final int OP_MODE_STA = 1; // 0x1
155    field public static final int OP_MODE_TDLS = 32; // 0x20
156    field public static final int OP_MODE_WIFI_AWARE = 16; // 0x10
157    field public static final int OP_MODE_WIFI_DIRECT_CLI = 4; // 0x4
158    field public static final int OP_MODE_WIFI_DIRECT_GO = 8; // 0x8
159  }
160
161  @Deprecated public class WifiConfiguration implements android.os.Parcelable {
162    ctor @Deprecated public WifiConfiguration();
163    ctor @Deprecated public WifiConfiguration(@NonNull android.net.wifi.WifiConfiguration);
164    method @Deprecated public int describeContents();
165    method @Deprecated public android.net.ProxyInfo getHttpProxy();
166    method @Deprecated @NonNull public String getKey();
167    method @Deprecated public int getMacRandomizationSetting();
168    method @Deprecated @NonNull public android.net.MacAddress getRandomizedMacAddress();
169    method @Deprecated public boolean isDppConfigurator();
170    method @Deprecated public boolean isPasspoint();
171    method @Deprecated public void setHttpProxy(android.net.ProxyInfo);
172    method @Deprecated public void setIpConfiguration(@Nullable android.net.IpConfiguration);
173    method @Deprecated public void setMacRandomizationSetting(int);
174    method @Deprecated public void setSecurityParams(int);
175    method @Deprecated public void writeToParcel(android.os.Parcel, int);
176    field @Deprecated public String BSSID;
177    field @Deprecated public String FQDN;
178    field @Deprecated public static final int RANDOMIZATION_AUTO = 3; // 0x3
179    field @Deprecated public static final int RANDOMIZATION_NONE = 0; // 0x0
180    field @Deprecated public static final int RANDOMIZATION_NON_PERSISTENT = 2; // 0x2
181    field @Deprecated public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
182    field @Deprecated public static final int SECURITY_TYPE_DPP = 13; // 0xd
183    field @Deprecated public static final int SECURITY_TYPE_EAP = 3; // 0x3
184    field @Deprecated public static final int SECURITY_TYPE_EAP_SUITE_B = 5; // 0x5
185    field @Deprecated public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE = 9; // 0x9
186    field @Deprecated public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT = 5; // 0x5
187    field @Deprecated public static final int SECURITY_TYPE_OPEN = 0; // 0x0
188    field @Deprecated public static final int SECURITY_TYPE_OWE = 6; // 0x6
189    field @Deprecated public static final int SECURITY_TYPE_PSK = 2; // 0x2
190    field @Deprecated public static final int SECURITY_TYPE_SAE = 4; // 0x4
191    field @Deprecated public static final int SECURITY_TYPE_WAPI_CERT = 8; // 0x8
192    field @Deprecated public static final int SECURITY_TYPE_WAPI_PSK = 7; // 0x7
193    field @Deprecated public static final int SECURITY_TYPE_WEP = 1; // 0x1
194    field @Deprecated public String SSID;
195    field @Deprecated @NonNull public java.util.BitSet allowedAuthAlgorithms;
196    field @Deprecated @NonNull public java.util.BitSet allowedGroupCiphers;
197    field @Deprecated @NonNull public java.util.BitSet allowedGroupManagementCiphers;
198    field @Deprecated @NonNull public java.util.BitSet allowedKeyManagement;
199    field @Deprecated @NonNull public java.util.BitSet allowedPairwiseCiphers;
200    field @Deprecated @NonNull public java.util.BitSet allowedProtocols;
201    field @Deprecated @NonNull public java.util.BitSet allowedSuiteBCiphers;
202    field @Deprecated public android.net.wifi.WifiEnterpriseConfig enterpriseConfig;
203    field @Deprecated public boolean hiddenSSID;
204    field @Deprecated public boolean isHomeProviderNetwork;
205    field @Deprecated public int networkId;
206    field @Deprecated public String preSharedKey;
207    field @Deprecated public int priority;
208    field @Deprecated public String providerFriendlyName;
209    field @Deprecated public long[] roamingConsortiumIds;
210    field @Deprecated public int status;
211    field @Deprecated public String[] wepKeys;
212    field @Deprecated public int wepTxKeyIndex;
213  }
214
215  @Deprecated public static class WifiConfiguration.AuthAlgorithm {
216    field @Deprecated public static final int LEAP = 2; // 0x2
217    field @Deprecated public static final int OPEN = 0; // 0x0
218    field @Deprecated public static final int SAE = 3; // 0x3
219    field @Deprecated public static final int SHARED = 1; // 0x1
220    field @Deprecated public static final String[] strings;
221    field @Deprecated public static final String varName = "auth_alg";
222  }
223
224  @Deprecated public static class WifiConfiguration.GroupCipher {
225    field @Deprecated public static final int CCMP = 3; // 0x3
226    field @Deprecated public static final int GCMP_128 = 7; // 0x7
227    field @Deprecated public static final int GCMP_256 = 5; // 0x5
228    field @Deprecated public static final int SMS4 = 6; // 0x6
229    field @Deprecated public static final int TKIP = 2; // 0x2
230    field @Deprecated public static final int WEP104 = 1; // 0x1
231    field @Deprecated public static final int WEP40 = 0; // 0x0
232    field @Deprecated public static final String[] strings;
233    field @Deprecated public static final String varName = "group";
234  }
235
236  @Deprecated public static class WifiConfiguration.GroupMgmtCipher {
237    field @Deprecated public static final int BIP_CMAC_256 = 0; // 0x0
238    field @Deprecated public static final int BIP_GMAC_128 = 1; // 0x1
239    field @Deprecated public static final int BIP_GMAC_256 = 2; // 0x2
240  }
241
242  @Deprecated public static class WifiConfiguration.KeyMgmt {
243    field @Deprecated public static final int DPP = 17; // 0x11
244    field @Deprecated public static final int FILS_SHA256 = 15; // 0xf
245    field @Deprecated public static final int FILS_SHA384 = 16; // 0x10
246    field @Deprecated public static final int FT_EAP = 7; // 0x7
247    field @Deprecated public static final int FT_PSK = 6; // 0x6
248    field @Deprecated public static final int IEEE8021X = 3; // 0x3
249    field @Deprecated public static final int NONE = 0; // 0x0
250    field @Deprecated public static final int OSEN = 5; // 0x5
251    field @Deprecated public static final int OWE = 9; // 0x9
252    field @Deprecated public static final int SAE = 8; // 0x8
253    field @Deprecated public static final int SUITE_B_192 = 10; // 0xa
254    field @Deprecated public static final int WAPI_CERT = 14; // 0xe
255    field @Deprecated public static final int WAPI_PSK = 13; // 0xd
256    field @Deprecated public static final int WPA2_PSK = 4; // 0x4
257    field @Deprecated public static final int WPA_EAP = 2; // 0x2
258    field @Deprecated public static final int WPA_EAP_SHA256 = 12; // 0xc
259    field @Deprecated public static final int WPA_PSK = 1; // 0x1
260    field @Deprecated public static final int WPA_PSK_SHA256 = 11; // 0xb
261    field @Deprecated public static final String[] strings;
262    field @Deprecated public static final String varName = "key_mgmt";
263  }
264
265  @Deprecated public static class WifiConfiguration.PairwiseCipher {
266    field @Deprecated public static final int CCMP = 2; // 0x2
267    field @Deprecated public static final int GCMP_128 = 5; // 0x5
268    field @Deprecated public static final int GCMP_256 = 3; // 0x3
269    field @Deprecated public static final int NONE = 0; // 0x0
270    field @Deprecated public static final int SMS4 = 4; // 0x4
271    field @Deprecated public static final int TKIP = 1; // 0x1
272    field @Deprecated public static final String[] strings;
273    field @Deprecated public static final String varName = "pairwise";
274  }
275
276  @Deprecated public static class WifiConfiguration.Protocol {
277    field @Deprecated public static final int RSN = 1; // 0x1
278    field @Deprecated public static final int WAPI = 3; // 0x3
279    field @Deprecated public static final int WPA = 0; // 0x0
280    field @Deprecated public static final String[] strings;
281    field @Deprecated public static final String varName = "proto";
282  }
283
284  @Deprecated public static class WifiConfiguration.Status {
285    field @Deprecated public static final int CURRENT = 0; // 0x0
286    field @Deprecated public static final int DISABLED = 1; // 0x1
287    field @Deprecated public static final int ENABLED = 2; // 0x2
288    field @Deprecated public static final String[] strings;
289  }
290
291  public class WifiEnterpriseConfig implements android.os.Parcelable {
292    ctor public WifiEnterpriseConfig();
293    ctor public WifiEnterpriseConfig(android.net.wifi.WifiEnterpriseConfig);
294    method public int describeContents();
295    method public void enableTrustOnFirstUse(boolean);
296    method public String getAltSubjectMatch();
297    method public String getAnonymousIdentity();
298    method @Nullable public java.security.cert.X509Certificate getCaCertificate();
299    method @Nullable public java.security.cert.X509Certificate[] getCaCertificates();
300    method public java.security.cert.X509Certificate getClientCertificate();
301    method @Nullable public java.security.cert.X509Certificate[] getClientCertificateChain();
302    method @Nullable public String getClientKeyPairAlias();
303    method @Nullable public java.security.PrivateKey getClientPrivateKey();
304    method @Nullable public String getDecoratedIdentityPrefix();
305    method public String getDomainSuffixMatch();
306    method public int getEapMethod();
307    method public String getIdentity();
308    method public int getMinimumTlsVersion();
309    method public String getPassword();
310    method public int getPhase2Method();
311    method public String getPlmn();
312    method public String getRealm();
313    method @Deprecated public String getSubjectMatch();
314    method public boolean hasCaCertificate();
315    method public boolean isAuthenticationSimBased();
316    method public boolean isEapMethodServerCertUsed();
317    method public boolean isServerCertValidationEnabled();
318    method public boolean isTrustOnFirstUseEnabled();
319    method public void setAltSubjectMatch(String);
320    method public void setAnonymousIdentity(String);
321    method public void setCaCertificate(@Nullable java.security.cert.X509Certificate);
322    method public void setCaCertificates(@Nullable java.security.cert.X509Certificate[]);
323    method public void setClientKeyEntry(java.security.PrivateKey, java.security.cert.X509Certificate);
324    method public void setClientKeyEntryWithCertificateChain(java.security.PrivateKey, java.security.cert.X509Certificate[]);
325    method public void setClientKeyPairAlias(@NonNull String);
326    method public void setDecoratedIdentityPrefix(@Nullable String);
327    method public void setDomainSuffixMatch(String);
328    method public void setEapMethod(int);
329    method public void setIdentity(String);
330    method public void setMinimumTlsVersion(int) throws java.lang.IllegalArgumentException;
331    method public void setPassword(String);
332    method public void setPhase2Method(int);
333    method public void setPlmn(String);
334    method public void setRealm(String);
335    method @Deprecated public void setSubjectMatch(String);
336    method public void writeToParcel(android.os.Parcel, int);
337    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiEnterpriseConfig> CREATOR;
338    field public static final String EXTRA_WAPI_AS_CERTIFICATE_DATA = "android.net.wifi.extra.WAPI_AS_CERTIFICATE_DATA";
339    field public static final String EXTRA_WAPI_AS_CERTIFICATE_NAME = "android.net.wifi.extra.WAPI_AS_CERTIFICATE_NAME";
340    field public static final String EXTRA_WAPI_USER_CERTIFICATE_DATA = "android.net.wifi.extra.WAPI_USER_CERTIFICATE_DATA";
341    field public static final String EXTRA_WAPI_USER_CERTIFICATE_NAME = "android.net.wifi.extra.WAPI_USER_CERTIFICATE_NAME";
342    field public static final int TLS_V1_0 = 0; // 0x0
343    field public static final int TLS_V1_1 = 1; // 0x1
344    field public static final int TLS_V1_2 = 2; // 0x2
345    field public static final int TLS_V1_3 = 3; // 0x3
346    field public static final String WAPI_AS_CERTIFICATE = "WAPIAS_";
347    field public static final String WAPI_USER_CERTIFICATE = "WAPIUSR_";
348  }
349
350  public static final class WifiEnterpriseConfig.Eap {
351    field public static final int AKA = 5; // 0x5
352    field public static final int AKA_PRIME = 6; // 0x6
353    field public static final int NONE = -1; // 0xffffffff
354    field public static final int PEAP = 0; // 0x0
355    field public static final int PWD = 3; // 0x3
356    field public static final int SIM = 4; // 0x4
357    field public static final int TLS = 1; // 0x1
358    field public static final int TTLS = 2; // 0x2
359    field public static final int UNAUTH_TLS = 7; // 0x7
360    field public static final int WAPI_CERT = 8; // 0x8
361  }
362
363  public static final class WifiEnterpriseConfig.Phase2 {
364    field public static final int AKA = 6; // 0x6
365    field public static final int AKA_PRIME = 7; // 0x7
366    field public static final int GTC = 4; // 0x4
367    field public static final int MSCHAP = 2; // 0x2
368    field public static final int MSCHAPV2 = 3; // 0x3
369    field public static final int NONE = 0; // 0x0
370    field public static final int PAP = 1; // 0x1
371    field public static final int SIM = 5; // 0x5
372  }
373
374  public class WifiInfo implements android.os.Parcelable android.net.TransportInfo {
375    method public int describeContents();
376    method @NonNull public java.util.List<android.net.wifi.MloLink> getAffiliatedMloLinks();
377    method @Nullable public android.net.MacAddress getApMldMacAddress();
378    method @IntRange(from=android.net.wifi.MloLink.INVALID_MLO_LINK_ID, to=0xf) public int getApMloLinkId();
379    method public long getApplicableRedactions();
380    method @NonNull public java.util.List<android.net.wifi.MloLink> getAssociatedMloLinks();
381    method public String getBSSID();
382    method public int getCurrentSecurityType();
383    method public static android.net.NetworkInfo.DetailedState getDetailedStateOf(android.net.wifi.SupplicantState);
384    method public int getFrequency();
385    method public boolean getHiddenSSID();
386    method @Nullable public java.util.List<android.net.wifi.ScanResult.InformationElement> getInformationElements();
387    method @Deprecated public int getIpAddress();
388    method public int getLinkSpeed();
389    method public String getMacAddress();
390    method public int getMaxSupportedRxLinkSpeedMbps();
391    method public int getMaxSupportedTxLinkSpeedMbps();
392    method public int getNetworkId();
393    method @Nullable public String getPasspointFqdn();
394    method @Nullable public String getPasspointProviderFriendlyName();
395    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @Nullable public String getPasspointUniqueId();
396    method public int getRssi();
397    method @IntRange(from=0xffffffff) public int getRxLinkSpeedMbps();
398    method public String getSSID();
399    method public int getSubscriptionId();
400    method public android.net.wifi.SupplicantState getSupplicantState();
401    method @IntRange(from=0xffffffff) public int getTxLinkSpeedMbps();
402    method public int getWifiStandard();
403    method public boolean isRestricted();
404    method @NonNull public android.net.wifi.WifiInfo makeCopy(long);
405    method public void writeToParcel(android.os.Parcel, int);
406    field public static final String FREQUENCY_UNITS = "MHz";
407    field public static final String LINK_SPEED_UNITS = "Mbps";
408    field public static final int LINK_SPEED_UNKNOWN = -1; // 0xffffffff
409    field public static final int SECURITY_TYPE_DPP = 13; // 0xd
410    field public static final int SECURITY_TYPE_EAP = 3; // 0x3
411    field public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE = 9; // 0x9
412    field public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT = 5; // 0x5
413    field public static final int SECURITY_TYPE_OPEN = 0; // 0x0
414    field public static final int SECURITY_TYPE_OSEN = 10; // 0xa
415    field public static final int SECURITY_TYPE_OWE = 6; // 0x6
416    field public static final int SECURITY_TYPE_PASSPOINT_R1_R2 = 11; // 0xb
417    field public static final int SECURITY_TYPE_PASSPOINT_R3 = 12; // 0xc
418    field public static final int SECURITY_TYPE_PSK = 2; // 0x2
419    field public static final int SECURITY_TYPE_SAE = 4; // 0x4
420    field public static final int SECURITY_TYPE_UNKNOWN = -1; // 0xffffffff
421    field public static final int SECURITY_TYPE_WAPI_CERT = 8; // 0x8
422    field public static final int SECURITY_TYPE_WAPI_PSK = 7; // 0x7
423    field public static final int SECURITY_TYPE_WEP = 1; // 0x1
424  }
425
426  public static final class WifiInfo.Builder {
427    ctor public WifiInfo.Builder();
428    method @NonNull public android.net.wifi.WifiInfo build();
429    method @NonNull public android.net.wifi.WifiInfo.Builder setBssid(@NonNull String);
430    method @NonNull public android.net.wifi.WifiInfo.Builder setCurrentSecurityType(int);
431    method @NonNull public android.net.wifi.WifiInfo.Builder setNetworkId(int);
432    method @NonNull public android.net.wifi.WifiInfo.Builder setRssi(int);
433    method @NonNull public android.net.wifi.WifiInfo.Builder setSsid(@NonNull byte[]);
434    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.WifiInfo.Builder setSubscriptionId(int);
435  }
436
437  public class WifiManager {
438    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addLocalOnlyConnectionFailureListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.LocalOnlyConnectionFailureListener);
439    method @Deprecated public int addNetwork(android.net.wifi.WifiConfiguration);
440    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_MANAGED_PROVISIONING}, conditional=true) public android.net.wifi.WifiManager.AddNetworkResult addNetworkPrivileged(@NonNull android.net.wifi.WifiConfiguration);
441    method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int addNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>);
442    method public void addOrUpdatePasspointConfiguration(android.net.wifi.hotspot2.PasspointConfiguration);
443    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE}) public void addSuggestionConnectionStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SuggestionConnectionStatusListener);
444    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addSuggestionUserApprovalStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener);
445    method public void allowAutojoinGlobal(boolean);
446    method @Deprecated public static int calculateSignalLevel(int, int);
447    method @IntRange(from=0) public int calculateSignalLevel(int);
448    method @Deprecated public void cancelWps(android.net.wifi.WifiManager.WpsCallback);
449    method public static int compareSignalLevel(int, int);
450    method public android.net.wifi.WifiManager.MulticastLock createMulticastLock(String);
451    method public android.net.wifi.WifiManager.WifiLock createWifiLock(int, String);
452    method @Deprecated public android.net.wifi.WifiManager.WifiLock createWifiLock(String);
453    method @Deprecated public boolean disableNetwork(int);
454    method @Deprecated public boolean disconnect();
455    method @Deprecated public boolean enableNetwork(int, boolean);
456    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_MANAGED_PROVISIONING, android.Manifest.permission.NETWORK_CARRIER_PROVISIONING}, conditional=true) public void flushPasspointAnqpCache();
457    method @NonNull @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public java.util.List<android.net.wifi.WifiAvailableChannel> getAllowedChannels(int, int);
458    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public java.util.List<android.net.wifi.WifiConfiguration> getCallerConfiguredNetworks();
459    method @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public void getChannelData(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<android.os.Bundle>>);
460    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE}) public java.util.List<android.net.wifi.WifiConfiguration> getConfiguredNetworks();
461    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public android.net.wifi.WifiInfo getConnectionInfo();
462    method @Deprecated public android.net.DhcpInfo getDhcpInfo();
463    method public int getMaxNumberOfChannelsPerNetworkSpecifierRequest();
464    method public int getMaxNumberOfNetworkSuggestionsPerApp();
465    method @IntRange(from=0) public int getMaxSignalLevel();
466    method public void getMaxSupportedConcurrentTdlsSessions(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
467    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public java.util.List<android.net.wifi.WifiNetworkSuggestion> getNetworkSuggestions();
468    method public void getNumberOfEnabledTdlsSessions(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
469    method @Deprecated public java.util.List<android.net.wifi.hotspot2.PasspointConfiguration> getPasspointConfigurations();
470    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public void getPerSsidRoamingModes(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.Map<java.lang.String,java.lang.Integer>>);
471    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public java.util.List<android.net.wifi.ScanResult> getScanResults();
472    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getStaConcurrencyForMultiInternetMode();
473    method @NonNull @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public java.util.List<android.net.wifi.WifiAvailableChannel> getUsableChannels(int, int);
474    method public int getWifiState();
475    method public boolean is24GHzBandSupported();
476    method public boolean is5GHzBandSupported();
477    method public boolean is60GHzBandSupported();
478    method public boolean is6GHzBandSupported();
479    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isAggressiveRoamingModeSupported();
480    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isAutoWakeupEnabled();
481    method public boolean isBridgedApConcurrencySupported();
482    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isCarrierNetworkOffloadEnabled(int, boolean);
483    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isD2dSupportedWhenInfraStaDisabled();
484    method public boolean isDecoratedIdentitySupported();
485    method @Deprecated public boolean isDeviceToApRttSupported();
486    method public boolean isDualBandSimultaneousSupported();
487    method public boolean isEasyConnectDppAkmSupported();
488    method public boolean isEasyConnectEnrolleeResponderModeSupported();
489    method public boolean isEasyConnectSupported();
490    method public boolean isEnhancedOpenSupported();
491    method public boolean isEnhancedPowerReportingSupported();
492    method public boolean isMakeBeforeBreakWifiSwitchingSupported();
493    method public boolean isP2pSupported();
494    method public boolean isPasspointTermsAndConditionsSupported();
495    method public boolean isPreferredNetworkOffloadSupported();
496    method @Deprecated public boolean isScanAlwaysAvailable();
497    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isScanThrottleEnabled();
498    method public boolean isStaApConcurrencySupported();
499    method public boolean isStaBridgedApConcurrencySupported();
500    method public boolean isStaConcurrencyForLocalOnlyConnectionsSupported();
501    method public boolean isStaConcurrencyForMultiInternetSupported();
502    method public void isTdlsOperationCurrentlyAvailable(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
503    method public boolean isTdlsSupported();
504    method public boolean isTidToLinkMappingNegotiationSupported();
505    method public boolean isTlsMinimumVersionSupported();
506    method public boolean isTlsV13Supported();
507    method public boolean isTrustOnFirstUseSupported();
508    method public boolean isWapiSupported();
509    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isWepSupported();
510    method public boolean isWifiDisplayR2Supported();
511    method public boolean isWifiEnabled();
512    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiPasspointEnabled();
513    method public boolean isWifiStandardSupported(int);
514    method public boolean isWpa3SaeH2eSupported();
515    method public boolean isWpa3SaePublicKeySupported();
516    method public boolean isWpa3SaeSupported();
517    method public boolean isWpa3SuiteBSupported();
518    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isWpaPersonalSupported();
519    method @Deprecated public boolean pingSupplicant();
520    method public void queryAutojoinGlobal(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
521    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void querySendDhcpHostnameRestriction(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
522    method @Deprecated public boolean reassociate();
523    method @Deprecated public boolean reconnect();
524    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void registerScanResultsCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.ScanResultsCallback);
525    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void registerSubsystemRestartTrackingCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SubsystemRestartTrackingCallback);
526    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeLocalOnlyConnectionFailureListener(@NonNull android.net.wifi.WifiManager.LocalOnlyConnectionFailureListener);
527    method @Deprecated public boolean removeNetwork(int);
528    method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int removeNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>);
529    method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int removeNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>, int);
530    method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean removeNonCallerConfiguredNetworks();
531    method @Deprecated public void removePasspointConfiguration(String);
532    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public void removePerSsidRoamingMode(@NonNull android.net.wifi.WifiSsid);
533    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeSuggestionConnectionStatusListener(@NonNull android.net.wifi.WifiManager.SuggestionConnectionStatusListener);
534    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeSuggestionUserApprovalStatusListener(@NonNull android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener);
535    method @RequiresPermission(allOf={android.Manifest.permission.MANAGE_WIFI_INTERFACES, android.Manifest.permission.ACCESS_WIFI_STATE}) public void reportCreateInterfaceImpact(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.BiConsumer<java.lang.Boolean,java.util.Set<android.net.wifi.WifiManager.InterfaceCreationImpact>>);
536    method @Deprecated public boolean saveConfiguration();
537    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public void setPerSsidRoamingMode(@NonNull android.net.wifi.WifiSsid, int);
538    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setSendDhcpHostnameRestriction(int);
539    method public void setTdlsEnabled(java.net.InetAddress, boolean);
540    method public void setTdlsEnabled(@NonNull java.net.InetAddress, boolean, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
541    method public void setTdlsEnabledWithMacAddress(String, boolean);
542    method public void setTdlsEnabledWithMacAddress(@NonNull String, boolean, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
543    method @Deprecated public boolean setWifiEnabled(boolean);
544    method @RequiresPermission(allOf={android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES}, conditional=true) public void startLocalOnlyHotspot(android.net.wifi.WifiManager.LocalOnlyHotspotCallback, @Nullable android.os.Handler);
545    method @Deprecated public boolean startScan();
546    method @Deprecated public void startWps(android.net.wifi.WpsInfo, android.net.wifi.WifiManager.WpsCallback);
547    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void unregisterScanResultsCallback(@NonNull android.net.wifi.WifiManager.ScanResultsCallback);
548    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void unregisterSubsystemRestartTrackingCallback(@NonNull android.net.wifi.WifiManager.SubsystemRestartTrackingCallback);
549    method @Deprecated public int updateNetwork(android.net.wifi.WifiConfiguration);
550    method public boolean validateSoftApConfiguration(@NonNull android.net.wifi.SoftApConfiguration);
551    field public static final String ACTION_PICK_WIFI_NETWORK = "android.net.wifi.PICK_WIFI_NETWORK";
552    field public static final int ACTION_REMOVE_SUGGESTION_DISCONNECT = 2; // 0x2
553    field public static final int ACTION_REMOVE_SUGGESTION_LINGER = 1; // 0x1
554    field public static final String ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE = "android.net.wifi.action.REQUEST_SCAN_ALWAYS_AVAILABLE";
555    field public static final String ACTION_WIFI_NETWORK_SUGGESTION_POST_CONNECTION = "android.net.wifi.action.WIFI_NETWORK_SUGGESTION_POST_CONNECTION";
556    field public static final String ACTION_WIFI_SCAN_AVAILABILITY_CHANGED = "android.net.wifi.action.WIFI_SCAN_AVAILABILITY_CHANGED";
557    field public static final String CHANNEL_DATA_KEY_FREQUENCY_MHZ = "CHANNEL_DATA_KEY_FREQUENCY_MHZ";
558    field public static final String CHANNEL_DATA_KEY_NUM_AP = "CHANNEL_DATA_KEY_NUM_AP";
559    field @Deprecated public static final int ERROR_AUTHENTICATING = 1; // 0x1
560    field @Deprecated public static final String EXTRA_BSSID = "bssid";
561    field public static final String EXTRA_NETWORK_INFO = "networkInfo";
562    field public static final String EXTRA_NETWORK_SUGGESTION = "android.net.wifi.extra.NETWORK_SUGGESTION";
563    field public static final String EXTRA_NEW_RSSI = "newRssi";
564    field @Deprecated public static final String EXTRA_NEW_STATE = "newState";
565    field public static final String EXTRA_PREVIOUS_WIFI_STATE = "previous_wifi_state";
566    field public static final String EXTRA_RESULTS_UPDATED = "resultsUpdated";
567    field public static final String EXTRA_SCAN_AVAILABLE = "android.net.wifi.extra.SCAN_AVAILABLE";
568    field @Deprecated public static final String EXTRA_SUPPLICANT_CONNECTED = "connected";
569    field @Deprecated public static final String EXTRA_SUPPLICANT_ERROR = "supplicantError";
570    field @Deprecated public static final String EXTRA_WIFI_INFO = "wifiInfo";
571    field public static final String EXTRA_WIFI_STATE = "wifi_state";
572    field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int FLAG_SEND_DHCP_HOSTNAME_RESTRICTION_OPEN = 1; // 0x1
573    field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int FLAG_SEND_DHCP_HOSTNAME_RESTRICTION_SECURE = 2; // 0x2
574    field public static final String NETWORK_IDS_CHANGED_ACTION = "android.net.wifi.NETWORK_IDS_CHANGED";
575    field public static final String NETWORK_STATE_CHANGED_ACTION = "android.net.wifi.STATE_CHANGE";
576    field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int ROAMING_MODE_AGGRESSIVE = 2; // 0x2
577    field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int ROAMING_MODE_NONE = 0; // 0x0
578    field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int ROAMING_MODE_NORMAL = 1; // 0x1
579    field public static final String RSSI_CHANGED_ACTION = "android.net.wifi.RSSI_CHANGED";
580    field public static final String SCAN_RESULTS_AVAILABLE_ACTION = "android.net.wifi.SCAN_RESULTS";
581    field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_ASSOCIATION = 1; // 0x1
582    field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_AUTHENTICATION = 2; // 0x2
583    field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_IP_PROVISIONING = 3; // 0x3
584    field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_NOT_FOUND = 4; // 0x4
585    field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_NO_RESPONSE = 5; // 0x5
586    field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_UNKNOWN = 0; // 0x0
587    field @FlaggedApi("com.android.wifi.flags.local_only_connection_optimization") public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_USER_REJECT = 6; // 0x6
588    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_DUPLICATE = 3; // 0x3
589    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_EXCEEDS_MAX_PER_APP = 4; // 0x4
590    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_INVALID = 7; // 0x7
591    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_NOT_ALLOWED = 6; // 0x6
592    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_APP_DISALLOWED = 2; // 0x2
593    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_INTERNAL = 1; // 0x1
594    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_REMOVE_INVALID = 5; // 0x5
595    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_RESTRICTED_BY_ADMIN = 8; // 0x8
596    field public static final int STATUS_NETWORK_SUGGESTIONS_SUCCESS = 0; // 0x0
597    field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_CARRIER_PRIVILEGE = 4; // 0x4
598    field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER = 2; // 0x2
599    field public static final int STATUS_SUGGESTION_APPROVAL_PENDING = 1; // 0x1
600    field public static final int STATUS_SUGGESTION_APPROVAL_REJECTED_BY_USER = 3; // 0x3
601    field public static final int STATUS_SUGGESTION_APPROVAL_UNKNOWN = 0; // 0x0
602    field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_ASSOCIATION = 1; // 0x1
603    field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_AUTHENTICATION = 2; // 0x2
604    field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_IP_PROVISIONING = 3; // 0x3
605    field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_UNKNOWN = 0; // 0x0
606    field @Deprecated public static final String SUPPLICANT_CONNECTION_CHANGE_ACTION = "android.net.wifi.supplicant.CONNECTION_CHANGE";
607    field @Deprecated public static final String SUPPLICANT_STATE_CHANGED_ACTION = "android.net.wifi.supplicant.STATE_CHANGE";
608    field public static final String UNKNOWN_SSID = "<unknown ssid>";
609    field public static final int WIFI_INTERFACE_TYPE_AP = 1; // 0x1
610    field public static final int WIFI_INTERFACE_TYPE_AWARE = 2; // 0x2
611    field public static final int WIFI_INTERFACE_TYPE_DIRECT = 3; // 0x3
612    field public static final int WIFI_INTERFACE_TYPE_STA = 0; // 0x0
613    field @Deprecated public static final int WIFI_MODE_FULL = 1; // 0x1
614    field @Deprecated public static final int WIFI_MODE_FULL_HIGH_PERF = 3; // 0x3
615    field public static final int WIFI_MODE_FULL_LOW_LATENCY = 4; // 0x4
616    field @Deprecated public static final int WIFI_MODE_SCAN_ONLY = 2; // 0x2
617    field public static final int WIFI_MULTI_INTERNET_MODE_DBS_AP = 1; // 0x1
618    field public static final int WIFI_MULTI_INTERNET_MODE_DISABLED = 0; // 0x0
619    field public static final int WIFI_MULTI_INTERNET_MODE_MULTI_AP = 2; // 0x2
620    field public static final String WIFI_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_STATE_CHANGED";
621    field public static final int WIFI_STATE_DISABLED = 1; // 0x1
622    field public static final int WIFI_STATE_DISABLING = 0; // 0x0
623    field public static final int WIFI_STATE_ENABLED = 3; // 0x3
624    field public static final int WIFI_STATE_ENABLING = 2; // 0x2
625    field public static final int WIFI_STATE_UNKNOWN = 4; // 0x4
626    field @Deprecated public static final int WPS_AUTH_FAILURE = 6; // 0x6
627    field @Deprecated public static final int WPS_OVERLAP_ERROR = 3; // 0x3
628    field @Deprecated public static final int WPS_TIMED_OUT = 7; // 0x7
629    field @Deprecated public static final int WPS_TKIP_ONLY_PROHIBITED = 5; // 0x5
630    field @Deprecated public static final int WPS_WEP_PROHIBITED = 4; // 0x4
631  }
632
633  public static final class WifiManager.AddNetworkResult implements android.os.Parcelable {
634    ctor public WifiManager.AddNetworkResult(int, int);
635    method public int describeContents();
636    method public void writeToParcel(@NonNull android.os.Parcel, int);
637    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiManager.AddNetworkResult> CREATOR;
638    field public static final int STATUS_ADD_PASSPOINT_FAILURE = 3; // 0x3
639    field public static final int STATUS_ADD_WIFI_CONFIG_FAILURE = 4; // 0x4
640    field public static final int STATUS_FAILURE_UNKNOWN = 1; // 0x1
641    field public static final int STATUS_FAILURE_UPDATE_NETWORK_KEYS = 9; // 0x9
642    field public static final int STATUS_INVALID_CONFIGURATION = 5; // 0x5
643    field public static final int STATUS_INVALID_CONFIGURATION_ENTERPRISE = 10; // 0xa
644    field public static final int STATUS_NO_PERMISSION = 2; // 0x2
645    field public static final int STATUS_NO_PERMISSION_MODIFY_CONFIG = 6; // 0x6
646    field public static final int STATUS_NO_PERMISSION_MODIFY_MAC_RANDOMIZATION = 8; // 0x8
647    field public static final int STATUS_NO_PERMISSION_MODIFY_PROXY_SETTING = 7; // 0x7
648    field public static final int STATUS_SUCCESS = 0; // 0x0
649    field public final int networkId;
650    field public final int statusCode;
651  }
652
653  public static class WifiManager.InterfaceCreationImpact {
654    ctor public WifiManager.InterfaceCreationImpact(int, @NonNull java.util.Set<java.lang.String>);
655    method public int getInterfaceType();
656    method @NonNull public java.util.Set<java.lang.String> getPackages();
657  }
658
659  public static interface WifiManager.LocalOnlyConnectionFailureListener {
660    method public void onConnectionFailed(@NonNull android.net.wifi.WifiNetworkSpecifier, int);
661  }
662
663  public static class WifiManager.LocalOnlyHotspotCallback {
664    ctor public WifiManager.LocalOnlyHotspotCallback();
665    method public void onFailed(int);
666    method public void onStarted(android.net.wifi.WifiManager.LocalOnlyHotspotReservation);
667    method public void onStopped();
668    field public static final int ERROR_GENERIC = 2; // 0x2
669    field public static final int ERROR_INCOMPATIBLE_MODE = 3; // 0x3
670    field public static final int ERROR_NO_CHANNEL = 1; // 0x1
671    field public static final int ERROR_TETHERING_DISALLOWED = 4; // 0x4
672  }
673
674  public class WifiManager.LocalOnlyHotspotReservation implements java.lang.AutoCloseable {
675    method public void close();
676    method @NonNull public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
677    method @Deprecated @Nullable public android.net.wifi.WifiConfiguration getWifiConfiguration();
678  }
679
680  public class WifiManager.MulticastLock {
681    method public void acquire();
682    method public boolean isHeld();
683    method public void release();
684    method public void setReferenceCounted(boolean);
685  }
686
687  public abstract static class WifiManager.ScanResultsCallback {
688    ctor public WifiManager.ScanResultsCallback();
689    method public abstract void onScanResultsAvailable();
690  }
691
692  public abstract static class WifiManager.SubsystemRestartTrackingCallback {
693    ctor public WifiManager.SubsystemRestartTrackingCallback();
694    method public abstract void onSubsystemRestarted();
695    method public abstract void onSubsystemRestarting();
696  }
697
698  public static interface WifiManager.SuggestionConnectionStatusListener {
699    method public void onConnectionStatus(@NonNull android.net.wifi.WifiNetworkSuggestion, int);
700  }
701
702  public static interface WifiManager.SuggestionUserApprovalStatusListener {
703    method public void onUserApprovalStatusChange(int);
704  }
705
706  public class WifiManager.WifiLock {
707    method public void acquire();
708    method public boolean isHeld();
709    method public void release();
710    method public void setReferenceCounted(boolean);
711    method public void setWorkSource(android.os.WorkSource);
712  }
713
714  @Deprecated public abstract static class WifiManager.WpsCallback {
715    ctor @Deprecated public WifiManager.WpsCallback();
716    method @Deprecated public abstract void onFailed(int);
717    method @Deprecated public abstract void onStarted(String);
718    method @Deprecated public abstract void onSucceeded();
719  }
720
721  public final class WifiNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
722    method public int describeContents();
723    method public int getBand();
724    method @NonNull public int[] getPreferredChannelFrequenciesMhz();
725    method public void writeToParcel(android.os.Parcel, int);
726    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSpecifier> CREATOR;
727  }
728
729  public static final class WifiNetworkSpecifier.Builder {
730    ctor public WifiNetworkSpecifier.Builder();
731    method @NonNull public android.net.wifi.WifiNetworkSpecifier build();
732    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBand(int);
733    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBssid(@NonNull android.net.MacAddress);
734    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBssidPattern(@NonNull android.net.MacAddress, @NonNull android.net.MacAddress);
735    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsEnhancedOpen(boolean);
736    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsHiddenSsid(boolean);
737    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setPreferredChannelsFrequenciesMhz(@NonNull int[]);
738    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setSsid(@NonNull String);
739    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setSsidPattern(@NonNull android.os.PatternMatcher);
740    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa2EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
741    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa2Passphrase(@NonNull String);
742    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3Enterprise192BitModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
743    method @Deprecated @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
744    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3EnterpriseStandardModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
745    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3Passphrase(@NonNull String);
746  }
747
748  public final class WifiNetworkSuggestion implements android.os.Parcelable {
749    method public int describeContents();
750    method @Nullable public android.net.MacAddress getBssid();
751    method @Nullable public android.net.wifi.WifiEnterpriseConfig getEnterpriseConfig();
752    method public int getMacRandomizationSetting();
753    method @Nullable public String getPassphrase();
754    method @Nullable public android.net.wifi.hotspot2.PasspointConfiguration getPasspointConfig();
755    method @IntRange(from=0) public int getPriority();
756    method @IntRange(from=0) public int getPriorityGroup();
757    method @Nullable public String getSsid();
758    method @Nullable public android.os.ParcelUuid getSubscriptionGroup();
759    method public int getSubscriptionId();
760    method @Nullable public android.net.wifi.WifiSsid getWifiSsid();
761    method public boolean isAppInteractionRequired();
762    method public boolean isCarrierMerged();
763    method public boolean isCredentialSharedWithUser();
764    method public boolean isEnhancedOpen();
765    method public boolean isHiddenSsid();
766    method public boolean isInitialAutojoinEnabled();
767    method public boolean isMetered();
768    method public boolean isRestricted();
769    method public boolean isUntrusted();
770    method public boolean isUserInteractionRequired();
771    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isWifi7Enabled();
772    method public void writeToParcel(android.os.Parcel, int);
773    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSuggestion> CREATOR;
774    field public static final int RANDOMIZATION_NON_PERSISTENT = 1; // 0x1
775    field public static final int RANDOMIZATION_PERSISTENT = 0; // 0x0
776  }
777
778  public static final class WifiNetworkSuggestion.Builder {
779    ctor public WifiNetworkSuggestion.Builder();
780    method @NonNull public android.net.wifi.WifiNetworkSuggestion build();
781    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setBssid(@NonNull android.net.MacAddress);
782    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierMerged(boolean);
783    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setCredentialSharedWithUser(boolean);
784    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsAppInteractionRequired(boolean);
785    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsEnhancedOpen(boolean);
786    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsHiddenSsid(boolean);
787    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsInitialAutojoinEnabled(boolean);
788    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsMetered(boolean);
789    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsUserInteractionRequired(boolean);
790    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsWpa3SaeH2eOnlyModeEnabled(boolean);
791    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setMacRandomizationSetting(int);
792    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPasspointConfig(@NonNull android.net.wifi.hotspot2.PasspointConfiguration);
793    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriority(@IntRange(from=0) int);
794    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriorityGroup(@IntRange(from=0) int);
795    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setRestricted(boolean);
796    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSsid(@NonNull String);
797    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSubscriptionGroup(@NonNull android.os.ParcelUuid);
798    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSubscriptionId(int);
799    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setUntrusted(boolean);
800    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiEnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
801    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiPassphrase(@NonNull String);
802    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWifi7Enabled(boolean);
803    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWifiSsid(@NonNull android.net.wifi.WifiSsid);
804    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
805    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2Passphrase(@NonNull String);
806    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3Enterprise192BitModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
807    method @Deprecated @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
808    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3EnterpriseStandardModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
809    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3Passphrase(@NonNull String);
810  }
811
812  public final class WifiSsid implements android.os.Parcelable {
813    method public int describeContents();
814    method @NonNull public static android.net.wifi.WifiSsid fromBytes(@Nullable byte[]);
815    method @NonNull public byte[] getBytes();
816    method public void writeToParcel(@NonNull android.os.Parcel, int);
817    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiSsid> CREATOR;
818  }
819
820  public class WpsInfo implements android.os.Parcelable {
821    ctor public WpsInfo();
822    ctor public WpsInfo(android.net.wifi.WpsInfo);
823    method public int describeContents();
824    method public void writeToParcel(android.os.Parcel, int);
825    field public String BSSID;
826    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WpsInfo> CREATOR;
827    field public static final int DISPLAY = 1; // 0x1
828    field public static final int INVALID = 4; // 0x4
829    field public static final int KEYPAD = 2; // 0x2
830    field public static final int LABEL = 3; // 0x3
831    field public static final int PBC = 0; // 0x0
832    field public String pin;
833    field public int setup;
834  }
835
836}
837
838package android.net.wifi.aware {
839
840  public class AttachCallback {
841    ctor public AttachCallback();
842    method public void onAttachFailed();
843    method public void onAttached(android.net.wifi.aware.WifiAwareSession);
844    method public void onAwareSessionTerminated();
845  }
846
847  public final class AwarePairingConfig implements android.os.Parcelable {
848    method public int describeContents();
849    method public int getBootstrappingMethods();
850    method @FlaggedApi("com.android.wifi.flags.aware_pairing") public int getSupportedCipherSuites();
851    method public boolean isPairingCacheEnabled();
852    method public boolean isPairingSetupEnabled();
853    method public boolean isPairingVerificationEnabled();
854    method public void writeToParcel(@NonNull android.os.Parcel, int);
855    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.AwarePairingConfig> CREATOR;
856    field public static final int PAIRING_BOOTSTRAPPING_NFC_READER = 256; // 0x100
857    field public static final int PAIRING_BOOTSTRAPPING_NFC_TAG = 16; // 0x10
858    field public static final int PAIRING_BOOTSTRAPPING_OPPORTUNISTIC = 1; // 0x1
859    field public static final int PAIRING_BOOTSTRAPPING_PASSPHRASE_DISPLAY = 4; // 0x4
860    field public static final int PAIRING_BOOTSTRAPPING_PASSPHRASE_KEYPAD = 64; // 0x40
861    field public static final int PAIRING_BOOTSTRAPPING_PIN_CODE_DISPLAY = 2; // 0x2
862    field public static final int PAIRING_BOOTSTRAPPING_PIN_CODE_KEYPAD = 32; // 0x20
863    field public static final int PAIRING_BOOTSTRAPPING_QR_DISPLAY = 8; // 0x8
864    field public static final int PAIRING_BOOTSTRAPPING_QR_SCAN = 128; // 0x80
865  }
866
867  public static final class AwarePairingConfig.Builder {
868    ctor public AwarePairingConfig.Builder();
869    method @NonNull public android.net.wifi.aware.AwarePairingConfig build();
870    method @NonNull public android.net.wifi.aware.AwarePairingConfig.Builder setBootstrappingMethods(int);
871    method @NonNull public android.net.wifi.aware.AwarePairingConfig.Builder setPairingCacheEnabled(boolean);
872    method @NonNull public android.net.wifi.aware.AwarePairingConfig.Builder setPairingSetupEnabled(boolean);
873    method @NonNull public android.net.wifi.aware.AwarePairingConfig.Builder setPairingVerificationEnabled(boolean);
874    method @FlaggedApi("com.android.wifi.flags.aware_pairing") @NonNull public android.net.wifi.aware.AwarePairingConfig.Builder setSupportedCipherSuites(int);
875  }
876
877  public final class AwareResources implements android.os.Parcelable {
878    ctor public AwareResources(@IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int);
879    method public int describeContents();
880    method @IntRange(from=0) public int getAvailableDataPathsCount();
881    method @IntRange(from=0) public int getAvailablePublishSessionsCount();
882    method @IntRange(from=0) public int getAvailableSubscribeSessionsCount();
883    method public void writeToParcel(@NonNull android.os.Parcel, int);
884    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.AwareResources> CREATOR;
885  }
886
887  public final class Characteristics implements android.os.Parcelable {
888    method public int describeContents();
889    method public int getMaxMatchFilterLength();
890    method public int getMaxServiceNameLength();
891    method public int getMaxServiceSpecificInfoLength();
892    method @IntRange(from=1) public int getNumberOfSupportedDataInterfaces();
893    method @IntRange(from=1) public int getNumberOfSupportedDataPaths();
894    method @IntRange(from=1) public int getNumberOfSupportedPublishSessions();
895    method @IntRange(from=1) public int getNumberOfSupportedSubscribeSessions();
896    method public int getSupportedCipherSuites();
897    method public int getSupportedPairingCipherSuites();
898    method public boolean isAwarePairingSupported();
899    method public boolean isInstantCommunicationModeSupported();
900    method public boolean isSuspensionSupported();
901    method public void writeToParcel(android.os.Parcel, int);
902    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.Characteristics> CREATOR;
903    field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_PK_128 = 4; // 0x4
904    field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_PK_256 = 8; // 0x8
905    field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_PK_PASN_128 = 16; // 0x10
906    field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_PK_PASN_256 = 32; // 0x20
907    field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_SK_128 = 1; // 0x1
908    field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_SK_256 = 2; // 0x2
909    field public static final int WIFI_AWARE_CIPHER_SUITE_NONE = 0; // 0x0
910  }
911
912  public class DiscoverySession implements java.lang.AutoCloseable {
913    method public void acceptPairingRequest(int, @NonNull android.net.wifi.aware.PeerHandle, @NonNull String, int, @Nullable String);
914    method public void close();
915    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierOpen(@NonNull android.net.wifi.aware.PeerHandle);
916    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPassphrase(@NonNull android.net.wifi.aware.PeerHandle, @NonNull String);
917    method public void initiateBootstrappingRequest(@NonNull android.net.wifi.aware.PeerHandle, int);
918    method public void initiatePairingRequest(@NonNull android.net.wifi.aware.PeerHandle, @NonNull String, int, @Nullable String);
919    method public void rejectPairingRequest(int, @NonNull android.net.wifi.aware.PeerHandle);
920    method public void sendMessage(@NonNull android.net.wifi.aware.PeerHandle, int, @Nullable byte[]);
921  }
922
923  public class DiscoverySessionCallback {
924    ctor public DiscoverySessionCallback();
925    method public void onBootstrappingFailed(@NonNull android.net.wifi.aware.PeerHandle);
926    method public void onBootstrappingSucceeded(@NonNull android.net.wifi.aware.PeerHandle, int);
927    method public void onMessageReceived(android.net.wifi.aware.PeerHandle, byte[]);
928    method public void onMessageSendFailed(int);
929    method public void onMessageSendSucceeded(int);
930    method public void onPairingSetupFailed(@NonNull android.net.wifi.aware.PeerHandle);
931    method public void onPairingSetupRequestReceived(@NonNull android.net.wifi.aware.PeerHandle, int);
932    method public void onPairingSetupSucceeded(@NonNull android.net.wifi.aware.PeerHandle, @NonNull String);
933    method public void onPairingVerificationFailed(@NonNull android.net.wifi.aware.PeerHandle);
934    method public void onPairingVerificationSucceed(@NonNull android.net.wifi.aware.PeerHandle, @NonNull String);
935    method public void onPublishStarted(@NonNull android.net.wifi.aware.PublishDiscoverySession);
936    method public void onServiceDiscovered(android.net.wifi.aware.PeerHandle, byte[], java.util.List<byte[]>);
937    method public void onServiceDiscovered(@NonNull android.net.wifi.aware.ServiceDiscoveryInfo);
938    method public void onServiceDiscoveredWithinRange(android.net.wifi.aware.PeerHandle, byte[], java.util.List<byte[]>, int);
939    method public void onServiceDiscoveredWithinRange(@NonNull android.net.wifi.aware.ServiceDiscoveryInfo, int);
940    method public void onServiceLost(@NonNull android.net.wifi.aware.PeerHandle, int);
941    method public void onSessionConfigFailed();
942    method public void onSessionConfigUpdated();
943    method public void onSessionTerminated();
944    method public void onSubscribeStarted(@NonNull android.net.wifi.aware.SubscribeDiscoverySession);
945  }
946
947  public class IdentityChangedListener {
948    ctor public IdentityChangedListener();
949    method public void onClusterIdChanged(int, @NonNull android.net.MacAddress);
950    method public void onIdentityChanged(byte[]);
951    field public static final int CLUSTER_CHANGE_EVENT_JOINED = 1; // 0x1
952    field public static final int CLUSTER_CHANGE_EVENT_STARTED = 0; // 0x0
953  }
954
955  public final class ParcelablePeerHandle extends android.net.wifi.aware.PeerHandle implements android.os.Parcelable {
956    ctor public ParcelablePeerHandle(@NonNull android.net.wifi.aware.PeerHandle);
957    method public int describeContents();
958    method public void writeToParcel(android.os.Parcel, int);
959    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.ParcelablePeerHandle> CREATOR;
960  }
961
962  public class PeerHandle {
963  }
964
965  public final class PublishConfig implements android.os.Parcelable {
966    method public int describeContents();
967    method public int getInstantCommunicationBand();
968    method @Nullable public android.net.wifi.aware.AwarePairingConfig getPairingConfig();
969    method @Nullable public android.net.wifi.aware.WifiAwareDataPathSecurityConfig getSecurityConfig();
970    method public boolean isInstantCommunicationModeEnabled();
971    method public void writeToParcel(android.os.Parcel, int);
972    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.PublishConfig> CREATOR;
973    field public static final int PUBLISH_TYPE_SOLICITED = 1; // 0x1
974    field public static final int PUBLISH_TYPE_UNSOLICITED = 0; // 0x0
975  }
976
977  public static final class PublishConfig.Builder {
978    ctor public PublishConfig.Builder();
979    method public android.net.wifi.aware.PublishConfig build();
980    method @NonNull public android.net.wifi.aware.PublishConfig.Builder setDataPathSecurityConfig(@NonNull android.net.wifi.aware.WifiAwareDataPathSecurityConfig);
981    method @NonNull public android.net.wifi.aware.PublishConfig.Builder setInstantCommunicationModeEnabled(boolean, int);
982    method public android.net.wifi.aware.PublishConfig.Builder setMatchFilter(@Nullable java.util.List<byte[]>);
983    method @NonNull public android.net.wifi.aware.PublishConfig.Builder setPairingConfig(@Nullable android.net.wifi.aware.AwarePairingConfig);
984    method public android.net.wifi.aware.PublishConfig.Builder setPublishType(int);
985    method public android.net.wifi.aware.PublishConfig.Builder setRangingEnabled(boolean);
986    method public android.net.wifi.aware.PublishConfig.Builder setServiceName(@NonNull String);
987    method public android.net.wifi.aware.PublishConfig.Builder setServiceSpecificInfo(@Nullable byte[]);
988    method public android.net.wifi.aware.PublishConfig.Builder setTerminateNotificationEnabled(boolean);
989    method public android.net.wifi.aware.PublishConfig.Builder setTtlSec(int);
990  }
991
992  public class PublishDiscoverySession extends android.net.wifi.aware.DiscoverySession {
993    method public void updatePublish(@NonNull android.net.wifi.aware.PublishConfig);
994  }
995
996  public final class ServiceDiscoveryInfo {
997    method @NonNull public java.util.List<byte[]> getMatchFilters();
998    method @Nullable public String getPairedAlias();
999    method @Nullable public android.net.wifi.aware.AwarePairingConfig getPairingConfig();
1000    method public int getPeerCipherSuite();
1001    method @NonNull public android.net.wifi.aware.PeerHandle getPeerHandle();
1002    method @Nullable public byte[] getScid();
1003    method @Nullable public byte[] getServiceSpecificInfo();
1004  }
1005
1006  public final class SubscribeConfig implements android.os.Parcelable {
1007    method public int describeContents();
1008    method public int getInstantCommunicationBand();
1009    method @Nullable public android.net.wifi.aware.AwarePairingConfig getPairingConfig();
1010    method public boolean isInstantCommunicationModeEnabled();
1011    method public void writeToParcel(android.os.Parcel, int);
1012    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.SubscribeConfig> CREATOR;
1013    field public static final int SUBSCRIBE_TYPE_ACTIVE = 1; // 0x1
1014    field public static final int SUBSCRIBE_TYPE_PASSIVE = 0; // 0x0
1015  }
1016
1017  public static final class SubscribeConfig.Builder {
1018    ctor public SubscribeConfig.Builder();
1019    method public android.net.wifi.aware.SubscribeConfig build();
1020    method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setInstantCommunicationModeEnabled(boolean, int);
1021    method public android.net.wifi.aware.SubscribeConfig.Builder setMatchFilter(@Nullable java.util.List<byte[]>);
1022    method public android.net.wifi.aware.SubscribeConfig.Builder setMaxDistanceMm(int);
1023    method public android.net.wifi.aware.SubscribeConfig.Builder setMinDistanceMm(int);
1024    method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setPairingConfig(@Nullable android.net.wifi.aware.AwarePairingConfig);
1025    method public android.net.wifi.aware.SubscribeConfig.Builder setServiceName(@NonNull String);
1026    method public android.net.wifi.aware.SubscribeConfig.Builder setServiceSpecificInfo(@Nullable byte[]);
1027    method public android.net.wifi.aware.SubscribeConfig.Builder setSubscribeType(int);
1028    method public android.net.wifi.aware.SubscribeConfig.Builder setTerminateNotificationEnabled(boolean);
1029    method public android.net.wifi.aware.SubscribeConfig.Builder setTtlSec(int);
1030  }
1031
1032  public class SubscribeDiscoverySession extends android.net.wifi.aware.DiscoverySession {
1033    method public void updateSubscribe(@NonNull android.net.wifi.aware.SubscribeConfig);
1034  }
1035
1036  public final class WifiAwareChannelInfo implements android.os.Parcelable {
1037    method public int describeContents();
1038    method @IntRange(from=0) public int getChannelBandwidth();
1039    method @IntRange(from=0) public int getChannelFrequencyMhz();
1040    method @IntRange(from=0) public int getSpatialStreamCount();
1041    method public void writeToParcel(@NonNull android.os.Parcel, int);
1042    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareChannelInfo> CREATOR;
1043  }
1044
1045  public final class WifiAwareDataPathSecurityConfig implements android.os.Parcelable {
1046    method public int describeContents();
1047    method public int getCipherSuite();
1048    method @Nullable public byte[] getPmk();
1049    method @Nullable public byte[] getPmkId();
1050    method @Nullable public String getPskPassphrase();
1051    method public void writeToParcel(@NonNull android.os.Parcel, int);
1052    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareDataPathSecurityConfig> CREATOR;
1053  }
1054
1055  public static final class WifiAwareDataPathSecurityConfig.Builder {
1056    ctor public WifiAwareDataPathSecurityConfig.Builder(int);
1057    method @NonNull public android.net.wifi.aware.WifiAwareDataPathSecurityConfig build();
1058    method @NonNull public android.net.wifi.aware.WifiAwareDataPathSecurityConfig.Builder setPmk(@NonNull byte[]);
1059    method @NonNull public android.net.wifi.aware.WifiAwareDataPathSecurityConfig.Builder setPmkId(@NonNull byte[]);
1060    method @NonNull public android.net.wifi.aware.WifiAwareDataPathSecurityConfig.Builder setPskPassphrase(@NonNull String);
1061  }
1062
1063  public class WifiAwareManager {
1064    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE}) public void attach(@NonNull android.net.wifi.aware.AttachCallback, @Nullable android.os.Handler);
1065    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES}, conditional=true) public void attach(@NonNull android.net.wifi.aware.AttachCallback, @NonNull android.net.wifi.aware.IdentityChangedListener, @Nullable android.os.Handler);
1066    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.aware.AwareResources getAvailableAwareResources();
1067    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.aware.Characteristics getCharacteristics();
1068    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void getPairedDevices(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>);
1069    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isAvailable();
1070    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isDeviceAttached();
1071    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isInstantCommunicationModeEnabled();
1072    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void isOpportunisticModeEnabled(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
1073    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isSetChannelOnDataPathSupported();
1074    method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public void removePairedDevice(@NonNull String);
1075    method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public void resetPairedDevices();
1076    method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public void setOpportunisticModeEnabled(boolean);
1077    field @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public static final String ACTION_WIFI_AWARE_RESOURCE_CHANGED = "android.net.wifi.aware.action.WIFI_AWARE_RESOURCE_CHANGED";
1078    field public static final String ACTION_WIFI_AWARE_STATE_CHANGED = "android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED";
1079    field public static final String EXTRA_AWARE_RESOURCES = "android.net.wifi.aware.extra.AWARE_RESOURCES";
1080    field public static final int WIFI_AWARE_DATA_PATH_ROLE_INITIATOR = 0; // 0x0
1081    field public static final int WIFI_AWARE_DATA_PATH_ROLE_RESPONDER = 1; // 0x1
1082    field public static final int WIFI_AWARE_DISCOVERY_LOST_REASON_PEER_NOT_VISIBLE = 1; // 0x1
1083    field public static final int WIFI_AWARE_DISCOVERY_LOST_REASON_UNKNOWN = 0; // 0x0
1084  }
1085
1086  public final class WifiAwareNetworkInfo implements android.os.Parcelable android.net.TransportInfo {
1087    method public int describeContents();
1088    method @NonNull public java.util.List<android.net.wifi.aware.WifiAwareChannelInfo> getChannelInfoList();
1089    method @Nullable public java.net.Inet6Address getPeerIpv6Addr();
1090    method public int getPort();
1091    method public int getTransportProtocol();
1092    method public void writeToParcel(android.os.Parcel, int);
1093    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkInfo> CREATOR;
1094  }
1095
1096  public final class WifiAwareNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
1097    method public int describeContents();
1098    method @IntRange(from=0) public int getChannelFrequencyMhz();
1099    method @Nullable public android.net.wifi.aware.WifiAwareDataPathSecurityConfig getWifiAwareDataPathSecurityConfig();
1100    method public boolean isChannelRequired();
1101    method public void writeToParcel(android.os.Parcel, int);
1102    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkSpecifier> CREATOR;
1103  }
1104
1105  public static final class WifiAwareNetworkSpecifier.Builder {
1106    ctor public WifiAwareNetworkSpecifier.Builder(@NonNull android.net.wifi.aware.DiscoverySession, @NonNull android.net.wifi.aware.PeerHandle);
1107    ctor public WifiAwareNetworkSpecifier.Builder(@NonNull android.net.wifi.aware.PublishDiscoverySession);
1108    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier build();
1109    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setChannelFrequencyMhz(@IntRange(from=0) int, boolean);
1110    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setDataPathSecurityConfig(@NonNull android.net.wifi.aware.WifiAwareDataPathSecurityConfig);
1111    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPmk(@NonNull byte[]);
1112    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPort(@IntRange(from=0, to=65535) int);
1113    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPskPassphrase(@NonNull String);
1114    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setTransportProtocol(@IntRange(from=0, to=255) int);
1115  }
1116
1117  public class WifiAwareSession implements java.lang.AutoCloseable {
1118    method public void close();
1119    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierOpen(int, @NonNull byte[]);
1120    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPassphrase(int, @NonNull byte[], @NonNull String);
1121    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES}, conditional=true) public void publish(@NonNull android.net.wifi.aware.PublishConfig, @NonNull android.net.wifi.aware.DiscoverySessionCallback, @Nullable android.os.Handler);
1122    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES}, conditional=true) public void subscribe(@NonNull android.net.wifi.aware.SubscribeConfig, @NonNull android.net.wifi.aware.DiscoverySessionCallback, @Nullable android.os.Handler);
1123  }
1124
1125}
1126
1127package android.net.wifi.hotspot2 {
1128
1129  public final class ConfigParser {
1130    method public static android.net.wifi.hotspot2.PasspointConfiguration parsePasspointConfig(String, byte[]);
1131  }
1132
1133  public final class PasspointConfiguration implements android.os.Parcelable {
1134    ctor public PasspointConfiguration();
1135    ctor public PasspointConfiguration(android.net.wifi.hotspot2.PasspointConfiguration);
1136    method public int describeContents();
1137    method public android.net.wifi.hotspot2.pps.Credential getCredential();
1138    method @Nullable public String getDecoratedIdentityPrefix();
1139    method public android.net.wifi.hotspot2.pps.HomeSp getHomeSp();
1140    method public long getSubscriptionExpirationTimeMillis();
1141    method @NonNull public String getUniqueId();
1142    method public boolean isOsuProvisioned();
1143    method public void setCredential(android.net.wifi.hotspot2.pps.Credential);
1144    method public void setDecoratedIdentityPrefix(@Nullable String);
1145    method public void setHomeSp(android.net.wifi.hotspot2.pps.HomeSp);
1146    method public void setSubscriptionExpirationTimeInMillis(long);
1147    method public void writeToParcel(android.os.Parcel, int);
1148    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.PasspointConfiguration> CREATOR;
1149  }
1150
1151}
1152
1153package android.net.wifi.hotspot2.omadm {
1154
1155  public final class PpsMoParser {
1156    method public static android.net.wifi.hotspot2.PasspointConfiguration parseMoText(String);
1157  }
1158
1159}
1160
1161package android.net.wifi.hotspot2.pps {
1162
1163  public final class Credential implements android.os.Parcelable {
1164    ctor public Credential();
1165    ctor public Credential(android.net.wifi.hotspot2.pps.Credential);
1166    method public int describeContents();
1167    method public java.security.cert.X509Certificate getCaCertificate();
1168    method public android.net.wifi.hotspot2.pps.Credential.CertificateCredential getCertCredential();
1169    method public java.security.cert.X509Certificate[] getClientCertificateChain();
1170    method public java.security.PrivateKey getClientPrivateKey();
1171    method public int getMinimumTlsVersion();
1172    method public String getRealm();
1173    method public android.net.wifi.hotspot2.pps.Credential.SimCredential getSimCredential();
1174    method public android.net.wifi.hotspot2.pps.Credential.UserCredential getUserCredential();
1175    method public void setCaCertificate(java.security.cert.X509Certificate);
1176    method public void setCertCredential(android.net.wifi.hotspot2.pps.Credential.CertificateCredential);
1177    method public void setClientCertificateChain(java.security.cert.X509Certificate[]);
1178    method public void setClientPrivateKey(java.security.PrivateKey);
1179    method public void setMinimumTlsVersion(int) throws java.lang.IllegalArgumentException;
1180    method public void setRealm(String);
1181    method public void setSimCredential(android.net.wifi.hotspot2.pps.Credential.SimCredential);
1182    method public void setUserCredential(android.net.wifi.hotspot2.pps.Credential.UserCredential);
1183    method public void writeToParcel(android.os.Parcel, int);
1184    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential> CREATOR;
1185  }
1186
1187  public static final class Credential.CertificateCredential implements android.os.Parcelable {
1188    ctor public Credential.CertificateCredential();
1189    ctor public Credential.CertificateCredential(android.net.wifi.hotspot2.pps.Credential.CertificateCredential);
1190    method public int describeContents();
1191    method public byte[] getCertSha256Fingerprint();
1192    method public String getCertType();
1193    method public void setCertSha256Fingerprint(byte[]);
1194    method public void setCertType(String);
1195    method public void writeToParcel(android.os.Parcel, int);
1196    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.CertificateCredential> CREATOR;
1197  }
1198
1199  public static final class Credential.SimCredential implements android.os.Parcelable {
1200    ctor public Credential.SimCredential();
1201    ctor public Credential.SimCredential(android.net.wifi.hotspot2.pps.Credential.SimCredential);
1202    method public int describeContents();
1203    method public int getEapType();
1204    method public String getImsi();
1205    method public void setEapType(int);
1206    method public void setImsi(String);
1207    method public void writeToParcel(android.os.Parcel, int);
1208    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.SimCredential> CREATOR;
1209  }
1210
1211  public static final class Credential.UserCredential implements android.os.Parcelable {
1212    ctor public Credential.UserCredential();
1213    ctor public Credential.UserCredential(android.net.wifi.hotspot2.pps.Credential.UserCredential);
1214    method public int describeContents();
1215    method public int getEapType();
1216    method public String getNonEapInnerMethod();
1217    method public String getPassword();
1218    method public String getUsername();
1219    method public void setEapType(int);
1220    method public void setNonEapInnerMethod(String);
1221    method public void setPassword(String);
1222    method public void setUsername(String);
1223    method public void writeToParcel(android.os.Parcel, int);
1224    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.UserCredential> CREATOR;
1225  }
1226
1227  public final class HomeSp implements android.os.Parcelable {
1228    ctor public HomeSp();
1229    ctor public HomeSp(android.net.wifi.hotspot2.pps.HomeSp);
1230    method public int describeContents();
1231    method public String getFqdn();
1232    method public String getFriendlyName();
1233    method @Nullable public long[] getMatchAllOis();
1234    method @Nullable public long[] getMatchAnyOis();
1235    method @NonNull public java.util.Collection<java.lang.String> getOtherHomePartnersList();
1236    method public long[] getRoamingConsortiumOis();
1237    method public void setFqdn(String);
1238    method public void setFriendlyName(String);
1239    method public void setMatchAllOis(@Nullable long[]);
1240    method public void setMatchAnyOis(@Nullable long[]);
1241    method public void setOtherHomePartnersList(@NonNull java.util.Collection<java.lang.String>);
1242    method public void setRoamingConsortiumOis(long[]);
1243    method public void writeToParcel(android.os.Parcel, int);
1244    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.HomeSp> CREATOR;
1245  }
1246
1247}
1248
1249package android.net.wifi.p2p {
1250
1251  public class WifiP2pConfig implements android.os.Parcelable {
1252    ctor public WifiP2pConfig();
1253    ctor public WifiP2pConfig(android.net.wifi.p2p.WifiP2pConfig);
1254    method public int describeContents();
1255    method public int getGroupClientIpProvisioningMode();
1256    method public int getGroupOwnerBand();
1257    method public int getNetworkId();
1258    method @Nullable public String getNetworkName();
1259    method @Nullable public String getPassphrase();
1260    method public void writeToParcel(android.os.Parcel, int);
1261    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pConfig> CREATOR;
1262    field public static final int GROUP_CLIENT_IP_PROVISIONING_MODE_IPV4_DHCP = 0; // 0x0
1263    field public static final int GROUP_CLIENT_IP_PROVISIONING_MODE_IPV6_LINK_LOCAL = 1; // 0x1
1264    field public static final int GROUP_OWNER_BAND_2GHZ = 1; // 0x1
1265    field public static final int GROUP_OWNER_BAND_5GHZ = 2; // 0x2
1266    field public static final int GROUP_OWNER_BAND_AUTO = 0; // 0x0
1267    field public static final int GROUP_OWNER_INTENT_AUTO = -1; // 0xffffffff
1268    field public static final int GROUP_OWNER_INTENT_MAX = 15; // 0xf
1269    field public static final int GROUP_OWNER_INTENT_MIN = 0; // 0x0
1270    field public String deviceAddress;
1271    field @IntRange(from=0, to=15) public int groupOwnerIntent;
1272    field public android.net.wifi.WpsInfo wps;
1273  }
1274
1275  public static final class WifiP2pConfig.Builder {
1276    ctor public WifiP2pConfig.Builder();
1277    method @NonNull public android.net.wifi.p2p.WifiP2pConfig build();
1278    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder enablePersistentMode(boolean);
1279    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setDeviceAddress(@Nullable android.net.MacAddress);
1280    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupClientIpProvisioningMode(int);
1281    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingBand(int);
1282    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingFrequency(int);
1283    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setNetworkName(@NonNull String);
1284    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setPassphrase(@NonNull String);
1285  }
1286
1287  public class WifiP2pDevice implements android.os.Parcelable {
1288    ctor public WifiP2pDevice();
1289    ctor public WifiP2pDevice(android.net.wifi.p2p.WifiP2pDevice);
1290    method public int describeContents();
1291    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @Nullable public java.net.InetAddress getIpAddress();
1292    method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getVendorElements();
1293    method @Nullable public android.net.wifi.p2p.WifiP2pWfdInfo getWfdInfo();
1294    method public boolean isGroupOwner();
1295    method public boolean isServiceDiscoveryCapable();
1296    method public void update(@NonNull android.net.wifi.p2p.WifiP2pDevice);
1297    method public boolean wpsDisplaySupported();
1298    method public boolean wpsKeypadSupported();
1299    method public boolean wpsPbcSupported();
1300    method public void writeToParcel(android.os.Parcel, int);
1301    field public static final int AVAILABLE = 3; // 0x3
1302    field public static final int CONNECTED = 0; // 0x0
1303    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDevice> CREATOR;
1304    field public static final int FAILED = 2; // 0x2
1305    field public static final int INVITED = 1; // 0x1
1306    field public static final int UNAVAILABLE = 4; // 0x4
1307    field public String deviceAddress;
1308    field public String deviceName;
1309    field public String primaryDeviceType;
1310    field public String secondaryDeviceType;
1311    field public int status;
1312  }
1313
1314  public class WifiP2pDeviceList implements android.os.Parcelable {
1315    ctor public WifiP2pDeviceList();
1316    ctor public WifiP2pDeviceList(android.net.wifi.p2p.WifiP2pDeviceList);
1317    method public int describeContents();
1318    method public android.net.wifi.p2p.WifiP2pDevice get(String);
1319    method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getDeviceList();
1320    method public void writeToParcel(android.os.Parcel, int);
1321    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDeviceList> CREATOR;
1322  }
1323
1324  @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public final class WifiP2pDiscoveryConfig implements android.os.Parcelable {
1325    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int describeContents();
1326    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int getFrequencyMhz();
1327    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int getScanType();
1328    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public void writeToParcel(@NonNull android.os.Parcel, int);
1329    field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDiscoveryConfig> CREATOR;
1330  }
1331
1332  @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final class WifiP2pDiscoveryConfig.Builder {
1333    ctor @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public WifiP2pDiscoveryConfig.Builder(int);
1334    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.p2p.WifiP2pDiscoveryConfig build();
1335    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.p2p.WifiP2pDiscoveryConfig.Builder setFrequencyMhz(@IntRange(from=0) int);
1336  }
1337
1338  public class WifiP2pGroup implements android.os.Parcelable {
1339    ctor public WifiP2pGroup();
1340    ctor public WifiP2pGroup(android.net.wifi.p2p.WifiP2pGroup);
1341    method public int describeContents();
1342    method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getClientList();
1343    method public int getFrequency();
1344    method public String getInterface();
1345    method public int getNetworkId();
1346    method public String getNetworkName();
1347    method public android.net.wifi.p2p.WifiP2pDevice getOwner();
1348    method public String getPassphrase();
1349    method public boolean isGroupOwner();
1350    method public void writeToParcel(android.os.Parcel, int);
1351    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroup> CREATOR;
1352    field public static final int NETWORK_ID_PERSISTENT = -2; // 0xfffffffe
1353    field public static final int NETWORK_ID_TEMPORARY = -1; // 0xffffffff
1354  }
1355
1356  public class WifiP2pInfo implements android.os.Parcelable {
1357    ctor public WifiP2pInfo();
1358    ctor public WifiP2pInfo(android.net.wifi.p2p.WifiP2pInfo);
1359    method public int describeContents();
1360    method public void writeToParcel(android.os.Parcel, int);
1361    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pInfo> CREATOR;
1362    field public boolean groupFormed;
1363    field public java.net.InetAddress groupOwnerAddress;
1364    field public boolean isGroupOwner;
1365  }
1366
1367  public class WifiP2pManager {
1368    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void addExternalApprover(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.MacAddress, @NonNull android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener);
1369    method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void addLocalService(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceInfo, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1370    method public void addServiceRequest(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceRequest, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1371    method public void cancelConnect(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1372    method public void clearLocalServices(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1373    method public void clearServiceRequests(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1374    method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void connect(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pConfig, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1375    method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void createGroup(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1376    method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void createGroup(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pConfig, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1377    method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void discoverPeers(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1378    method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void discoverPeersOnSocialChannels(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1379    method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void discoverPeersOnSpecificFrequency(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1380    method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void discoverServices(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1381    method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void getListenState(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
1382    method public static int getP2pMaxAllowedVendorElementsLengthBytes();
1383    method public android.net.wifi.p2p.WifiP2pManager.Channel initialize(android.content.Context, android.os.Looper, android.net.wifi.p2p.WifiP2pManager.ChannelListener);
1384    method public boolean isChannelConstrainedDiscoverySupported();
1385    method public boolean isGroupClientRemovalSupported();
1386    method public boolean isGroupOwnerIPv6LinkLocalAddressProvided();
1387    method public boolean isSetVendorElementsSupported();
1388    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_WIFI_STATE}, conditional=true) public void registerWifiP2pListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.p2p.WifiP2pManager.WifiP2pListener);
1389    method public void removeClient(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.MacAddress, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1390    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void removeExternalApprover(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.MacAddress, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1391    method public void removeGroup(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1392    method public void removeLocalService(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceInfo, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1393    method public void removeServiceRequest(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceRequest, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1394    method public void requestConnectionInfo(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ConnectionInfoListener);
1395    method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void requestDeviceInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.DeviceInfoListener);
1396    method public void requestDiscoveryState(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.DiscoveryStateListener);
1397    method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void requestGroupInfo(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.GroupInfoListener);
1398    method public void requestNetworkInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.NetworkInfoListener);
1399    method public void requestP2pState(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.P2pStateListener);
1400    method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void requestPeers(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.PeerListListener);
1401    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void setConnectionRequestResult(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.MacAddress, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1402    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void setConnectionRequestResult(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.MacAddress, int, @Nullable String, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1403    method public void setDnsSdResponseListeners(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.DnsSdServiceResponseListener, android.net.wifi.p2p.WifiP2pManager.DnsSdTxtRecordListener);
1404    method public void setServiceResponseListener(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ServiceResponseListener);
1405    method public void setUpnpServiceResponseListener(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.UpnpServiceResponseListener);
1406    method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void setVendorElements(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull java.util.List<android.net.wifi.ScanResult.InformationElement>, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1407    method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setWfdInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pWfdInfo, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1408    method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void startListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1409    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void startPeerDiscovery(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pDiscoveryConfig, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1410    method public void stopListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1411    method public void stopPeerDiscovery(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1412    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public void unregisterWifiP2pListener(@NonNull android.net.wifi.p2p.WifiP2pManager.WifiP2pListener);
1413    field public static final String ACTION_WIFI_P2P_LISTEN_STATE_CHANGED = "android.net.wifi.p2p.action.WIFI_P2P_LISTEN_STATE_CHANGED";
1414    field public static final String ACTION_WIFI_P2P_REQUEST_RESPONSE_CHANGED = "android.net.wifi.p2p.action.WIFI_P2P_REQUEST_RESPONSE_CHANGED";
1415    field public static final int BUSY = 2; // 0x2
1416    field public static final int CONNECTION_REQUEST_ACCEPT = 0; // 0x0
1417    field public static final int CONNECTION_REQUEST_DEFER_SHOW_PIN_TO_SERVICE = 3; // 0x3
1418    field public static final int CONNECTION_REQUEST_DEFER_TO_SERVICE = 2; // 0x2
1419    field public static final int CONNECTION_REQUEST_REJECT = 1; // 0x1
1420    field public static final int ERROR = 0; // 0x0
1421    field public static final String EXTRA_DISCOVERY_STATE = "discoveryState";
1422    field public static final String EXTRA_LISTEN_STATE = "android.net.wifi.p2p.extra.LISTEN_STATE";
1423    field public static final String EXTRA_NETWORK_INFO = "networkInfo";
1424    field public static final String EXTRA_P2P_DEVICE_LIST = "wifiP2pDeviceList";
1425    field public static final String EXTRA_REQUEST_CONFIG = "android.net.wifi.p2p.extra.REQUEST_CONFIG";
1426    field public static final String EXTRA_REQUEST_RESPONSE = "android.net.wifi.p2p.extra.REQUEST_RESPONSE";
1427    field public static final String EXTRA_WIFI_P2P_DEVICE = "wifiP2pDevice";
1428    field public static final String EXTRA_WIFI_P2P_GROUP = "p2pGroupInfo";
1429    field public static final String EXTRA_WIFI_P2P_INFO = "wifiP2pInfo";
1430    field public static final String EXTRA_WIFI_STATE = "wifi_p2p_state";
1431    field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_CONNECTION_CANCELLED = 0; // 0x0
1432    field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_GROUP_REMOVED = 4; // 0x4
1433    field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_INVITATION_FAILED = 5; // 0x5
1434    field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_PROVISION_DISCOVERY_FAILED = 3; // 0x3
1435    field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_TIMED_OUT = 1; // 0x1
1436    field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_USER_REJECTED = 2; // 0x2
1437    field public static final int NO_SERVICE_REQUESTS = 3; // 0x3
1438    field public static final int P2P_UNSUPPORTED = 1; // 0x1
1439    field public static final String WIFI_P2P_CONNECTION_CHANGED_ACTION = "android.net.wifi.p2p.CONNECTION_STATE_CHANGE";
1440    field public static final String WIFI_P2P_DISCOVERY_CHANGED_ACTION = "android.net.wifi.p2p.DISCOVERY_STATE_CHANGE";
1441    field public static final int WIFI_P2P_DISCOVERY_STARTED = 2; // 0x2
1442    field public static final int WIFI_P2P_DISCOVERY_STOPPED = 1; // 0x1
1443    field public static final int WIFI_P2P_LISTEN_STARTED = 2; // 0x2
1444    field public static final int WIFI_P2P_LISTEN_STOPPED = 1; // 0x1
1445    field public static final String WIFI_P2P_PEERS_CHANGED_ACTION = "android.net.wifi.p2p.PEERS_CHANGED";
1446    field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int WIFI_P2P_SCAN_FULL = 0; // 0x0
1447    field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int WIFI_P2P_SCAN_SINGLE_FREQ = 2; // 0x2
1448    field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int WIFI_P2P_SCAN_SOCIAL = 1; // 0x1
1449    field public static final String WIFI_P2P_STATE_CHANGED_ACTION = "android.net.wifi.p2p.STATE_CHANGED";
1450    field public static final int WIFI_P2P_STATE_DISABLED = 1; // 0x1
1451    field public static final int WIFI_P2P_STATE_ENABLED = 2; // 0x2
1452    field public static final String WIFI_P2P_THIS_DEVICE_CHANGED_ACTION = "android.net.wifi.p2p.THIS_DEVICE_CHANGED";
1453  }
1454
1455  public static interface WifiP2pManager.ActionListener {
1456    method public void onFailure(int);
1457    method public void onSuccess();
1458  }
1459
1460  public static class WifiP2pManager.Channel implements java.lang.AutoCloseable {
1461    method public void close();
1462  }
1463
1464  public static interface WifiP2pManager.ChannelListener {
1465    method public void onChannelDisconnected();
1466  }
1467
1468  public static interface WifiP2pManager.ConnectionInfoListener {
1469    method public void onConnectionInfoAvailable(android.net.wifi.p2p.WifiP2pInfo);
1470  }
1471
1472  public static interface WifiP2pManager.DeviceInfoListener {
1473    method public void onDeviceInfoAvailable(@Nullable android.net.wifi.p2p.WifiP2pDevice);
1474  }
1475
1476  public static interface WifiP2pManager.DiscoveryStateListener {
1477    method public void onDiscoveryStateAvailable(int);
1478  }
1479
1480  public static interface WifiP2pManager.DnsSdServiceResponseListener {
1481    method public void onDnsSdServiceAvailable(String, String, android.net.wifi.p2p.WifiP2pDevice);
1482  }
1483
1484  public static interface WifiP2pManager.DnsSdTxtRecordListener {
1485    method public void onDnsSdTxtRecordAvailable(String, java.util.Map<java.lang.String,java.lang.String>, android.net.wifi.p2p.WifiP2pDevice);
1486  }
1487
1488  public static interface WifiP2pManager.ExternalApproverRequestListener {
1489    method public void onAttached(@NonNull android.net.MacAddress);
1490    method public void onConnectionRequested(int, @NonNull android.net.wifi.p2p.WifiP2pConfig, @NonNull android.net.wifi.p2p.WifiP2pDevice);
1491    method public void onDetached(@NonNull android.net.MacAddress, int);
1492    method public void onPinGenerated(@NonNull android.net.MacAddress, @NonNull String);
1493    field public static final int APPROVER_DETACH_REASON_CLOSE = 3; // 0x3
1494    field public static final int APPROVER_DETACH_REASON_FAILURE = 1; // 0x1
1495    field public static final int APPROVER_DETACH_REASON_REMOVE = 0; // 0x0
1496    field public static final int APPROVER_DETACH_REASON_REPLACE = 2; // 0x2
1497    field public static final int REQUEST_TYPE_INVITATION = 1; // 0x1
1498    field public static final int REQUEST_TYPE_JOIN = 2; // 0x2
1499    field public static final int REQUEST_TYPE_NEGOTIATION = 0; // 0x0
1500  }
1501
1502  public static interface WifiP2pManager.GroupInfoListener {
1503    method public void onGroupInfoAvailable(android.net.wifi.p2p.WifiP2pGroup);
1504  }
1505
1506  public static interface WifiP2pManager.NetworkInfoListener {
1507    method public void onNetworkInfoAvailable(@NonNull android.net.NetworkInfo);
1508  }
1509
1510  public static interface WifiP2pManager.P2pStateListener {
1511    method public void onP2pStateAvailable(int);
1512  }
1513
1514  public static interface WifiP2pManager.PeerListListener {
1515    method public void onPeersAvailable(android.net.wifi.p2p.WifiP2pDeviceList);
1516  }
1517
1518  public static interface WifiP2pManager.ServiceResponseListener {
1519    method public void onServiceAvailable(int, byte[], android.net.wifi.p2p.WifiP2pDevice);
1520  }
1521
1522  public static interface WifiP2pManager.UpnpServiceResponseListener {
1523    method public void onUpnpServiceAvailable(java.util.List<java.lang.String>, android.net.wifi.p2p.WifiP2pDevice);
1524  }
1525
1526  @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static interface WifiP2pManager.WifiP2pListener {
1527    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onDeviceConfigurationChanged(@Nullable android.net.wifi.p2p.WifiP2pDevice);
1528    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onDiscoveryStateChanged(int);
1529    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onFrequencyChanged(@NonNull android.net.wifi.p2p.WifiP2pInfo, @NonNull android.net.wifi.p2p.WifiP2pGroup);
1530    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onGroupCreated(@NonNull android.net.wifi.p2p.WifiP2pInfo, @NonNull android.net.wifi.p2p.WifiP2pGroup);
1531    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onGroupCreating();
1532    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onGroupCreationFailed(int);
1533    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onGroupNegotiationRejectedByUser();
1534    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onGroupRemoved();
1535    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onListenStateChanged(int);
1536    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onP2pStateChanged(int);
1537    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onPeerClientDisconnected(@NonNull android.net.wifi.p2p.WifiP2pInfo, @NonNull android.net.wifi.p2p.WifiP2pGroup);
1538    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onPeerClientJoined(@NonNull android.net.wifi.p2p.WifiP2pInfo, @NonNull android.net.wifi.p2p.WifiP2pGroup);
1539    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onPeerListChanged(@NonNull android.net.wifi.p2p.WifiP2pDeviceList);
1540  }
1541
1542  public final class WifiP2pWfdInfo implements android.os.Parcelable {
1543    ctor public WifiP2pWfdInfo();
1544    ctor public WifiP2pWfdInfo(@Nullable android.net.wifi.p2p.WifiP2pWfdInfo);
1545    method public int describeContents();
1546    method public int getControlPort();
1547    method public int getDeviceInfo();
1548    method public int getDeviceType();
1549    method public int getMaxThroughput();
1550    method public int getR2DeviceInfo();
1551    method public int getR2DeviceType();
1552    method public boolean isContentProtectionSupported();
1553    method public boolean isCoupledSinkSupportedAtSink();
1554    method public boolean isCoupledSinkSupportedAtSource();
1555    method public boolean isEnabled();
1556    method public boolean isR2Supported();
1557    method public boolean isSessionAvailable();
1558    method public void setContentProtectionSupported(boolean);
1559    method public void setControlPort(@IntRange(from=0) int);
1560    method public void setCoupledSinkSupportAtSink(boolean);
1561    method public void setCoupledSinkSupportAtSource(boolean);
1562    method public boolean setDeviceType(int);
1563    method public void setEnabled(boolean);
1564    method public void setMaxThroughput(@IntRange(from=0) int);
1565    method public boolean setR2DeviceType(int);
1566    method public void setSessionAvailable(boolean);
1567    method public void writeToParcel(@NonNull android.os.Parcel, int);
1568    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pWfdInfo> CREATOR;
1569    field public static final int DEVICE_INFO_AUDIO_ONLY_SUPPORT_AT_SOURCE = 2048; // 0x800
1570    field public static final int DEVICE_INFO_AUDIO_UNSUPPORTED_AT_PRIMARY_SINK = 1024; // 0x400
1571    field public static final int DEVICE_INFO_CONTENT_PROTECTION_SUPPORT = 256; // 0x100
1572    field public static final int DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SINK = 8; // 0x8
1573    field public static final int DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SOURCE = 4; // 0x4
1574    field public static final int DEVICE_INFO_DEVICE_TYPE_MASK = 3; // 0x3
1575    field public static final int DEVICE_INFO_PREFERRED_CONNECTIVITY_MASK = 128; // 0x80
1576    field public static final int DEVICE_INFO_SESSION_AVAILABLE_MASK = 48; // 0x30
1577    field public static final int DEVICE_INFO_TDLS_PERSISTENT_GROUP = 4096; // 0x1000
1578    field public static final int DEVICE_INFO_TDLS_PERSISTENT_GROUP_REINVOKE = 8192; // 0x2000
1579    field public static final int DEVICE_INFO_TIME_SYNCHRONIZATION_SUPPORT = 512; // 0x200
1580    field public static final int DEVICE_INFO_WFD_SERVICE_DISCOVERY_SUPPORT = 64; // 0x40
1581    field public static final int DEVICE_TYPE_PRIMARY_SINK = 1; // 0x1
1582    field public static final int DEVICE_TYPE_SECONDARY_SINK = 2; // 0x2
1583    field public static final int DEVICE_TYPE_SOURCE_OR_PRIMARY_SINK = 3; // 0x3
1584    field public static final int DEVICE_TYPE_WFD_SOURCE = 0; // 0x0
1585    field public static final int PREFERRED_CONNECTIVITY_P2P = 0; // 0x0
1586    field public static final int PREFERRED_CONNECTIVITY_TDLS = 1; // 0x1
1587  }
1588
1589}
1590
1591package android.net.wifi.p2p.nsd {
1592
1593  public class WifiP2pDnsSdServiceInfo extends android.net.wifi.p2p.nsd.WifiP2pServiceInfo {
1594    method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceInfo newInstance(String, String, java.util.Map<java.lang.String,java.lang.String>);
1595  }
1596
1597  public class WifiP2pDnsSdServiceRequest extends android.net.wifi.p2p.nsd.WifiP2pServiceRequest {
1598    method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance();
1599    method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance(String);
1600    method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance(String, String);
1601  }
1602
1603  public class WifiP2pServiceInfo implements android.os.Parcelable {
1604    method public int describeContents();
1605    method public void writeToParcel(android.os.Parcel, int);
1606    field public static final int SERVICE_TYPE_ALL = 0; // 0x0
1607    field public static final int SERVICE_TYPE_BONJOUR = 1; // 0x1
1608    field public static final int SERVICE_TYPE_UPNP = 2; // 0x2
1609    field public static final int SERVICE_TYPE_VENDOR_SPECIFIC = 255; // 0xff
1610  }
1611
1612  public class WifiP2pServiceRequest implements android.os.Parcelable {
1613    method public int describeContents();
1614    method public static android.net.wifi.p2p.nsd.WifiP2pServiceRequest newInstance(int, String);
1615    method public static android.net.wifi.p2p.nsd.WifiP2pServiceRequest newInstance(int);
1616    method public void writeToParcel(android.os.Parcel, int);
1617  }
1618
1619  public class WifiP2pUpnpServiceInfo extends android.net.wifi.p2p.nsd.WifiP2pServiceInfo {
1620    method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceInfo newInstance(String, String, java.util.List<java.lang.String>);
1621  }
1622
1623  public class WifiP2pUpnpServiceRequest extends android.net.wifi.p2p.nsd.WifiP2pServiceRequest {
1624    method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest newInstance();
1625    method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest newInstance(String);
1626  }
1627
1628}
1629
1630package android.net.wifi.rtt {
1631
1632  public class CivicLocationKeys {
1633    field public static final int ADDITIONAL_CODE = 32; // 0x20
1634    field public static final int APT = 26; // 0x1a
1635    field public static final int BOROUGH = 4; // 0x4
1636    field public static final int BRANCH_ROAD_NAME = 36; // 0x24
1637    field public static final int BUILDING = 25; // 0x19
1638    field public static final int CITY = 3; // 0x3
1639    field public static final int COUNTY = 2; // 0x2
1640    field public static final int DESK = 33; // 0x21
1641    field public static final int FLOOR = 27; // 0x1b
1642    field public static final int GROUP_OF_STREETS = 6; // 0x6
1643    field public static final int HNO = 19; // 0x13
1644    field public static final int HNS = 20; // 0x14
1645    field public static final int LANGUAGE = 0; // 0x0
1646    field public static final int LMK = 21; // 0x15
1647    field public static final int LOC = 22; // 0x16
1648    field public static final int NAM = 23; // 0x17
1649    field public static final int NEIGHBORHOOD = 5; // 0x5
1650    field public static final int PCN = 30; // 0x1e
1651    field public static final int POD = 17; // 0x11
1652    field public static final int POSTAL_CODE = 24; // 0x18
1653    field public static final int PO_BOX = 31; // 0x1f
1654    field public static final int PRD = 16; // 0x10
1655    field public static final int PRIMARY_ROAD_NAME = 34; // 0x22
1656    field public static final int ROAD_SECTION = 35; // 0x23
1657    field public static final int ROOM = 28; // 0x1c
1658    field public static final int SCRIPT = 128; // 0x80
1659    field public static final int STATE = 1; // 0x1
1660    field public static final int STREET_NAME_POST_MODIFIER = 39; // 0x27
1661    field public static final int STREET_NAME_PRE_MODIFIER = 38; // 0x26
1662    field public static final int STS = 18; // 0x12
1663    field public static final int SUBBRANCH_ROAD_NAME = 37; // 0x25
1664    field public static final int TYPE_OF_PLACE = 29; // 0x1d
1665  }
1666
1667  public final class RangingRequest implements android.os.Parcelable {
1668    method public int describeContents();
1669    method public static int getDefaultRttBurstSize();
1670    method public static int getMaxPeers();
1671    method public static int getMaxRttBurstSize();
1672    method public static int getMinRttBurstSize();
1673    method public int getRttBurstSize();
1674    method public void writeToParcel(android.os.Parcel, int);
1675    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingRequest> CREATOR;
1676  }
1677
1678  public static final class RangingRequest.Builder {
1679    ctor public RangingRequest.Builder();
1680    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addAccessPoint(@NonNull android.net.wifi.ScanResult);
1681    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addAccessPoints(@NonNull java.util.List<android.net.wifi.ScanResult>);
1682    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addNon80211mcCapableAccessPoint(@NonNull android.net.wifi.ScanResult);
1683    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addNon80211mcCapableAccessPoints(@NonNull java.util.List<android.net.wifi.ScanResult>);
1684    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addResponder(@NonNull android.net.wifi.rtt.ResponderConfig);
1685    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addResponders(@NonNull java.util.List<android.net.wifi.rtt.ResponderConfig>);
1686    method public android.net.wifi.rtt.RangingRequest.Builder addWifiAwarePeer(@NonNull android.net.MacAddress);
1687    method public android.net.wifi.rtt.RangingRequest.Builder addWifiAwarePeer(@NonNull android.net.wifi.aware.PeerHandle);
1688    method public android.net.wifi.rtt.RangingRequest build();
1689    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder setRttBurstSize(int);
1690  }
1691
1692  public final class RangingResult implements android.os.Parcelable {
1693    method public int describeContents();
1694    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int get80211azInitiatorTxLtfRepetitionsCount();
1695    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int get80211azNumberOfRxSpatialStreams();
1696    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int get80211azNumberOfTxSpatialStreams();
1697    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int get80211azResponderTxLtfRepetitionsCount();
1698    method public int getDistanceMm();
1699    method public int getDistanceStdDevMm();
1700    method @NonNull public byte[] getLci();
1701    method @NonNull public byte[] getLcr();
1702    method @Nullable public android.net.MacAddress getMacAddress();
1703    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public long getMaxTimeBetweenNtbMeasurementsMicros();
1704    method public int getMeasurementBandwidth();
1705    method public int getMeasurementChannelFrequencyMHz();
1706    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public long getMinTimeBetweenNtbMeasurementsMicros();
1707    method public int getNumAttemptedMeasurements();
1708    method public int getNumSuccessfulMeasurements();
1709    method @Nullable public android.net.wifi.aware.PeerHandle getPeerHandle();
1710    method public long getRangingTimestampMillis();
1711    method public int getRssi();
1712    method public int getStatus();
1713    method @Nullable public android.net.wifi.rtt.ResponderLocation getUnverifiedResponderLocation();
1714    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean is80211azNtbMeasurement();
1715    method public boolean is80211mcMeasurement();
1716    method public void writeToParcel(android.os.Parcel, int);
1717    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingResult> CREATOR;
1718    field public static final int STATUS_FAIL = 1; // 0x1
1719    field public static final int STATUS_RESPONDER_DOES_NOT_SUPPORT_IEEE80211MC = 2; // 0x2
1720    field public static final int STATUS_SUCCESS = 0; // 0x0
1721    field public static final int UNSPECIFIED = -1; // 0xffffffff
1722  }
1723
1724  @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final class RangingResult.Builder {
1725    ctor public RangingResult.Builder();
1726    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult build();
1727    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211azInitiatorTxLtfRepetitionsCount(int);
1728    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211azNtbMeasurement(boolean);
1729    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211azNumberOfRxSpatialStreams(int);
1730    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211azNumberOfTxSpatialStreams(int);
1731    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211azResponderTxLtfRepetitionsCount(int);
1732    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211mcMeasurement(boolean);
1733    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setDistanceMm(int);
1734    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setDistanceStdDevMm(int);
1735    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setLci(@Nullable byte[]);
1736    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setLcr(@Nullable byte[]);
1737    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setMacAddress(@Nullable android.net.MacAddress);
1738    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setMaxTimeBetweenNtbMeasurementsMicros(long);
1739    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setMeasurementBandwidth(int);
1740    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setMeasurementChannelFrequencyMHz(int);
1741    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setMinTimeBetweenNtbMeasurementsMicros(long);
1742    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setNumAttemptedMeasurements(int);
1743    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setNumSuccessfulMeasurements(int);
1744    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setPeerHandle(@Nullable android.net.wifi.aware.PeerHandle);
1745    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setRangingTimestampMillis(long);
1746    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setRssi(int);
1747    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setStatus(int);
1748    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setUnverifiedResponderLocation(@Nullable android.net.wifi.rtt.ResponderLocation);
1749  }
1750
1751  public abstract class RangingResultCallback {
1752    ctor public RangingResultCallback();
1753    method public abstract void onRangingFailure(int);
1754    method public abstract void onRangingResults(@NonNull java.util.List<android.net.wifi.rtt.RangingResult>);
1755    field public static final int STATUS_CODE_FAIL = 1; // 0x1
1756    field public static final int STATUS_CODE_FAIL_RTT_NOT_AVAILABLE = 2; // 0x2
1757  }
1758
1759  public final class ResponderConfig implements android.os.Parcelable {
1760    method public int describeContents();
1761    method @NonNull public static android.net.wifi.rtt.ResponderConfig fromScanResult(@NonNull android.net.wifi.ScanResult);
1762    method @IntRange(from=0) public int getCenterFreq0Mhz();
1763    method @IntRange(from=0) public int getCenterFreq1Mhz();
1764    method public int getChannelWidth();
1765    method @IntRange(from=0) public int getFrequencyMhz();
1766    method @Nullable public android.net.MacAddress getMacAddress();
1767    method public int getPreamble();
1768    method public int getResponderType();
1769    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean is80211azNtbSupported();
1770    method public boolean is80211mcSupported();
1771    method public void writeToParcel(@NonNull android.os.Parcel, int);
1772    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderConfig> CREATOR;
1773    field public static final int RESPONDER_AP = 0; // 0x0
1774    field public static final int RESPONDER_STA = 1; // 0x1
1775  }
1776
1777  public static final class ResponderConfig.Builder {
1778    ctor public ResponderConfig.Builder();
1779    method @NonNull public android.net.wifi.rtt.ResponderConfig build();
1780    method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.ResponderConfig.Builder set80211azNtbSupported(boolean);
1781    method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder set80211mcSupported(boolean);
1782    method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setCenterFreq0Mhz(@IntRange(from=0) int);
1783    method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setCenterFreq1Mhz(@IntRange(from=0) int);
1784    method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setChannelWidth(int);
1785    method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setFrequencyMhz(@IntRange(from=0) int);
1786    method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setMacAddress(@NonNull android.net.MacAddress);
1787    method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setPreamble(int);
1788    method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setResponderType(int);
1789  }
1790
1791  public final class ResponderLocation implements android.os.Parcelable {
1792    method public int describeContents();
1793    method public double getAltitude();
1794    method public int getAltitudeType();
1795    method public double getAltitudeUncertainty();
1796    method public java.util.List<android.net.MacAddress> getColocatedBssids();
1797    method public int getDatum();
1798    method public int getExpectedToMove();
1799    method public double getFloorNumber();
1800    method public double getHeightAboveFloorMeters();
1801    method public double getHeightAboveFloorUncertaintyMeters();
1802    method public double getLatitude();
1803    method public double getLatitudeUncertainty();
1804    method public int getLciVersion();
1805    method public double getLongitude();
1806    method public double getLongitudeUncertainty();
1807    method @Nullable public String getMapImageMimeType();
1808    method @Nullable public android.net.Uri getMapImageUri();
1809    method public boolean getRegisteredLocationAgreementIndication();
1810    method public boolean isLciSubelementValid();
1811    method public boolean isZaxisSubelementValid();
1812    method @Nullable public android.location.Address toCivicLocationAddress();
1813    method @Nullable public android.util.SparseArray<java.lang.String> toCivicLocationSparseArray();
1814    method @NonNull public android.location.Location toLocation();
1815    method public void writeToParcel(android.os.Parcel, int);
1816    field public static final int ALTITUDE_FLOORS = 2; // 0x2
1817    field public static final int ALTITUDE_METERS = 1; // 0x1
1818    field public static final int ALTITUDE_UNDEFINED = 0; // 0x0
1819    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderLocation> CREATOR;
1820    field public static final int DATUM_NAD83_MLLW = 3; // 0x3
1821    field public static final int DATUM_NAD83_NAV88 = 2; // 0x2
1822    field public static final int DATUM_UNDEFINED = 0; // 0x0
1823    field public static final int DATUM_WGS84 = 1; // 0x1
1824    field public static final int LCI_VERSION_1 = 1; // 0x1
1825    field public static final int LOCATION_FIXED = 0; // 0x0
1826    field public static final int LOCATION_MOVEMENT_UNKNOWN = 2; // 0x2
1827    field public static final int LOCATION_RESERVED = 3; // 0x3
1828    field public static final int LOCATION_VARIABLE = 1; // 0x1
1829  }
1830
1831  public class WifiRttManager {
1832    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.os.Bundle getRttCharacteristics();
1833    method public boolean isAvailable();
1834    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.NEARBY_WIFI_DEVICES}) public void startRanging(@NonNull android.net.wifi.rtt.RangingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.rtt.RangingResultCallback);
1835    field public static final String ACTION_WIFI_RTT_STATE_CHANGED = "android.net.wifi.rtt.action.WIFI_RTT_STATE_CHANGED";
1836    field public static final String CHARACTERISTICS_KEY_BOOLEAN_LCI = "key_lci";
1837    field public static final String CHARACTERISTICS_KEY_BOOLEAN_LCR = "key_lcr";
1838    field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final String CHARACTERISTICS_KEY_BOOLEAN_NTB_INITIATOR = "key_ntb_initiator";
1839    field public static final String CHARACTERISTICS_KEY_BOOLEAN_ONE_SIDED_RTT = "key_one_sided_rtt";
1840    field public static final String CHARACTERISTICS_KEY_BOOLEAN_STA_RESPONDER = "key_sta_responder";
1841  }
1842
1843}
1844
1845