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