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