1// Signature format: 2.0
2package android.net.wifi {
3
4  public abstract class EasyConnectStatusCallback {
5    field public static final int EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION = -2; // 0xfffffffe
6    field public static final int EASY_CONNECT_EVENT_FAILURE_BUSY = -5; // 0xfffffffb
7    field public static final int EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK = -10; // 0xfffffff6
8    field public static final int EASY_CONNECT_EVENT_FAILURE_CONFIGURATION = -4; // 0xfffffffc
9    field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_AUTHENTICATION = -11; // 0xfffffff5
10    field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_FAILED_TO_SCAN_NETWORK_CHANNEL = -14; // 0xfffffff2
11    field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_REJECTED_CONFIGURATION = -12; // 0xfffffff4
12    field public static final int EASY_CONNECT_EVENT_FAILURE_GENERIC = -7; // 0xfffffff9
13    field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK = -9; // 0xfffffff7
14    field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_URI = -1; // 0xffffffff
15    field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_COMPATIBLE = -3; // 0xfffffffd
16    field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_SUPPORTED = -8; // 0xfffffff8
17    field public static final int EASY_CONNECT_EVENT_FAILURE_TIMEOUT = -6; // 0xfffffffa
18    field public static final int EASY_CONNECT_EVENT_FAILURE_URI_GENERATION = -13; // 0xfffffff3
19  }
20
21  public final class ScanResult implements android.os.Parcelable {
22    ctor public ScanResult(@NonNull android.net.wifi.ScanResult);
23    ctor public ScanResult();
24    method public static int convertChannelToFrequencyMhzIfSupported(int, int);
25    method public static int convertFrequencyMhzToChannelIfSupported(int);
26    method public int describeContents();
27    method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getInformationElements();
28    method public int getWifiStandard();
29    method public boolean is80211mcResponder();
30    method public boolean isPasspointNetwork();
31    method public void writeToParcel(android.os.Parcel, int);
32    field public String BSSID;
33    field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3
34    field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0
35    field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
36    field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
37    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
38    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.ScanResult> CREATOR;
39    field public String SSID;
40    field public static final int UNSPECIFIED = -1; // 0xffffffff
41    field public static final int WIFI_BAND_24_GHZ = 1; // 0x1
42    field public static final int WIFI_BAND_5_GHZ = 2; // 0x2
43    field public static final int WIFI_BAND_60_GHZ = 16; // 0x10
44    field public static final int WIFI_BAND_6_GHZ = 8; // 0x8
45    field public static final int WIFI_STANDARD_11AC = 5; // 0x5
46    field public static final int WIFI_STANDARD_11AD = 7; // 0x7
47    field public static final int WIFI_STANDARD_11AX = 6; // 0x6
48    field public static final int WIFI_STANDARD_11N = 4; // 0x4
49    field public static final int WIFI_STANDARD_LEGACY = 1; // 0x1
50    field public static final int WIFI_STANDARD_UNKNOWN = 0; // 0x0
51    field public String capabilities;
52    field public int centerFreq0;
53    field public int centerFreq1;
54    field public int channelWidth;
55    field public int frequency;
56    field public int level;
57    field @Deprecated public CharSequence operatorFriendlyName;
58    field public long timestamp;
59    field @Deprecated public CharSequence venueName;
60  }
61
62  public static class ScanResult.InformationElement implements android.os.Parcelable {
63    ctor public ScanResult.InformationElement(@NonNull android.net.wifi.ScanResult.InformationElement);
64    method public int describeContents();
65    method @NonNull public java.nio.ByteBuffer getBytes();
66    method public int getId();
67    method public int getIdExt();
68    method public void writeToParcel(android.os.Parcel, int);
69    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.ScanResult.InformationElement> CREATOR;
70  }
71
72  public final class SoftApConfiguration implements android.os.Parcelable {
73    method public int describeContents();
74    method @Nullable public android.net.MacAddress getBssid();
75    method @Nullable public String getPassphrase();
76    method public int getSecurityType();
77    method @Nullable public String getSsid();
78    method public boolean isHiddenSsid();
79    method public void writeToParcel(@NonNull android.os.Parcel, int);
80    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApConfiguration> CREATOR;
81    field public static final int SECURITY_TYPE_OPEN = 0; // 0x0
82    field public static final int SECURITY_TYPE_WPA2_PSK = 1; // 0x1
83    field public static final int SECURITY_TYPE_WPA3_SAE = 3; // 0x3
84    field public static final int SECURITY_TYPE_WPA3_SAE_TRANSITION = 2; // 0x2
85  }
86
87  public enum SupplicantState implements android.os.Parcelable {
88    method public int describeContents();
89    method public static boolean isValidState(android.net.wifi.SupplicantState);
90    method public void writeToParcel(android.os.Parcel, int);
91    enum_constant public static final android.net.wifi.SupplicantState ASSOCIATED;
92    enum_constant public static final android.net.wifi.SupplicantState ASSOCIATING;
93    enum_constant public static final android.net.wifi.SupplicantState AUTHENTICATING;
94    enum_constant public static final android.net.wifi.SupplicantState COMPLETED;
95    enum_constant public static final android.net.wifi.SupplicantState DISCONNECTED;
96    enum_constant public static final android.net.wifi.SupplicantState DORMANT;
97    enum_constant public static final android.net.wifi.SupplicantState FOUR_WAY_HANDSHAKE;
98    enum_constant public static final android.net.wifi.SupplicantState GROUP_HANDSHAKE;
99    enum_constant public static final android.net.wifi.SupplicantState INACTIVE;
100    enum_constant public static final android.net.wifi.SupplicantState INTERFACE_DISABLED;
101    enum_constant public static final android.net.wifi.SupplicantState INVALID;
102    enum_constant public static final android.net.wifi.SupplicantState SCANNING;
103    enum_constant public static final android.net.wifi.SupplicantState UNINITIALIZED;
104  }
105
106  @Deprecated public class WifiConfiguration implements android.os.Parcelable {
107    ctor @Deprecated public WifiConfiguration();
108    ctor @Deprecated public WifiConfiguration(@NonNull android.net.wifi.WifiConfiguration);
109    method public int describeContents();
110    method @Deprecated public android.net.ProxyInfo getHttpProxy();
111    method @Deprecated @NonNull public String getKey();
112    method @Deprecated @NonNull public android.net.MacAddress getRandomizedMacAddress();
113    method @Deprecated public boolean isPasspoint();
114    method @Deprecated public void setHttpProxy(android.net.ProxyInfo);
115    method @Deprecated public void setSecurityParams(int);
116    method public void writeToParcel(android.os.Parcel, int);
117    field @Deprecated public String BSSID;
118    field @Deprecated public String FQDN;
119    field @Deprecated public static final int SECURITY_TYPE_EAP = 3; // 0x3
120    field @Deprecated public static final int SECURITY_TYPE_EAP_SUITE_B = 5; // 0x5
121    field @Deprecated public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE = 9; // 0x9
122    field @Deprecated public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT = 5; // 0x5
123    field @Deprecated public static final int SECURITY_TYPE_OPEN = 0; // 0x0
124    field @Deprecated public static final int SECURITY_TYPE_OWE = 6; // 0x6
125    field @Deprecated public static final int SECURITY_TYPE_PSK = 2; // 0x2
126    field @Deprecated public static final int SECURITY_TYPE_SAE = 4; // 0x4
127    field @Deprecated public static final int SECURITY_TYPE_WAPI_CERT = 8; // 0x8
128    field @Deprecated public static final int SECURITY_TYPE_WAPI_PSK = 7; // 0x7
129    field @Deprecated public static final int SECURITY_TYPE_WEP = 1; // 0x1
130    field @Deprecated public String SSID;
131    field @Deprecated @NonNull public java.util.BitSet allowedAuthAlgorithms;
132    field @Deprecated @NonNull public java.util.BitSet allowedGroupCiphers;
133    field @Deprecated @NonNull public java.util.BitSet allowedGroupManagementCiphers;
134    field @Deprecated @NonNull public java.util.BitSet allowedKeyManagement;
135    field @Deprecated @NonNull public java.util.BitSet allowedPairwiseCiphers;
136    field @Deprecated @NonNull public java.util.BitSet allowedProtocols;
137    field @Deprecated @NonNull public java.util.BitSet allowedSuiteBCiphers;
138    field @Deprecated public android.net.wifi.WifiEnterpriseConfig enterpriseConfig;
139    field @Deprecated public boolean hiddenSSID;
140    field @Deprecated public boolean isHomeProviderNetwork;
141    field @Deprecated public int networkId;
142    field @Deprecated public String preSharedKey;
143    field @Deprecated public int priority;
144    field @Deprecated public String providerFriendlyName;
145    field @Deprecated public long[] roamingConsortiumIds;
146    field @Deprecated public int status;
147    field @Deprecated public String[] wepKeys;
148    field @Deprecated public int wepTxKeyIndex;
149  }
150
151  @Deprecated public static class WifiConfiguration.AuthAlgorithm {
152    field @Deprecated public static final int LEAP = 2; // 0x2
153    field @Deprecated public static final int OPEN = 0; // 0x0
154    field @Deprecated public static final int SAE = 3; // 0x3
155    field @Deprecated public static final int SHARED = 1; // 0x1
156    field @Deprecated public static final String[] strings;
157    field @Deprecated public static final String varName = "auth_alg";
158  }
159
160  @Deprecated public static class WifiConfiguration.GroupCipher {
161    field @Deprecated public static final int CCMP = 3; // 0x3
162    field @Deprecated public static final int GCMP_128 = 7; // 0x7
163    field @Deprecated public static final int GCMP_256 = 5; // 0x5
164    field @Deprecated public static final int SMS4 = 6; // 0x6
165    field @Deprecated public static final int TKIP = 2; // 0x2
166    field @Deprecated public static final int WEP104 = 1; // 0x1
167    field @Deprecated public static final int WEP40 = 0; // 0x0
168    field @Deprecated public static final String[] strings;
169    field @Deprecated public static final String varName = "group";
170  }
171
172  @Deprecated public static class WifiConfiguration.GroupMgmtCipher {
173    field @Deprecated public static final int BIP_CMAC_256 = 0; // 0x0
174    field @Deprecated public static final int BIP_GMAC_128 = 1; // 0x1
175    field @Deprecated public static final int BIP_GMAC_256 = 2; // 0x2
176  }
177
178  @Deprecated public static class WifiConfiguration.KeyMgmt {
179    field @Deprecated public static final int IEEE8021X = 3; // 0x3
180    field @Deprecated public static final int NONE = 0; // 0x0
181    field @Deprecated public static final int OWE = 9; // 0x9
182    field @Deprecated public static final int SAE = 8; // 0x8
183    field @Deprecated public static final int SUITE_B_192 = 10; // 0xa
184    field @Deprecated public static final int WPA_EAP = 2; // 0x2
185    field @Deprecated public static final int WPA_PSK = 1; // 0x1
186    field @Deprecated public static final String[] strings;
187    field @Deprecated public static final String varName = "key_mgmt";
188  }
189
190  @Deprecated public static class WifiConfiguration.PairwiseCipher {
191    field @Deprecated public static final int CCMP = 2; // 0x2
192    field @Deprecated public static final int GCMP_128 = 5; // 0x5
193    field @Deprecated public static final int GCMP_256 = 3; // 0x3
194    field @Deprecated public static final int NONE = 0; // 0x0
195    field @Deprecated public static final int SMS4 = 4; // 0x4
196    field @Deprecated public static final int TKIP = 1; // 0x1
197    field @Deprecated public static final String[] strings;
198    field @Deprecated public static final String varName = "pairwise";
199  }
200
201  @Deprecated public static class WifiConfiguration.Protocol {
202    field @Deprecated public static final int RSN = 1; // 0x1
203    field @Deprecated public static final int WAPI = 3; // 0x3
204    field @Deprecated public static final int WPA = 0; // 0x0
205    field @Deprecated public static final String[] strings;
206    field @Deprecated public static final String varName = "proto";
207  }
208
209  @Deprecated public static class WifiConfiguration.Status {
210    field @Deprecated public static final int CURRENT = 0; // 0x0
211    field @Deprecated public static final int DISABLED = 1; // 0x1
212    field @Deprecated public static final int ENABLED = 2; // 0x2
213    field @Deprecated public static final String[] strings;
214  }
215
216  public class WifiEnterpriseConfig implements android.os.Parcelable {
217    ctor public WifiEnterpriseConfig();
218    ctor public WifiEnterpriseConfig(android.net.wifi.WifiEnterpriseConfig);
219    method public int describeContents();
220    method public String getAltSubjectMatch();
221    method public String getAnonymousIdentity();
222    method @Nullable public java.security.cert.X509Certificate getCaCertificate();
223    method @Nullable public java.security.cert.X509Certificate[] getCaCertificates();
224    method public java.security.cert.X509Certificate getClientCertificate();
225    method @Nullable public java.security.cert.X509Certificate[] getClientCertificateChain();
226    method @Nullable public String getClientKeyPairAlias();
227    method @Nullable public java.security.PrivateKey getClientPrivateKey();
228    method @Nullable public String getDecoratedIdentityPrefix();
229    method public String getDomainSuffixMatch();
230    method public int getEapMethod();
231    method public String getIdentity();
232    method public String getPassword();
233    method public int getPhase2Method();
234    method public String getPlmn();
235    method public String getRealm();
236    method @Deprecated public String getSubjectMatch();
237    method public boolean isAuthenticationSimBased();
238    method public boolean isEapMethodServerCertUsed();
239    method public boolean isServerCertValidationEnabled();
240    method public void setAltSubjectMatch(String);
241    method public void setAnonymousIdentity(String);
242    method public void setCaCertificate(@Nullable java.security.cert.X509Certificate);
243    method public void setCaCertificates(@Nullable java.security.cert.X509Certificate[]);
244    method public void setClientKeyEntry(java.security.PrivateKey, java.security.cert.X509Certificate);
245    method public void setClientKeyEntryWithCertificateChain(java.security.PrivateKey, java.security.cert.X509Certificate[]);
246    method public void setClientKeyPairAlias(@NonNull String);
247    method public void setDecoratedIdentityPrefix(@Nullable String);
248    method public void setDomainSuffixMatch(String);
249    method public void setEapMethod(int);
250    method public void setIdentity(String);
251    method public void setPassword(String);
252    method public void setPhase2Method(int);
253    method public void setPlmn(String);
254    method public void setRealm(String);
255    method @Deprecated public void setSubjectMatch(String);
256    method public void writeToParcel(android.os.Parcel, int);
257    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiEnterpriseConfig> CREATOR;
258    field public static final String EXTRA_WAPI_AS_CERTIFICATE_DATA = "android.net.wifi.extra.WAPI_AS_CERTIFICATE_DATA";
259    field public static final String EXTRA_WAPI_AS_CERTIFICATE_NAME = "android.net.wifi.extra.WAPI_AS_CERTIFICATE_NAME";
260    field public static final String EXTRA_WAPI_USER_CERTIFICATE_DATA = "android.net.wifi.extra.WAPI_USER_CERTIFICATE_DATA";
261    field public static final String EXTRA_WAPI_USER_CERTIFICATE_NAME = "android.net.wifi.extra.WAPI_USER_CERTIFICATE_NAME";
262    field public static final String WAPI_AS_CERTIFICATE = "WAPIAS_";
263    field public static final String WAPI_USER_CERTIFICATE = "WAPIUSR_";
264  }
265
266  public static final class WifiEnterpriseConfig.Eap {
267    field public static final int AKA = 5; // 0x5
268    field public static final int AKA_PRIME = 6; // 0x6
269    field public static final int NONE = -1; // 0xffffffff
270    field public static final int PEAP = 0; // 0x0
271    field public static final int PWD = 3; // 0x3
272    field public static final int SIM = 4; // 0x4
273    field public static final int TLS = 1; // 0x1
274    field public static final int TTLS = 2; // 0x2
275    field public static final int UNAUTH_TLS = 7; // 0x7
276    field public static final int WAPI_CERT = 8; // 0x8
277  }
278
279  public static final class WifiEnterpriseConfig.Phase2 {
280    field public static final int AKA = 6; // 0x6
281    field public static final int AKA_PRIME = 7; // 0x7
282    field public static final int GTC = 4; // 0x4
283    field public static final int MSCHAP = 2; // 0x2
284    field public static final int MSCHAPV2 = 3; // 0x3
285    field public static final int NONE = 0; // 0x0
286    field public static final int PAP = 1; // 0x1
287    field public static final int SIM = 5; // 0x5
288  }
289
290  public class WifiInfo implements android.os.Parcelable android.net.TransportInfo {
291    method public int describeContents();
292    method public String getBSSID();
293    method public int getCurrentSecurityType();
294    method public static android.net.NetworkInfo.DetailedState getDetailedStateOf(android.net.wifi.SupplicantState);
295    method public int getFrequency();
296    method public boolean getHiddenSSID();
297    method @Nullable public java.util.List<android.net.wifi.ScanResult.InformationElement> getInformationElements();
298    method @Deprecated public int getIpAddress();
299    method public int getLinkSpeed();
300    method @RequiresPermission(allOf={android.Manifest.permission.LOCAL_MAC_ADDRESS, android.Manifest.permission.ACCESS_FINE_LOCATION}) public String getMacAddress();
301    method public int getMaxSupportedRxLinkSpeedMbps();
302    method public int getMaxSupportedTxLinkSpeedMbps();
303    method public int getNetworkId();
304    method @Nullable public String getPasspointFqdn();
305    method @Nullable public String getPasspointProviderFriendlyName();
306    method public int getRssi();
307    method @IntRange(from=0xffffffff) public int getRxLinkSpeedMbps();
308    method public String getSSID();
309    method public int getSubscriptionId();
310    method public android.net.wifi.SupplicantState getSupplicantState();
311    method @IntRange(from=0xffffffff) public int getTxLinkSpeedMbps();
312    method public int getWifiStandard();
313    method @NonNull public android.net.wifi.WifiInfo makeCopy(long);
314    method public void writeToParcel(android.os.Parcel, int);
315    field public static final String FREQUENCY_UNITS = "MHz";
316    field public static final String LINK_SPEED_UNITS = "Mbps";
317    field public static final int LINK_SPEED_UNKNOWN = -1; // 0xffffffff
318    field public static final int SECURITY_TYPE_EAP = 3; // 0x3
319    field public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE = 9; // 0x9
320    field public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT = 5; // 0x5
321    field public static final int SECURITY_TYPE_OPEN = 0; // 0x0
322    field public static final int SECURITY_TYPE_OSEN = 10; // 0xa
323    field public static final int SECURITY_TYPE_OWE = 6; // 0x6
324    field public static final int SECURITY_TYPE_PASSPOINT_R1_R2 = 11; // 0xb
325    field public static final int SECURITY_TYPE_PASSPOINT_R3 = 12; // 0xc
326    field public static final int SECURITY_TYPE_PSK = 2; // 0x2
327    field public static final int SECURITY_TYPE_SAE = 4; // 0x4
328    field public static final int SECURITY_TYPE_UNKNOWN = -1; // 0xffffffff
329    field public static final int SECURITY_TYPE_WAPI_CERT = 8; // 0x8
330    field public static final int SECURITY_TYPE_WAPI_PSK = 7; // 0x7
331    field public static final int SECURITY_TYPE_WEP = 1; // 0x1
332  }
333
334  public static final class WifiInfo.Builder {
335    ctor public WifiInfo.Builder();
336    method @NonNull public android.net.wifi.WifiInfo build();
337    method @NonNull public android.net.wifi.WifiInfo.Builder setBssid(@NonNull String);
338    method @NonNull public android.net.wifi.WifiInfo.Builder setCurrentSecurityType(int);
339    method @NonNull public android.net.wifi.WifiInfo.Builder setNetworkId(int);
340    method @NonNull public android.net.wifi.WifiInfo.Builder setRssi(int);
341    method @NonNull public android.net.wifi.WifiInfo.Builder setSsid(@NonNull byte[]);
342  }
343
344  public class WifiManager {
345    method @Deprecated public int addNetwork(android.net.wifi.WifiConfiguration);
346    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}) public android.net.wifi.WifiManager.AddNetworkResult addNetworkPrivileged(@NonNull android.net.wifi.WifiConfiguration);
347    method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int addNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>);
348    method public void addOrUpdatePasspointConfiguration(android.net.wifi.hotspot2.PasspointConfiguration);
349    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);
350    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addSuggestionUserApprovalStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener);
351    method @Deprecated public static int calculateSignalLevel(int, int);
352    method @IntRange(from=0) public int calculateSignalLevel(int);
353    method @Deprecated public void cancelWps(android.net.wifi.WifiManager.WpsCallback);
354    method public static int compareSignalLevel(int, int);
355    method public android.net.wifi.WifiManager.MulticastLock createMulticastLock(String);
356    method public android.net.wifi.WifiManager.WifiLock createWifiLock(int, String);
357    method @Deprecated public android.net.wifi.WifiManager.WifiLock createWifiLock(String);
358    method @Deprecated public boolean disableNetwork(int);
359    method @Deprecated public boolean disconnect();
360    method @Deprecated public boolean enableNetwork(int, boolean);
361    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_MANAGED_PROVISIONING, android.Manifest.permission.NETWORK_CARRIER_PROVISIONING}) public void flushPasspointAnqpCache();
362    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public java.util.List<android.net.wifi.WifiConfiguration> getCallerConfiguredNetworks();
363    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();
364    method @Deprecated public android.net.wifi.WifiInfo getConnectionInfo();
365    method @Deprecated public android.net.DhcpInfo getDhcpInfo();
366    method public int getMaxNumberOfNetworkSuggestionsPerApp();
367    method @IntRange(from=0) public int getMaxSignalLevel();
368    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public java.util.List<android.net.wifi.WifiNetworkSuggestion> getNetworkSuggestions();
369    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List<android.net.wifi.hotspot2.PasspointConfiguration> getPasspointConfigurations();
370    method public java.util.List<android.net.wifi.ScanResult> getScanResults();
371    method public int getWifiState();
372    method public boolean is24GHzBandSupported();
373    method public boolean is5GHzBandSupported();
374    method public boolean is60GHzBandSupported();
375    method public boolean is6GHzBandSupported();
376    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isAutoWakeupEnabled();
377    method public boolean isBridgedApConcurrencySupported();
378    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isCarrierNetworkOffloadEnabled(int, boolean);
379    method public boolean isDecoratedIdentitySupported();
380    method @Deprecated public boolean isDeviceToApRttSupported();
381    method public boolean isEasyConnectEnrolleeResponderModeSupported();
382    method public boolean isEasyConnectSupported();
383    method public boolean isEnhancedOpenSupported();
384    method public boolean isEnhancedPowerReportingSupported();
385    method public boolean isMakeBeforeBreakWifiSwitchingSupported();
386    method public boolean isP2pSupported();
387    method public boolean isPasspointTermsAndConditionsSupported();
388    method public boolean isPreferredNetworkOffloadSupported();
389    method @Deprecated public boolean isScanAlwaysAvailable();
390    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isScanThrottleEnabled();
391    method public boolean isStaApConcurrencySupported();
392    method public boolean isStaBridgedApConcurrencySupported();
393    method public boolean isStaConcurrencyForLocalOnlyConnectionsSupported();
394    method public boolean isTdlsSupported();
395    method public boolean isWapiSupported();
396    method public boolean isWifiDisplayR2Supported();
397    method public boolean isWifiEnabled();
398    method public boolean isWifiStandardSupported(int);
399    method public boolean isWpa3SaeH2eSupported();
400    method public boolean isWpa3SaePublicKeySupported();
401    method public boolean isWpa3SaeSupported();
402    method public boolean isWpa3SuiteBSupported();
403    method @Deprecated public boolean pingSupplicant();
404    method @Deprecated public boolean reassociate();
405    method @Deprecated public boolean reconnect();
406    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void registerScanResultsCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.ScanResultsCallback);
407    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void registerSubsystemRestartTrackingCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SubsystemRestartTrackingCallback);
408    method @Deprecated public boolean removeNetwork(int);
409    method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int removeNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>);
410    method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean removeNonCallerConfiguredNetworks();
411    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_CARRIER_PROVISIONING}) public void removePasspointConfiguration(String);
412    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeSuggestionConnectionStatusListener(@NonNull android.net.wifi.WifiManager.SuggestionConnectionStatusListener);
413    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeSuggestionUserApprovalStatusListener(@NonNull android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener);
414    method @Deprecated public boolean saveConfiguration();
415    method public void setTdlsEnabled(java.net.InetAddress, boolean);
416    method public void setTdlsEnabledWithMacAddress(String, boolean);
417    method @Deprecated public boolean setWifiEnabled(boolean);
418    method @RequiresPermission(allOf={android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void startLocalOnlyHotspot(android.net.wifi.WifiManager.LocalOnlyHotspotCallback, @Nullable android.os.Handler);
419    method @Deprecated public boolean startScan();
420    method @Deprecated public void startWps(android.net.wifi.WpsInfo, android.net.wifi.WifiManager.WpsCallback);
421    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void unregisterScanResultsCallback(@NonNull android.net.wifi.WifiManager.ScanResultsCallback);
422    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void unregisterSubsystemRestartTrackingCallback(@NonNull android.net.wifi.WifiManager.SubsystemRestartTrackingCallback);
423    method @Deprecated public int updateNetwork(android.net.wifi.WifiConfiguration);
424    field public static final String ACTION_PICK_WIFI_NETWORK = "android.net.wifi.PICK_WIFI_NETWORK";
425    field public static final String ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE = "android.net.wifi.action.REQUEST_SCAN_ALWAYS_AVAILABLE";
426    field public static final String ACTION_WIFI_NETWORK_SUGGESTION_POST_CONNECTION = "android.net.wifi.action.WIFI_NETWORK_SUGGESTION_POST_CONNECTION";
427    field public static final String ACTION_WIFI_SCAN_AVAILABILITY_CHANGED = "android.net.wifi.action.WIFI_SCAN_AVAILABILITY_CHANGED";
428    field @Deprecated public static final int ERROR_AUTHENTICATING = 1; // 0x1
429    field @Deprecated public static final String EXTRA_BSSID = "bssid";
430    field public static final String EXTRA_NETWORK_INFO = "networkInfo";
431    field public static final String EXTRA_NETWORK_SUGGESTION = "android.net.wifi.extra.NETWORK_SUGGESTION";
432    field public static final String EXTRA_NEW_RSSI = "newRssi";
433    field @Deprecated public static final String EXTRA_NEW_STATE = "newState";
434    field public static final String EXTRA_PREVIOUS_WIFI_STATE = "previous_wifi_state";
435    field public static final String EXTRA_RESULTS_UPDATED = "resultsUpdated";
436    field public static final String EXTRA_SCAN_AVAILABLE = "android.net.wifi.extra.SCAN_AVAILABLE";
437    field @Deprecated public static final String EXTRA_SUPPLICANT_CONNECTED = "connected";
438    field @Deprecated public static final String EXTRA_SUPPLICANT_ERROR = "supplicantError";
439    field @Deprecated public static final String EXTRA_WIFI_INFO = "wifiInfo";
440    field public static final String EXTRA_WIFI_STATE = "wifi_state";
441    field public static final String NETWORK_IDS_CHANGED_ACTION = "android.net.wifi.NETWORK_IDS_CHANGED";
442    field public static final String NETWORK_STATE_CHANGED_ACTION = "android.net.wifi.STATE_CHANGE";
443    field public static final String RSSI_CHANGED_ACTION = "android.net.wifi.RSSI_CHANGED";
444    field public static final String SCAN_RESULTS_AVAILABLE_ACTION = "android.net.wifi.SCAN_RESULTS";
445    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_DUPLICATE = 3; // 0x3
446    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_EXCEEDS_MAX_PER_APP = 4; // 0x4
447    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_INVALID = 7; // 0x7
448    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_NOT_ALLOWED = 6; // 0x6
449    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_APP_DISALLOWED = 2; // 0x2
450    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_INTERNAL = 1; // 0x1
451    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_REMOVE_INVALID = 5; // 0x5
452    field public static final int STATUS_NETWORK_SUGGESTIONS_SUCCESS = 0; // 0x0
453    field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_CARRIER_PRIVILEGE = 4; // 0x4
454    field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER = 2; // 0x2
455    field public static final int STATUS_SUGGESTION_APPROVAL_PENDING = 1; // 0x1
456    field public static final int STATUS_SUGGESTION_APPROVAL_REJECTED_BY_USER = 3; // 0x3
457    field public static final int STATUS_SUGGESTION_APPROVAL_UNKNOWN = 0; // 0x0
458    field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_ASSOCIATION = 1; // 0x1
459    field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_AUTHENTICATION = 2; // 0x2
460    field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_IP_PROVISIONING = 3; // 0x3
461    field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_UNKNOWN = 0; // 0x0
462    field @Deprecated public static final String SUPPLICANT_CONNECTION_CHANGE_ACTION = "android.net.wifi.supplicant.CONNECTION_CHANGE";
463    field @Deprecated public static final String SUPPLICANT_STATE_CHANGED_ACTION = "android.net.wifi.supplicant.STATE_CHANGE";
464    field public static final String UNKNOWN_SSID = "<unknown ssid>";
465    field @Deprecated public static final int WIFI_MODE_FULL = 1; // 0x1
466    field public static final int WIFI_MODE_FULL_HIGH_PERF = 3; // 0x3
467    field public static final int WIFI_MODE_FULL_LOW_LATENCY = 4; // 0x4
468    field @Deprecated public static final int WIFI_MODE_SCAN_ONLY = 2; // 0x2
469    field public static final String WIFI_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_STATE_CHANGED";
470    field public static final int WIFI_STATE_DISABLED = 1; // 0x1
471    field public static final int WIFI_STATE_DISABLING = 0; // 0x0
472    field public static final int WIFI_STATE_ENABLED = 3; // 0x3
473    field public static final int WIFI_STATE_ENABLING = 2; // 0x2
474    field public static final int WIFI_STATE_UNKNOWN = 4; // 0x4
475    field @Deprecated public static final int WPS_AUTH_FAILURE = 6; // 0x6
476    field @Deprecated public static final int WPS_OVERLAP_ERROR = 3; // 0x3
477    field @Deprecated public static final int WPS_TIMED_OUT = 7; // 0x7
478    field @Deprecated public static final int WPS_TKIP_ONLY_PROHIBITED = 5; // 0x5
479    field @Deprecated public static final int WPS_WEP_PROHIBITED = 4; // 0x4
480  }
481
482  public static final class WifiManager.AddNetworkResult implements android.os.Parcelable {
483    ctor public WifiManager.AddNetworkResult(int, int);
484    method public int describeContents();
485    method public void writeToParcel(@NonNull android.os.Parcel, int);
486    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiManager.AddNetworkResult> CREATOR;
487    field public static final int STATUS_ADD_PASSPOINT_FAILURE = 3; // 0x3
488    field public static final int STATUS_ADD_WIFI_CONFIG_FAILURE = 4; // 0x4
489    field public static final int STATUS_FAILURE_UNKNOWN = 1; // 0x1
490    field public static final int STATUS_FAILURE_UPDATE_NETWORK_KEYS = 9; // 0x9
491    field public static final int STATUS_INVALID_CONFIGURATION = 5; // 0x5
492    field public static final int STATUS_INVALID_CONFIGURATION_ENTERPRISE = 10; // 0xa
493    field public static final int STATUS_NO_PERMISSION = 2; // 0x2
494    field public static final int STATUS_NO_PERMISSION_MODIFY_CONFIG = 6; // 0x6
495    field public static final int STATUS_NO_PERMISSION_MODIFY_MAC_RANDOMIZATION = 8; // 0x8
496    field public static final int STATUS_NO_PERMISSION_MODIFY_PROXY_SETTING = 7; // 0x7
497    field public static final int STATUS_SUCCESS = 0; // 0x0
498    field public final int networkId;
499    field public final int statusCode;
500  }
501
502  public static class WifiManager.LocalOnlyHotspotCallback {
503    ctor public WifiManager.LocalOnlyHotspotCallback();
504    method public void onFailed(int);
505    method public void onStarted(android.net.wifi.WifiManager.LocalOnlyHotspotReservation);
506    method public void onStopped();
507    field public static final int ERROR_GENERIC = 2; // 0x2
508    field public static final int ERROR_INCOMPATIBLE_MODE = 3; // 0x3
509    field public static final int ERROR_NO_CHANNEL = 1; // 0x1
510    field public static final int ERROR_TETHERING_DISALLOWED = 4; // 0x4
511  }
512
513  public class WifiManager.LocalOnlyHotspotReservation implements java.lang.AutoCloseable {
514    method public void close();
515    method @NonNull public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
516    method @Deprecated @Nullable public android.net.wifi.WifiConfiguration getWifiConfiguration();
517  }
518
519  public class WifiManager.MulticastLock {
520    method public void acquire();
521    method public boolean isHeld();
522    method public void release();
523    method public void setReferenceCounted(boolean);
524  }
525
526  public abstract static class WifiManager.ScanResultsCallback {
527    ctor public WifiManager.ScanResultsCallback();
528    method public abstract void onScanResultsAvailable();
529  }
530
531  public abstract static class WifiManager.SubsystemRestartTrackingCallback {
532    ctor public WifiManager.SubsystemRestartTrackingCallback();
533    method public abstract void onSubsystemRestarted();
534    method public abstract void onSubsystemRestarting();
535  }
536
537  public static interface WifiManager.SuggestionConnectionStatusListener {
538    method public void onConnectionStatus(@NonNull android.net.wifi.WifiNetworkSuggestion, int);
539  }
540
541  public static interface WifiManager.SuggestionUserApprovalStatusListener {
542    method public void onUserApprovalStatusChange(int);
543  }
544
545  public class WifiManager.WifiLock {
546    method public void acquire();
547    method public boolean isHeld();
548    method public void release();
549    method public void setReferenceCounted(boolean);
550    method public void setWorkSource(android.os.WorkSource);
551  }
552
553  @Deprecated public abstract static class WifiManager.WpsCallback {
554    ctor @Deprecated public WifiManager.WpsCallback();
555    method @Deprecated public abstract void onFailed(int);
556    method @Deprecated public abstract void onStarted(String);
557    method @Deprecated public abstract void onSucceeded();
558  }
559
560  public final class WifiNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
561    method public int describeContents();
562    method public int getBand();
563    method public void writeToParcel(android.os.Parcel, int);
564    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSpecifier> CREATOR;
565  }
566
567  public static final class WifiNetworkSpecifier.Builder {
568    ctor public WifiNetworkSpecifier.Builder();
569    method @NonNull public android.net.wifi.WifiNetworkSpecifier build();
570    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBand(int);
571    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBssid(@NonNull android.net.MacAddress);
572    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBssidPattern(@NonNull android.net.MacAddress, @NonNull android.net.MacAddress);
573    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsEnhancedOpen(boolean);
574    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsHiddenSsid(boolean);
575    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setSsid(@NonNull String);
576    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setSsidPattern(@NonNull android.os.PatternMatcher);
577    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa2EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
578    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa2Passphrase(@NonNull String);
579    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3Enterprise192BitModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
580    method @Deprecated @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
581    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3EnterpriseStandardModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
582    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3Passphrase(@NonNull String);
583  }
584
585  public final class WifiNetworkSuggestion implements android.os.Parcelable {
586    method public int describeContents();
587    method @Nullable public android.net.MacAddress getBssid();
588    method @Nullable public android.net.wifi.WifiEnterpriseConfig getEnterpriseConfig();
589    method @Nullable public String getPassphrase();
590    method @Nullable public android.net.wifi.hotspot2.PasspointConfiguration getPasspointConfig();
591    method @IntRange(from=0) public int getPriority();
592    method @IntRange(from=0) public int getPriorityGroup();
593    method @Nullable public String getSsid();
594    method public int getSubscriptionId();
595    method public boolean isAppInteractionRequired();
596    method public boolean isCarrierMerged();
597    method public boolean isCredentialSharedWithUser();
598    method public boolean isEnhancedOpen();
599    method public boolean isHiddenSsid();
600    method public boolean isInitialAutojoinEnabled();
601    method public boolean isMetered();
602    method public boolean isUntrusted();
603    method public boolean isUserInteractionRequired();
604    method public void writeToParcel(android.os.Parcel, int);
605    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSuggestion> CREATOR;
606    field public static final int RANDOMIZATION_NON_PERSISTENT = 1; // 0x1
607    field public static final int RANDOMIZATION_PERSISTENT = 0; // 0x0
608  }
609
610  public static final class WifiNetworkSuggestion.Builder {
611    ctor public WifiNetworkSuggestion.Builder();
612    method @NonNull public android.net.wifi.WifiNetworkSuggestion build();
613    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setBssid(@NonNull android.net.MacAddress);
614    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierMerged(boolean);
615    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setCredentialSharedWithUser(boolean);
616    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsAppInteractionRequired(boolean);
617    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsEnhancedOpen(boolean);
618    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsHiddenSsid(boolean);
619    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsInitialAutojoinEnabled(boolean);
620    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsMetered(boolean);
621    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsUserInteractionRequired(boolean);
622    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsWpa3SaeH2eOnlyModeEnabled(boolean);
623    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setMacRandomizationSetting(int);
624    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPasspointConfig(@NonNull android.net.wifi.hotspot2.PasspointConfiguration);
625    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriority(@IntRange(from=0) int);
626    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriorityGroup(@IntRange(from=0) int);
627    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSsid(@NonNull String);
628    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSubscriptionId(int);
629    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setUntrusted(boolean);
630    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiEnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
631    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiPassphrase(@NonNull String);
632    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
633    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2Passphrase(@NonNull String);
634    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3Enterprise192BitModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
635    method @Deprecated @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
636    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3EnterpriseStandardModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
637    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3Passphrase(@NonNull String);
638  }
639
640  public class WpsInfo implements android.os.Parcelable {
641    ctor public WpsInfo();
642    ctor public WpsInfo(android.net.wifi.WpsInfo);
643    method public int describeContents();
644    method public void writeToParcel(android.os.Parcel, int);
645    field public String BSSID;
646    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WpsInfo> CREATOR;
647    field public static final int DISPLAY = 1; // 0x1
648    field public static final int INVALID = 4; // 0x4
649    field public static final int KEYPAD = 2; // 0x2
650    field public static final int LABEL = 3; // 0x3
651    field public static final int PBC = 0; // 0x0
652    field public String pin;
653    field public int setup;
654  }
655
656}
657
658package android.net.wifi.aware {
659
660  public class AttachCallback {
661    ctor public AttachCallback();
662    method public void onAttachFailed();
663    method public void onAttached(android.net.wifi.aware.WifiAwareSession);
664  }
665
666  public final class AwareResources implements android.os.Parcelable {
667    ctor public AwareResources(@IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int);
668    method public int describeContents();
669    method @IntRange(from=0) public int getAvailableDataPathsCount();
670    method @IntRange(from=0) public int getAvailablePublishSessionsCount();
671    method @IntRange(from=0) public int getAvailableSubscribeSessionsCount();
672    method public void writeToParcel(@NonNull android.os.Parcel, int);
673    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.AwareResources> CREATOR;
674  }
675
676  public final class Characteristics implements android.os.Parcelable {
677    method public int describeContents();
678    method public int getMaxMatchFilterLength();
679    method public int getMaxServiceNameLength();
680    method public int getMaxServiceSpecificInfoLength();
681    method public int getSupportedCipherSuites();
682    method public boolean isInstantCommunicationModeSupported();
683    method public void writeToParcel(android.os.Parcel, int);
684    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.Characteristics> CREATOR;
685    field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_SK_128 = 1; // 0x1
686    field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_SK_256 = 2; // 0x2
687  }
688
689  public class DiscoverySession implements java.lang.AutoCloseable {
690    method public void close();
691    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierOpen(@NonNull android.net.wifi.aware.PeerHandle);
692    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPassphrase(@NonNull android.net.wifi.aware.PeerHandle, @NonNull String);
693    method public void sendMessage(@NonNull android.net.wifi.aware.PeerHandle, int, @Nullable byte[]);
694  }
695
696  public class DiscoverySessionCallback {
697    ctor public DiscoverySessionCallback();
698    method public void onMessageReceived(android.net.wifi.aware.PeerHandle, byte[]);
699    method public void onMessageSendFailed(int);
700    method public void onMessageSendSucceeded(int);
701    method public void onPublishStarted(@NonNull android.net.wifi.aware.PublishDiscoverySession);
702    method public void onServiceDiscovered(android.net.wifi.aware.PeerHandle, byte[], java.util.List<byte[]>);
703    method public void onServiceDiscoveredWithinRange(android.net.wifi.aware.PeerHandle, byte[], java.util.List<byte[]>, int);
704    method public void onServiceLost(@NonNull android.net.wifi.aware.PeerHandle, int);
705    method public void onSessionConfigFailed();
706    method public void onSessionConfigUpdated();
707    method public void onSessionTerminated();
708    method public void onSubscribeStarted(@NonNull android.net.wifi.aware.SubscribeDiscoverySession);
709  }
710
711  public class IdentityChangedListener {
712    ctor public IdentityChangedListener();
713    method public void onIdentityChanged(byte[]);
714  }
715
716  public final class ParcelablePeerHandle extends android.net.wifi.aware.PeerHandle implements android.os.Parcelable {
717    ctor public ParcelablePeerHandle(@NonNull android.net.wifi.aware.PeerHandle);
718    method public int describeContents();
719    method public void writeToParcel(android.os.Parcel, int);
720    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.ParcelablePeerHandle> CREATOR;
721  }
722
723  public class PeerHandle {
724  }
725
726  public final class PublishConfig implements android.os.Parcelable {
727    method public int describeContents();
728    method public void writeToParcel(android.os.Parcel, int);
729    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.PublishConfig> CREATOR;
730    field public static final int PUBLISH_TYPE_SOLICITED = 1; // 0x1
731    field public static final int PUBLISH_TYPE_UNSOLICITED = 0; // 0x0
732  }
733
734  public static final class PublishConfig.Builder {
735    ctor public PublishConfig.Builder();
736    method public android.net.wifi.aware.PublishConfig build();
737    method public android.net.wifi.aware.PublishConfig.Builder setMatchFilter(@Nullable java.util.List<byte[]>);
738    method public android.net.wifi.aware.PublishConfig.Builder setPublishType(int);
739    method public android.net.wifi.aware.PublishConfig.Builder setRangingEnabled(boolean);
740    method public android.net.wifi.aware.PublishConfig.Builder setServiceName(@NonNull String);
741    method public android.net.wifi.aware.PublishConfig.Builder setServiceSpecificInfo(@Nullable byte[]);
742    method public android.net.wifi.aware.PublishConfig.Builder setTerminateNotificationEnabled(boolean);
743    method public android.net.wifi.aware.PublishConfig.Builder setTtlSec(int);
744  }
745
746  public class PublishDiscoverySession extends android.net.wifi.aware.DiscoverySession {
747    method public void updatePublish(@NonNull android.net.wifi.aware.PublishConfig);
748  }
749
750  public final class SubscribeConfig implements android.os.Parcelable {
751    method public int describeContents();
752    method public void writeToParcel(android.os.Parcel, int);
753    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.SubscribeConfig> CREATOR;
754    field public static final int SUBSCRIBE_TYPE_ACTIVE = 1; // 0x1
755    field public static final int SUBSCRIBE_TYPE_PASSIVE = 0; // 0x0
756  }
757
758  public static final class SubscribeConfig.Builder {
759    ctor public SubscribeConfig.Builder();
760    method public android.net.wifi.aware.SubscribeConfig build();
761    method public android.net.wifi.aware.SubscribeConfig.Builder setMatchFilter(@Nullable java.util.List<byte[]>);
762    method public android.net.wifi.aware.SubscribeConfig.Builder setMaxDistanceMm(int);
763    method public android.net.wifi.aware.SubscribeConfig.Builder setMinDistanceMm(int);
764    method public android.net.wifi.aware.SubscribeConfig.Builder setServiceName(@NonNull String);
765    method public android.net.wifi.aware.SubscribeConfig.Builder setServiceSpecificInfo(@Nullable byte[]);
766    method public android.net.wifi.aware.SubscribeConfig.Builder setSubscribeType(int);
767    method public android.net.wifi.aware.SubscribeConfig.Builder setTerminateNotificationEnabled(boolean);
768    method public android.net.wifi.aware.SubscribeConfig.Builder setTtlSec(int);
769  }
770
771  public class SubscribeDiscoverySession extends android.net.wifi.aware.DiscoverySession {
772    method public void updateSubscribe(@NonNull android.net.wifi.aware.SubscribeConfig);
773  }
774
775  public class WifiAwareManager {
776    method public void attach(@NonNull android.net.wifi.aware.AttachCallback, @Nullable android.os.Handler);
777    method public void attach(@NonNull android.net.wifi.aware.AttachCallback, @NonNull android.net.wifi.aware.IdentityChangedListener, @Nullable android.os.Handler);
778    method @Nullable public android.net.wifi.aware.AwareResources getAvailableAwareResources();
779    method @Nullable public android.net.wifi.aware.Characteristics getCharacteristics();
780    method public boolean isAvailable();
781    method public boolean isDeviceAttached();
782    method public boolean isInstantCommunicationModeEnabled();
783    field public static final String ACTION_WIFI_AWARE_STATE_CHANGED = "android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED";
784    field public static final int WIFI_AWARE_DATA_PATH_ROLE_INITIATOR = 0; // 0x0
785    field public static final int WIFI_AWARE_DATA_PATH_ROLE_RESPONDER = 1; // 0x1
786    field public static final int WIFI_AWARE_DISCOVERY_LOST_REASON_PEER_NOT_VISIBLE = 1; // 0x1
787    field public static final int WIFI_AWARE_DISCOVERY_LOST_REASON_UNKNOWN = 0; // 0x0
788  }
789
790  public final class WifiAwareNetworkInfo implements android.os.Parcelable android.net.TransportInfo {
791    method public int describeContents();
792    method @Nullable public java.net.Inet6Address getPeerIpv6Addr();
793    method public int getPort();
794    method public int getTransportProtocol();
795    method public void writeToParcel(android.os.Parcel, int);
796    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkInfo> CREATOR;
797  }
798
799  public final class WifiAwareNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
800    method public int describeContents();
801    method public void writeToParcel(android.os.Parcel, int);
802    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkSpecifier> CREATOR;
803  }
804
805  public static final class WifiAwareNetworkSpecifier.Builder {
806    ctor public WifiAwareNetworkSpecifier.Builder(@NonNull android.net.wifi.aware.DiscoverySession, @NonNull android.net.wifi.aware.PeerHandle);
807    ctor public WifiAwareNetworkSpecifier.Builder(@NonNull android.net.wifi.aware.PublishDiscoverySession);
808    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier build();
809    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPmk(@NonNull byte[]);
810    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPort(@IntRange(from=0, to=65535) int);
811    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPskPassphrase(@NonNull String);
812    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setTransportProtocol(@IntRange(from=0, to=255) int);
813  }
814
815  public class WifiAwareSession implements java.lang.AutoCloseable {
816    method public void close();
817    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierOpen(int, @NonNull byte[]);
818    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPassphrase(int, @NonNull byte[], @NonNull String);
819    method public void publish(@NonNull android.net.wifi.aware.PublishConfig, @NonNull android.net.wifi.aware.DiscoverySessionCallback, @Nullable android.os.Handler);
820    method public void subscribe(@NonNull android.net.wifi.aware.SubscribeConfig, @NonNull android.net.wifi.aware.DiscoverySessionCallback, @Nullable android.os.Handler);
821  }
822
823}
824
825package android.net.wifi.hotspot2 {
826
827  public final class ConfigParser {
828    method public static android.net.wifi.hotspot2.PasspointConfiguration parsePasspointConfig(String, byte[]);
829  }
830
831  public final class PasspointConfiguration implements android.os.Parcelable {
832    ctor public PasspointConfiguration();
833    ctor public PasspointConfiguration(android.net.wifi.hotspot2.PasspointConfiguration);
834    method public int describeContents();
835    method public android.net.wifi.hotspot2.pps.Credential getCredential();
836    method @Nullable public String getDecoratedIdentityPrefix();
837    method public android.net.wifi.hotspot2.pps.HomeSp getHomeSp();
838    method public long getSubscriptionExpirationTimeMillis();
839    method @NonNull public String getUniqueId();
840    method public boolean isOsuProvisioned();
841    method public void setCredential(android.net.wifi.hotspot2.pps.Credential);
842    method public void setDecoratedIdentityPrefix(@Nullable String);
843    method public void setHomeSp(android.net.wifi.hotspot2.pps.HomeSp);
844    method public void writeToParcel(android.os.Parcel, int);
845    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.PasspointConfiguration> CREATOR;
846  }
847
848}
849
850package android.net.wifi.hotspot2.omadm {
851
852  public final class PpsMoParser {
853    method public static android.net.wifi.hotspot2.PasspointConfiguration parseMoText(String);
854  }
855
856}
857
858package android.net.wifi.hotspot2.pps {
859
860  public final class Credential implements android.os.Parcelable {
861    ctor public Credential();
862    ctor public Credential(android.net.wifi.hotspot2.pps.Credential);
863    method public int describeContents();
864    method public java.security.cert.X509Certificate getCaCertificate();
865    method public android.net.wifi.hotspot2.pps.Credential.CertificateCredential getCertCredential();
866    method public java.security.cert.X509Certificate[] getClientCertificateChain();
867    method public java.security.PrivateKey getClientPrivateKey();
868    method public String getRealm();
869    method public android.net.wifi.hotspot2.pps.Credential.SimCredential getSimCredential();
870    method public android.net.wifi.hotspot2.pps.Credential.UserCredential getUserCredential();
871    method public void setCaCertificate(java.security.cert.X509Certificate);
872    method public void setCertCredential(android.net.wifi.hotspot2.pps.Credential.CertificateCredential);
873    method public void setClientCertificateChain(java.security.cert.X509Certificate[]);
874    method public void setClientPrivateKey(java.security.PrivateKey);
875    method public void setRealm(String);
876    method public void setSimCredential(android.net.wifi.hotspot2.pps.Credential.SimCredential);
877    method public void setUserCredential(android.net.wifi.hotspot2.pps.Credential.UserCredential);
878    method public void writeToParcel(android.os.Parcel, int);
879    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential> CREATOR;
880  }
881
882  public static final class Credential.CertificateCredential implements android.os.Parcelable {
883    ctor public Credential.CertificateCredential();
884    ctor public Credential.CertificateCredential(android.net.wifi.hotspot2.pps.Credential.CertificateCredential);
885    method public int describeContents();
886    method public byte[] getCertSha256Fingerprint();
887    method public String getCertType();
888    method public void setCertSha256Fingerprint(byte[]);
889    method public void setCertType(String);
890    method public void writeToParcel(android.os.Parcel, int);
891    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.CertificateCredential> CREATOR;
892  }
893
894  public static final class Credential.SimCredential implements android.os.Parcelable {
895    ctor public Credential.SimCredential();
896    ctor public Credential.SimCredential(android.net.wifi.hotspot2.pps.Credential.SimCredential);
897    method public int describeContents();
898    method public int getEapType();
899    method public String getImsi();
900    method public void setEapType(int);
901    method public void setImsi(String);
902    method public void writeToParcel(android.os.Parcel, int);
903    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.SimCredential> CREATOR;
904  }
905
906  public static final class Credential.UserCredential implements android.os.Parcelable {
907    ctor public Credential.UserCredential();
908    ctor public Credential.UserCredential(android.net.wifi.hotspot2.pps.Credential.UserCredential);
909    method public int describeContents();
910    method public int getEapType();
911    method public String getNonEapInnerMethod();
912    method public String getPassword();
913    method public String getUsername();
914    method public void setEapType(int);
915    method public void setNonEapInnerMethod(String);
916    method public void setPassword(String);
917    method public void setUsername(String);
918    method public void writeToParcel(android.os.Parcel, int);
919    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.UserCredential> CREATOR;
920  }
921
922  public final class HomeSp implements android.os.Parcelable {
923    ctor public HomeSp();
924    ctor public HomeSp(android.net.wifi.hotspot2.pps.HomeSp);
925    method public int describeContents();
926    method public String getFqdn();
927    method public String getFriendlyName();
928    method @Nullable public long[] getMatchAllOis();
929    method @Nullable public long[] getMatchAnyOis();
930    method @NonNull public java.util.Collection<java.lang.String> getOtherHomePartnersList();
931    method public long[] getRoamingConsortiumOis();
932    method public void setFqdn(String);
933    method public void setFriendlyName(String);
934    method public void setMatchAllOis(@Nullable long[]);
935    method public void setMatchAnyOis(@Nullable long[]);
936    method public void setOtherHomePartnersList(@NonNull java.util.Collection<java.lang.String>);
937    method public void setRoamingConsortiumOis(long[]);
938    method public void writeToParcel(android.os.Parcel, int);
939    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.HomeSp> CREATOR;
940  }
941
942}
943
944package android.net.wifi.p2p {
945
946  public class WifiP2pConfig implements android.os.Parcelable {
947    ctor public WifiP2pConfig();
948    ctor public WifiP2pConfig(android.net.wifi.p2p.WifiP2pConfig);
949    method public int describeContents();
950    method public int getGroupOwnerBand();
951    method public int getNetworkId();
952    method @Nullable public String getNetworkName();
953    method @Nullable public String getPassphrase();
954    method public void writeToParcel(android.os.Parcel, int);
955    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pConfig> CREATOR;
956    field public static final int GROUP_OWNER_BAND_2GHZ = 1; // 0x1
957    field public static final int GROUP_OWNER_BAND_5GHZ = 2; // 0x2
958    field public static final int GROUP_OWNER_BAND_AUTO = 0; // 0x0
959    field public static final int GROUP_OWNER_INTENT_AUTO = -1; // 0xffffffff
960    field public static final int GROUP_OWNER_INTENT_MAX = 15; // 0xf
961    field public static final int GROUP_OWNER_INTENT_MIN = 0; // 0x0
962    field public String deviceAddress;
963    field @IntRange(from=0, to=15) public int groupOwnerIntent;
964    field public android.net.wifi.WpsInfo wps;
965  }
966
967  public static final class WifiP2pConfig.Builder {
968    ctor public WifiP2pConfig.Builder();
969    method @NonNull public android.net.wifi.p2p.WifiP2pConfig build();
970    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder enablePersistentMode(boolean);
971    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setDeviceAddress(@Nullable android.net.MacAddress);
972    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingBand(int);
973    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingFrequency(int);
974    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setNetworkName(@NonNull String);
975    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setPassphrase(@NonNull String);
976  }
977
978  public class WifiP2pDevice implements android.os.Parcelable {
979    ctor public WifiP2pDevice();
980    ctor public WifiP2pDevice(android.net.wifi.p2p.WifiP2pDevice);
981    method public int describeContents();
982    method @Nullable public android.net.wifi.p2p.WifiP2pWfdInfo getWfdInfo();
983    method public boolean isGroupOwner();
984    method public boolean isServiceDiscoveryCapable();
985    method public void update(@NonNull android.net.wifi.p2p.WifiP2pDevice);
986    method public boolean wpsDisplaySupported();
987    method public boolean wpsKeypadSupported();
988    method public boolean wpsPbcSupported();
989    method public void writeToParcel(android.os.Parcel, int);
990    field public static final int AVAILABLE = 3; // 0x3
991    field public static final int CONNECTED = 0; // 0x0
992    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDevice> CREATOR;
993    field public static final int FAILED = 2; // 0x2
994    field public static final int INVITED = 1; // 0x1
995    field public static final int UNAVAILABLE = 4; // 0x4
996    field public String deviceAddress;
997    field public String deviceName;
998    field public String primaryDeviceType;
999    field public String secondaryDeviceType;
1000    field public int status;
1001  }
1002
1003  public class WifiP2pDeviceList implements android.os.Parcelable {
1004    ctor public WifiP2pDeviceList();
1005    ctor public WifiP2pDeviceList(android.net.wifi.p2p.WifiP2pDeviceList);
1006    method public int describeContents();
1007    method public android.net.wifi.p2p.WifiP2pDevice get(String);
1008    method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getDeviceList();
1009    method public void writeToParcel(android.os.Parcel, int);
1010    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDeviceList> CREATOR;
1011  }
1012
1013  public class WifiP2pGroup implements android.os.Parcelable {
1014    ctor public WifiP2pGroup();
1015    ctor public WifiP2pGroup(android.net.wifi.p2p.WifiP2pGroup);
1016    method public int describeContents();
1017    method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getClientList();
1018    method public int getFrequency();
1019    method public String getInterface();
1020    method public int getNetworkId();
1021    method public String getNetworkName();
1022    method public android.net.wifi.p2p.WifiP2pDevice getOwner();
1023    method public String getPassphrase();
1024    method public boolean isGroupOwner();
1025    method public void writeToParcel(android.os.Parcel, int);
1026    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroup> CREATOR;
1027    field public static final int NETWORK_ID_PERSISTENT = -2; // 0xfffffffe
1028    field public static final int NETWORK_ID_TEMPORARY = -1; // 0xffffffff
1029  }
1030
1031  public class WifiP2pInfo implements android.os.Parcelable {
1032    ctor public WifiP2pInfo();
1033    ctor public WifiP2pInfo(android.net.wifi.p2p.WifiP2pInfo);
1034    method public int describeContents();
1035    method public void writeToParcel(android.os.Parcel, int);
1036    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pInfo> CREATOR;
1037    field public boolean groupFormed;
1038    field public java.net.InetAddress groupOwnerAddress;
1039    field public boolean isGroupOwner;
1040  }
1041
1042  public class WifiP2pManager {
1043    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void addLocalService(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceInfo, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1044    method public void addServiceRequest(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceRequest, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1045    method public void cancelConnect(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1046    method public void clearLocalServices(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1047    method public void clearServiceRequests(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1048    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void connect(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pConfig, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1049    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void createGroup(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1050    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void createGroup(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pConfig, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1051    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void discoverPeers(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1052    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void discoverServices(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1053    method public android.net.wifi.p2p.WifiP2pManager.Channel initialize(android.content.Context, android.os.Looper, android.net.wifi.p2p.WifiP2pManager.ChannelListener);
1054    method public void removeGroup(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1055    method public void removeLocalService(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceInfo, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1056    method public void removeServiceRequest(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceRequest, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1057    method public void requestConnectionInfo(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ConnectionInfoListener);
1058    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void requestDeviceInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.DeviceInfoListener);
1059    method public void requestDiscoveryState(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.DiscoveryStateListener);
1060    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void requestGroupInfo(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.GroupInfoListener);
1061    method public void requestNetworkInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.NetworkInfoListener);
1062    method public void requestP2pState(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.P2pStateListener);
1063    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void requestPeers(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.PeerListListener);
1064    method public void setDnsSdResponseListeners(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.DnsSdServiceResponseListener, android.net.wifi.p2p.WifiP2pManager.DnsSdTxtRecordListener);
1065    method public void setServiceResponseListener(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ServiceResponseListener);
1066    method public void setUpnpServiceResponseListener(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.UpnpServiceResponseListener);
1067    method public void stopPeerDiscovery(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1068    field public static final int BUSY = 2; // 0x2
1069    field public static final int ERROR = 0; // 0x0
1070    field public static final String EXTRA_DISCOVERY_STATE = "discoveryState";
1071    field public static final String EXTRA_NETWORK_INFO = "networkInfo";
1072    field public static final String EXTRA_P2P_DEVICE_LIST = "wifiP2pDeviceList";
1073    field public static final String EXTRA_WIFI_P2P_DEVICE = "wifiP2pDevice";
1074    field public static final String EXTRA_WIFI_P2P_GROUP = "p2pGroupInfo";
1075    field public static final String EXTRA_WIFI_P2P_INFO = "wifiP2pInfo";
1076    field public static final String EXTRA_WIFI_STATE = "wifi_p2p_state";
1077    field public static final int NO_SERVICE_REQUESTS = 3; // 0x3
1078    field public static final int P2P_UNSUPPORTED = 1; // 0x1
1079    field public static final String WIFI_P2P_CONNECTION_CHANGED_ACTION = "android.net.wifi.p2p.CONNECTION_STATE_CHANGE";
1080    field public static final String WIFI_P2P_DISCOVERY_CHANGED_ACTION = "android.net.wifi.p2p.DISCOVERY_STATE_CHANGE";
1081    field public static final int WIFI_P2P_DISCOVERY_STARTED = 2; // 0x2
1082    field public static final int WIFI_P2P_DISCOVERY_STOPPED = 1; // 0x1
1083    field public static final String WIFI_P2P_PEERS_CHANGED_ACTION = "android.net.wifi.p2p.PEERS_CHANGED";
1084    field public static final String WIFI_P2P_STATE_CHANGED_ACTION = "android.net.wifi.p2p.STATE_CHANGED";
1085    field public static final int WIFI_P2P_STATE_DISABLED = 1; // 0x1
1086    field public static final int WIFI_P2P_STATE_ENABLED = 2; // 0x2
1087    field public static final String WIFI_P2P_THIS_DEVICE_CHANGED_ACTION = "android.net.wifi.p2p.THIS_DEVICE_CHANGED";
1088  }
1089
1090  public static interface WifiP2pManager.ActionListener {
1091    method public void onFailure(int);
1092    method public void onSuccess();
1093  }
1094
1095  public static class WifiP2pManager.Channel implements java.lang.AutoCloseable {
1096    method public void close();
1097  }
1098
1099  public static interface WifiP2pManager.ChannelListener {
1100    method public void onChannelDisconnected();
1101  }
1102
1103  public static interface WifiP2pManager.ConnectionInfoListener {
1104    method public void onConnectionInfoAvailable(android.net.wifi.p2p.WifiP2pInfo);
1105  }
1106
1107  public static interface WifiP2pManager.DeviceInfoListener {
1108    method public void onDeviceInfoAvailable(@Nullable android.net.wifi.p2p.WifiP2pDevice);
1109  }
1110
1111  public static interface WifiP2pManager.DiscoveryStateListener {
1112    method public void onDiscoveryStateAvailable(int);
1113  }
1114
1115  public static interface WifiP2pManager.DnsSdServiceResponseListener {
1116    method public void onDnsSdServiceAvailable(String, String, android.net.wifi.p2p.WifiP2pDevice);
1117  }
1118
1119  public static interface WifiP2pManager.DnsSdTxtRecordListener {
1120    method public void onDnsSdTxtRecordAvailable(String, java.util.Map<java.lang.String,java.lang.String>, android.net.wifi.p2p.WifiP2pDevice);
1121  }
1122
1123  public static interface WifiP2pManager.GroupInfoListener {
1124    method public void onGroupInfoAvailable(android.net.wifi.p2p.WifiP2pGroup);
1125  }
1126
1127  public static interface WifiP2pManager.NetworkInfoListener {
1128    method public void onNetworkInfoAvailable(@NonNull android.net.NetworkInfo);
1129  }
1130
1131  public static interface WifiP2pManager.P2pStateListener {
1132    method public void onP2pStateAvailable(int);
1133  }
1134
1135  public static interface WifiP2pManager.PeerListListener {
1136    method public void onPeersAvailable(android.net.wifi.p2p.WifiP2pDeviceList);
1137  }
1138
1139  public static interface WifiP2pManager.ServiceResponseListener {
1140    method public void onServiceAvailable(int, byte[], android.net.wifi.p2p.WifiP2pDevice);
1141  }
1142
1143  public static interface WifiP2pManager.UpnpServiceResponseListener {
1144    method public void onUpnpServiceAvailable(java.util.List<java.lang.String>, android.net.wifi.p2p.WifiP2pDevice);
1145  }
1146
1147  public final class WifiP2pWfdInfo implements android.os.Parcelable {
1148    ctor public WifiP2pWfdInfo();
1149    ctor public WifiP2pWfdInfo(@Nullable android.net.wifi.p2p.WifiP2pWfdInfo);
1150    method public int describeContents();
1151    method public int getControlPort();
1152    method public int getDeviceInfo();
1153    method public int getDeviceType();
1154    method public int getMaxThroughput();
1155    method public int getR2DeviceInfo();
1156    method public int getR2DeviceType();
1157    method public boolean isContentProtectionSupported();
1158    method public boolean isCoupledSinkSupportedAtSink();
1159    method public boolean isCoupledSinkSupportedAtSource();
1160    method public boolean isEnabled();
1161    method public boolean isR2Supported();
1162    method public boolean isSessionAvailable();
1163    method public void setContentProtectionSupported(boolean);
1164    method public void setControlPort(@IntRange(from=0) int);
1165    method public void setCoupledSinkSupportAtSink(boolean);
1166    method public void setCoupledSinkSupportAtSource(boolean);
1167    method public boolean setDeviceType(int);
1168    method public void setEnabled(boolean);
1169    method public void setMaxThroughput(@IntRange(from=0) int);
1170    method public boolean setR2DeviceType(int);
1171    method public void setSessionAvailable(boolean);
1172    method public void writeToParcel(@NonNull android.os.Parcel, int);
1173    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pWfdInfo> CREATOR;
1174    field public static final int DEVICE_INFO_AUDIO_ONLY_SUPPORT_AT_SOURCE = 2048; // 0x800
1175    field public static final int DEVICE_INFO_AUDIO_UNSUPPORTED_AT_PRIMARY_SINK = 1024; // 0x400
1176    field public static final int DEVICE_INFO_CONTENT_PROTECTION_SUPPORT = 256; // 0x100
1177    field public static final int DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SINK = 8; // 0x8
1178    field public static final int DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SOURCE = 4; // 0x4
1179    field public static final int DEVICE_INFO_DEVICE_TYPE_MASK = 3; // 0x3
1180    field public static final int DEVICE_INFO_PREFERRED_CONNECTIVITY_MASK = 128; // 0x80
1181    field public static final int DEVICE_INFO_SESSION_AVAILABLE_MASK = 48; // 0x30
1182    field public static final int DEVICE_INFO_TDLS_PERSISTENT_GROUP = 4096; // 0x1000
1183    field public static final int DEVICE_INFO_TDLS_PERSISTENT_GROUP_REINVOKE = 8192; // 0x2000
1184    field public static final int DEVICE_INFO_TIME_SYNCHRONIZATION_SUPPORT = 512; // 0x200
1185    field public static final int DEVICE_INFO_WFD_SERVICE_DISCOVERY_SUPPORT = 64; // 0x40
1186    field public static final int DEVICE_TYPE_PRIMARY_SINK = 1; // 0x1
1187    field public static final int DEVICE_TYPE_SECONDARY_SINK = 2; // 0x2
1188    field public static final int DEVICE_TYPE_SOURCE_OR_PRIMARY_SINK = 3; // 0x3
1189    field public static final int DEVICE_TYPE_WFD_SOURCE = 0; // 0x0
1190    field public static final int PREFERRED_CONNECTIVITY_P2P = 0; // 0x0
1191    field public static final int PREFERRED_CONNECTIVITY_TDLS = 1; // 0x1
1192  }
1193
1194}
1195
1196package android.net.wifi.p2p.nsd {
1197
1198  public class WifiP2pDnsSdServiceInfo extends android.net.wifi.p2p.nsd.WifiP2pServiceInfo {
1199    method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceInfo newInstance(String, String, java.util.Map<java.lang.String,java.lang.String>);
1200  }
1201
1202  public class WifiP2pDnsSdServiceRequest extends android.net.wifi.p2p.nsd.WifiP2pServiceRequest {
1203    method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance();
1204    method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance(String);
1205    method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance(String, String);
1206  }
1207
1208  public class WifiP2pServiceInfo implements android.os.Parcelable {
1209    method public int describeContents();
1210    method public void writeToParcel(android.os.Parcel, int);
1211    field public static final int SERVICE_TYPE_ALL = 0; // 0x0
1212    field public static final int SERVICE_TYPE_BONJOUR = 1; // 0x1
1213    field public static final int SERVICE_TYPE_UPNP = 2; // 0x2
1214    field public static final int SERVICE_TYPE_VENDOR_SPECIFIC = 255; // 0xff
1215  }
1216
1217  public class WifiP2pServiceRequest implements android.os.Parcelable {
1218    method public int describeContents();
1219    method public static android.net.wifi.p2p.nsd.WifiP2pServiceRequest newInstance(int, String);
1220    method public static android.net.wifi.p2p.nsd.WifiP2pServiceRequest newInstance(int);
1221    method public void writeToParcel(android.os.Parcel, int);
1222  }
1223
1224  public class WifiP2pUpnpServiceInfo extends android.net.wifi.p2p.nsd.WifiP2pServiceInfo {
1225    method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceInfo newInstance(String, String, java.util.List<java.lang.String>);
1226  }
1227
1228  public class WifiP2pUpnpServiceRequest extends android.net.wifi.p2p.nsd.WifiP2pServiceRequest {
1229    method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest newInstance();
1230    method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest newInstance(String);
1231  }
1232
1233}
1234
1235package android.net.wifi.rtt {
1236
1237  public class CivicLocationKeys {
1238    field public static final int ADDITIONAL_CODE = 32; // 0x20
1239    field public static final int APT = 26; // 0x1a
1240    field public static final int BOROUGH = 4; // 0x4
1241    field public static final int BRANCH_ROAD_NAME = 36; // 0x24
1242    field public static final int BUILDING = 25; // 0x19
1243    field public static final int CITY = 3; // 0x3
1244    field public static final int COUNTY = 2; // 0x2
1245    field public static final int DESK = 33; // 0x21
1246    field public static final int FLOOR = 27; // 0x1b
1247    field public static final int GROUP_OF_STREETS = 6; // 0x6
1248    field public static final int HNO = 19; // 0x13
1249    field public static final int HNS = 20; // 0x14
1250    field public static final int LANGUAGE = 0; // 0x0
1251    field public static final int LMK = 21; // 0x15
1252    field public static final int LOC = 22; // 0x16
1253    field public static final int NAM = 23; // 0x17
1254    field public static final int NEIGHBORHOOD = 5; // 0x5
1255    field public static final int PCN = 30; // 0x1e
1256    field public static final int POD = 17; // 0x11
1257    field public static final int POSTAL_CODE = 24; // 0x18
1258    field public static final int PO_BOX = 31; // 0x1f
1259    field public static final int PRD = 16; // 0x10
1260    field public static final int PRIMARY_ROAD_NAME = 34; // 0x22
1261    field public static final int ROAD_SECTION = 35; // 0x23
1262    field public static final int ROOM = 28; // 0x1c
1263    field public static final int SCRIPT = 128; // 0x80
1264    field public static final int STATE = 1; // 0x1
1265    field public static final int STREET_NAME_POST_MODIFIER = 39; // 0x27
1266    field public static final int STREET_NAME_PRE_MODIFIER = 38; // 0x26
1267    field public static final int STS = 18; // 0x12
1268    field public static final int SUBBRANCH_ROAD_NAME = 37; // 0x25
1269    field public static final int TYPE_OF_PLACE = 29; // 0x1d
1270  }
1271
1272  public final class RangingRequest implements android.os.Parcelable {
1273    method public int describeContents();
1274    method public static int getDefaultRttBurstSize();
1275    method public static int getMaxPeers();
1276    method public static int getMaxRttBurstSize();
1277    method public static int getMinRttBurstSize();
1278    method public int getRttBurstSize();
1279    method public void writeToParcel(android.os.Parcel, int);
1280    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingRequest> CREATOR;
1281  }
1282
1283  public static final class RangingRequest.Builder {
1284    ctor public RangingRequest.Builder();
1285    method public android.net.wifi.rtt.RangingRequest.Builder addAccessPoint(@NonNull android.net.wifi.ScanResult);
1286    method public android.net.wifi.rtt.RangingRequest.Builder addAccessPoints(@NonNull java.util.List<android.net.wifi.ScanResult>);
1287    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addNon80211mcCapableAccessPoint(@NonNull android.net.wifi.ScanResult);
1288    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addNon80211mcCapableAccessPoints(@NonNull java.util.List<android.net.wifi.ScanResult>);
1289    method public android.net.wifi.rtt.RangingRequest.Builder addWifiAwarePeer(@NonNull android.net.MacAddress);
1290    method public android.net.wifi.rtt.RangingRequest.Builder addWifiAwarePeer(@NonNull android.net.wifi.aware.PeerHandle);
1291    method public android.net.wifi.rtt.RangingRequest build();
1292    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder setRttBurstSize(int);
1293  }
1294
1295  public final class RangingResult implements android.os.Parcelable {
1296    method public int describeContents();
1297    method public int getDistanceMm();
1298    method public int getDistanceStdDevMm();
1299    method @Nullable public android.net.MacAddress getMacAddress();
1300    method public int getNumAttemptedMeasurements();
1301    method public int getNumSuccessfulMeasurements();
1302    method @Nullable public android.net.wifi.aware.PeerHandle getPeerHandle();
1303    method public long getRangingTimestampMillis();
1304    method public int getRssi();
1305    method public int getStatus();
1306    method @Nullable public android.net.wifi.rtt.ResponderLocation getUnverifiedResponderLocation();
1307    method public boolean is80211mcMeasurement();
1308    method public void writeToParcel(android.os.Parcel, int);
1309    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingResult> CREATOR;
1310    field public static final int STATUS_FAIL = 1; // 0x1
1311    field public static final int STATUS_RESPONDER_DOES_NOT_SUPPORT_IEEE80211MC = 2; // 0x2
1312    field public static final int STATUS_SUCCESS = 0; // 0x0
1313  }
1314
1315  public abstract class RangingResultCallback {
1316    ctor public RangingResultCallback();
1317    method public abstract void onRangingFailure(int);
1318    method public abstract void onRangingResults(@NonNull java.util.List<android.net.wifi.rtt.RangingResult>);
1319    field public static final int STATUS_CODE_FAIL = 1; // 0x1
1320    field public static final int STATUS_CODE_FAIL_RTT_NOT_AVAILABLE = 2; // 0x2
1321  }
1322
1323  public final class ResponderLocation implements android.os.Parcelable {
1324    method public int describeContents();
1325    method public double getAltitude();
1326    method public int getAltitudeType();
1327    method public double getAltitudeUncertainty();
1328    method public java.util.List<android.net.MacAddress> getColocatedBssids();
1329    method public int getDatum();
1330    method public int getExpectedToMove();
1331    method public double getFloorNumber();
1332    method public double getHeightAboveFloorMeters();
1333    method public double getHeightAboveFloorUncertaintyMeters();
1334    method public double getLatitude();
1335    method public double getLatitudeUncertainty();
1336    method public int getLciVersion();
1337    method public double getLongitude();
1338    method public double getLongitudeUncertainty();
1339    method @Nullable public String getMapImageMimeType();
1340    method @Nullable public android.net.Uri getMapImageUri();
1341    method public boolean getRegisteredLocationAgreementIndication();
1342    method public boolean isLciSubelementValid();
1343    method public boolean isZaxisSubelementValid();
1344    method @Nullable public android.location.Address toCivicLocationAddress();
1345    method @Nullable public android.util.SparseArray<java.lang.String> toCivicLocationSparseArray();
1346    method @NonNull public android.location.Location toLocation();
1347    method public void writeToParcel(android.os.Parcel, int);
1348    field public static final int ALTITUDE_FLOORS = 2; // 0x2
1349    field public static final int ALTITUDE_METERS = 1; // 0x1
1350    field public static final int ALTITUDE_UNDEFINED = 0; // 0x0
1351    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderLocation> CREATOR;
1352    field public static final int DATUM_NAD83_MLLW = 3; // 0x3
1353    field public static final int DATUM_NAD83_NAV88 = 2; // 0x2
1354    field public static final int DATUM_UNDEFINED = 0; // 0x0
1355    field public static final int DATUM_WGS84 = 1; // 0x1
1356    field public static final int LCI_VERSION_1 = 1; // 0x1
1357    field public static final int LOCATION_FIXED = 0; // 0x0
1358    field public static final int LOCATION_MOVEMENT_UNKNOWN = 2; // 0x2
1359    field public static final int LOCATION_RESERVED = 3; // 0x3
1360    field public static final int LOCATION_VARIABLE = 1; // 0x1
1361  }
1362
1363  public class WifiRttManager {
1364    method public boolean isAvailable();
1365    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_WIFI_STATE}) public void startRanging(@NonNull android.net.wifi.rtt.RangingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.rtt.RangingResultCallback);
1366    field public static final String ACTION_WIFI_RTT_STATE_CHANGED = "android.net.wifi.rtt.action.WIFI_RTT_STATE_CHANGED";
1367  }
1368
1369}
1370
1371