blob: bc549322610a73f1246359305bb06e19ba32c650 [file] [log] [blame]
Anton Hansson180d9562020-01-17 19:03:34 +00001// 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
Sunil Ravib2863002021-01-28 08:52:18 -080010 field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_FAILED_TO_SCAN_NETWORK_CHANNEL = -14; // 0xfffffff2
Anton Hansson180d9562020-01-17 19:03:34 +000011 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
Sunil Ravic16a0742020-11-03 15:14:09 -080018 field public static final int EASY_CONNECT_EVENT_FAILURE_URI_GENERATION = -13; // 0xfffffff3
Anton Hansson180d9562020-01-17 19:03:34 +000019 }
20
Ahmed ElArabawy196d3b32022-02-10 16:47:51 +000021 public final class MloLink implements android.os.Parcelable {
22 ctor public MloLink();
23 method public int describeContents();
Ahmed ElArabawy007e6762022-02-21 16:23:29 -080024 method @Nullable public android.net.MacAddress getApMacAddress();
Ahmed ElArabawy196d3b32022-02-10 16:47:51 +000025 method public int getBand();
Ahmed ElArabawy007e6762022-02-21 16:23:29 -080026 method @IntRange(from=1) public int getChannel();
27 method @IntRange(from=android.net.wifi.MloLink.INVALID_MLO_LINK_ID, to=0xf) public int getLinkId();
Mahesh KKVfe522252022-12-08 07:54:05 -080028 method public int getRssi();
29 method @IntRange(from=0xffffffff) public int getRxLinkSpeedMbps();
Ahmed ElArabawy196d3b32022-02-10 16:47:51 +000030 method @Nullable public android.net.MacAddress getStaMacAddress();
31 method public int getState();
Mahesh KKVfe522252022-12-08 07:54:05 -080032 method @IntRange(from=0xffffffff) public int getTxLinkSpeedMbps();
Ahmed ElArabawy58d6faf2022-02-11 16:33:07 -080033 method public void writeToParcel(@NonNull android.os.Parcel, int);
Ahmed ElArabawy196d3b32022-02-10 16:47:51 +000034 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.MloLink> CREATOR;
Ahmed ElArabawy58d6faf2022-02-11 16:33:07 -080035 field public static final int INVALID_MLO_LINK_ID = -1; // 0xffffffff
Ahmed ElArabawy196d3b32022-02-10 16:47:51 +000036 field public static final int MLO_LINK_STATE_ACTIVE = 3; // 0x3
37 field public static final int MLO_LINK_STATE_IDLE = 2; // 0x2
38 field public static final int MLO_LINK_STATE_INVALID = 0; // 0x0
39 field public static final int MLO_LINK_STATE_UNASSOCIATED = 1; // 0x1
40 }
41
Michael Wrightd58fd392020-03-18 20:07:05 +000042 public final class ScanResult implements android.os.Parcelable {
Anton Hansson180d9562020-01-17 19:03:34 +000043 ctor public ScanResult(@NonNull android.net.wifi.ScanResult);
44 ctor public ScanResult();
leslcbf85f22021-03-18 10:28:16 +080045 method public static int convertChannelToFrequencyMhzIfSupported(int, int);
46 method public static int convertFrequencyMhzToChannelIfSupported(int);
Anton Hansson180d9562020-01-17 19:03:34 +000047 method public int describeContents();
Ahmed ElArabawy196d3b32022-02-10 16:47:51 +000048 method @NonNull public java.util.List<android.net.wifi.MloLink> getAffiliatedMloLinks();
49 method @Nullable public android.net.MacAddress getApMldMacAddress();
Ahmed ElArabawy007e6762022-02-21 16:23:29 -080050 method @IntRange(from=android.net.wifi.MloLink.INVALID_MLO_LINK_ID, to=0xf) public int getApMloLinkId();
Anton Hansson180d9562020-01-17 19:03:34 +000051 method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getInformationElements();
Quang Luong75335862021-08-10 15:28:36 -070052 method @NonNull public int[] getSecurityTypes();
Quang Luong38dc3ea2021-10-12 14:44:18 -070053 method @Nullable public android.net.wifi.WifiSsid getWifiSsid();
Anton Hansson180d9562020-01-17 19:03:34 +000054 method public int getWifiStandard();
Nate Jiang55141c52024-02-15 17:05:24 -080055 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean is80211azNtbResponder();
Anton Hansson180d9562020-01-17 19:03:34 +000056 method public boolean is80211mcResponder();
57 method public boolean isPasspointNetwork();
Mahesh KKVcce73752024-01-31 21:33:57 -080058 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isTwtResponder();
Anton Hansson180d9562020-01-17 19:03:34 +000059 method public void writeToParcel(android.os.Parcel, int);
60 field public String BSSID;
61 field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3
62 field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0
Ahmed ElArabawy9a1bf192021-12-20 11:02:46 -080063 field public static final int CHANNEL_WIDTH_320MHZ = 5; // 0x5
Anton Hansson180d9562020-01-17 19:03:34 +000064 field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
65 field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
66 field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
67 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.ScanResult> CREATOR;
Ahmed ElArabawy9a1bf192021-12-20 11:02:46 -080068 field public static final int PREAMBLE_EHT = 4; // 0x4
Roy Want50deac12021-12-19 15:15:35 -080069 field public static final int PREAMBLE_HE = 3; // 0x3
70 field public static final int PREAMBLE_HT = 1; // 0x1
71 field public static final int PREAMBLE_LEGACY = 0; // 0x0
72 field public static final int PREAMBLE_VHT = 2; // 0x2
Quang Luong38dc3ea2021-10-12 14:44:18 -070073 field @Deprecated public String SSID;
lesl4c3ff122021-02-05 10:59:25 +080074 field public static final int UNSPECIFIED = -1; // 0xffffffff
75 field public static final int WIFI_BAND_24_GHZ = 1; // 0x1
76 field public static final int WIFI_BAND_5_GHZ = 2; // 0x2
77 field public static final int WIFI_BAND_60_GHZ = 16; // 0x10
78 field public static final int WIFI_BAND_6_GHZ = 8; // 0x8
Anton Hansson180d9562020-01-17 19:03:34 +000079 field public static final int WIFI_STANDARD_11AC = 5; // 0x5
Jimmy Chen6713cb02020-11-05 16:31:29 +080080 field public static final int WIFI_STANDARD_11AD = 7; // 0x7
Anton Hansson180d9562020-01-17 19:03:34 +000081 field public static final int WIFI_STANDARD_11AX = 6; // 0x6
Ahmed ElArabawy9a1bf192021-12-20 11:02:46 -080082 field public static final int WIFI_STANDARD_11BE = 8; // 0x8
Anton Hansson180d9562020-01-17 19:03:34 +000083 field public static final int WIFI_STANDARD_11N = 4; // 0x4
84 field public static final int WIFI_STANDARD_LEGACY = 1; // 0x1
85 field public static final int WIFI_STANDARD_UNKNOWN = 0; // 0x0
86 field public String capabilities;
87 field public int centerFreq0;
88 field public int centerFreq1;
89 field public int channelWidth;
90 field public int frequency;
91 field public int level;
Hai Shalom29706142020-12-30 14:46:11 -080092 field @Deprecated public CharSequence operatorFriendlyName;
Anton Hansson180d9562020-01-17 19:03:34 +000093 field public long timestamp;
Hai Shalom29706142020-12-30 14:46:11 -080094 field @Deprecated public CharSequence venueName;
Anton Hansson180d9562020-01-17 19:03:34 +000095 }
96
Roshan Piusc610e1f2021-01-13 15:17:18 +000097 public static class ScanResult.InformationElement implements android.os.Parcelable {
Serik Beketayev29a41e52022-01-31 12:51:49 -080098 ctor public ScanResult.InformationElement(int, int, @NonNull byte[]);
Anton Hansson180d9562020-01-17 19:03:34 +000099 ctor public ScanResult.InformationElement(@NonNull android.net.wifi.ScanResult.InformationElement);
Roshan Piusc610e1f2021-01-13 15:17:18 +0000100 method public int describeContents();
Anton Hansson180d9562020-01-17 19:03:34 +0000101 method @NonNull public java.nio.ByteBuffer getBytes();
102 method public int getId();
103 method public int getIdExt();
Roshan Piusc610e1f2021-01-13 15:17:18 +0000104 method public void writeToParcel(android.os.Parcel, int);
105 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.ScanResult.InformationElement> CREATOR;
Anton Hansson180d9562020-01-17 19:03:34 +0000106 }
107
108 public final class SoftApConfiguration implements android.os.Parcelable {
109 method public int describeContents();
110 method @Nullable public android.net.MacAddress getBssid();
111 method @Nullable public String getPassphrase();
112 method public int getSecurityType();
Quang Luongfedab902021-10-05 15:15:51 -0700113 method @Deprecated @Nullable public String getSsid();
114 method @Nullable public android.net.wifi.WifiSsid getWifiSsid();
Anton Hansson180d9562020-01-17 19:03:34 +0000115 method public boolean isHiddenSsid();
116 method public void writeToParcel(@NonNull android.os.Parcel, int);
117 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApConfiguration> CREATOR;
118 field public static final int SECURITY_TYPE_OPEN = 0; // 0x0
119 field public static final int SECURITY_TYPE_WPA2_PSK = 1; // 0x1
Ahmed ElArabawyf835ae82022-02-04 11:37:00 -0800120 field public static final int SECURITY_TYPE_WPA3_OWE = 5; // 0x5
Purushottam Kushwahae57c5e12021-12-23 12:43:56 +0530121 field public static final int SECURITY_TYPE_WPA3_OWE_TRANSITION = 4; // 0x4
Anton Hansson180d9562020-01-17 19:03:34 +0000122 field public static final int SECURITY_TYPE_WPA3_SAE = 3; // 0x3
123 field public static final int SECURITY_TYPE_WPA3_SAE_TRANSITION = 2; // 0x2
124 }
125
126 public enum SupplicantState implements android.os.Parcelable {
127 method public int describeContents();
128 method public static boolean isValidState(android.net.wifi.SupplicantState);
129 method public void writeToParcel(android.os.Parcel, int);
130 enum_constant public static final android.net.wifi.SupplicantState ASSOCIATED;
131 enum_constant public static final android.net.wifi.SupplicantState ASSOCIATING;
132 enum_constant public static final android.net.wifi.SupplicantState AUTHENTICATING;
133 enum_constant public static final android.net.wifi.SupplicantState COMPLETED;
134 enum_constant public static final android.net.wifi.SupplicantState DISCONNECTED;
135 enum_constant public static final android.net.wifi.SupplicantState DORMANT;
136 enum_constant public static final android.net.wifi.SupplicantState FOUR_WAY_HANDSHAKE;
137 enum_constant public static final android.net.wifi.SupplicantState GROUP_HANDSHAKE;
138 enum_constant public static final android.net.wifi.SupplicantState INACTIVE;
139 enum_constant public static final android.net.wifi.SupplicantState INTERFACE_DISABLED;
140 enum_constant public static final android.net.wifi.SupplicantState INVALID;
141 enum_constant public static final android.net.wifi.SupplicantState SCANNING;
142 enum_constant public static final android.net.wifi.SupplicantState UNINITIALIZED;
143 }
144
Oscar Shudc00d072022-11-16 19:51:46 +0000145 public final class WifiAvailableChannel implements android.os.Parcelable {
146 ctor public WifiAvailableChannel(int, int);
147 method public int describeContents();
maheshkkv1a2ffd52024-05-17 10:26:54 -0700148 method @FlaggedApi("com.android.wifi.flags.get_channel_width_api") public int getChannelWidth();
Oscar Shudc00d072022-11-16 19:51:46 +0000149 method public int getFrequencyMhz();
150 method public int getOperationalModes();
151 method public void writeToParcel(@NonNull android.os.Parcel, int);
152 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiAvailableChannel> CREATOR;
153 field public static final int OP_MODE_SAP = 2; // 0x2
154 field public static final int OP_MODE_STA = 1; // 0x1
155 field public static final int OP_MODE_TDLS = 32; // 0x20
156 field public static final int OP_MODE_WIFI_AWARE = 16; // 0x10
157 field public static final int OP_MODE_WIFI_DIRECT_CLI = 4; // 0x4
158 field public static final int OP_MODE_WIFI_DIRECT_GO = 8; // 0x8
159 }
160
Anton Hansson180d9562020-01-17 19:03:34 +0000161 @Deprecated public class WifiConfiguration implements android.os.Parcelable {
162 ctor @Deprecated public WifiConfiguration();
163 ctor @Deprecated public WifiConfiguration(@NonNull android.net.wifi.WifiConfiguration);
Paul Duffinee938672023-10-12 17:47:01 +0000164 method @Deprecated public int describeContents();
Anton Hansson180d9562020-01-17 19:03:34 +0000165 method @Deprecated public android.net.ProxyInfo getHttpProxy();
166 method @Deprecated @NonNull public String getKey();
Stephanie Bak1ccc1bc2021-12-30 05:13:38 +0000167 method @Deprecated public int getMacRandomizationSetting();
Anton Hansson180d9562020-01-17 19:03:34 +0000168 method @Deprecated @NonNull public android.net.MacAddress getRandomizedMacAddress();
Sunil Ravi07723e22022-02-10 13:47:34 -0800169 method @Deprecated public boolean isDppConfigurator();
Anton Hansson180d9562020-01-17 19:03:34 +0000170 method @Deprecated public boolean isPasspoint();
171 method @Deprecated public void setHttpProxy(android.net.ProxyInfo);
Etan Cohenbb8da022022-02-06 20:50:48 +0000172 method @Deprecated public void setIpConfiguration(@Nullable android.net.IpConfiguration);
Stephanie Bak1ccc1bc2021-12-30 05:13:38 +0000173 method @Deprecated public void setMacRandomizationSetting(int);
Anton Hansson180d9562020-01-17 19:03:34 +0000174 method @Deprecated public void setSecurityParams(int);
Paul Duffinee938672023-10-12 17:47:01 +0000175 method @Deprecated public void writeToParcel(android.os.Parcel, int);
Anton Hansson180d9562020-01-17 19:03:34 +0000176 field @Deprecated public String BSSID;
177 field @Deprecated public String FQDN;
Stephanie Bak1ccc1bc2021-12-30 05:13:38 +0000178 field @Deprecated public static final int RANDOMIZATION_AUTO = 3; // 0x3
179 field @Deprecated public static final int RANDOMIZATION_NONE = 0; // 0x0
180 field @Deprecated public static final int RANDOMIZATION_NON_PERSISTENT = 2; // 0x2
181 field @Deprecated public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
Sunil Ravi07723e22022-02-10 13:47:34 -0800182 field @Deprecated public static final int SECURITY_TYPE_DPP = 13; // 0xd
Anton Hansson180d9562020-01-17 19:03:34 +0000183 field @Deprecated public static final int SECURITY_TYPE_EAP = 3; // 0x3
184 field @Deprecated public static final int SECURITY_TYPE_EAP_SUITE_B = 5; // 0x5
Jimmy Chen74b574b2020-10-20 16:15:46 +0800185 field @Deprecated public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE = 9; // 0x9
Jimmy Chenf88f4392020-11-03 15:10:18 +0800186 field @Deprecated public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT = 5; // 0x5
Anton Hansson180d9562020-01-17 19:03:34 +0000187 field @Deprecated public static final int SECURITY_TYPE_OPEN = 0; // 0x0
188 field @Deprecated public static final int SECURITY_TYPE_OWE = 6; // 0x6
189 field @Deprecated public static final int SECURITY_TYPE_PSK = 2; // 0x2
190 field @Deprecated public static final int SECURITY_TYPE_SAE = 4; // 0x4
191 field @Deprecated public static final int SECURITY_TYPE_WAPI_CERT = 8; // 0x8
192 field @Deprecated public static final int SECURITY_TYPE_WAPI_PSK = 7; // 0x7
193 field @Deprecated public static final int SECURITY_TYPE_WEP = 1; // 0x1
194 field @Deprecated public String SSID;
195 field @Deprecated @NonNull public java.util.BitSet allowedAuthAlgorithms;
196 field @Deprecated @NonNull public java.util.BitSet allowedGroupCiphers;
197 field @Deprecated @NonNull public java.util.BitSet allowedGroupManagementCiphers;
198 field @Deprecated @NonNull public java.util.BitSet allowedKeyManagement;
199 field @Deprecated @NonNull public java.util.BitSet allowedPairwiseCiphers;
200 field @Deprecated @NonNull public java.util.BitSet allowedProtocols;
201 field @Deprecated @NonNull public java.util.BitSet allowedSuiteBCiphers;
202 field @Deprecated public android.net.wifi.WifiEnterpriseConfig enterpriseConfig;
203 field @Deprecated public boolean hiddenSSID;
204 field @Deprecated public boolean isHomeProviderNetwork;
205 field @Deprecated public int networkId;
206 field @Deprecated public String preSharedKey;
207 field @Deprecated public int priority;
208 field @Deprecated public String providerFriendlyName;
209 field @Deprecated public long[] roamingConsortiumIds;
210 field @Deprecated public int status;
211 field @Deprecated public String[] wepKeys;
212 field @Deprecated public int wepTxKeyIndex;
213 }
214
215 @Deprecated public static class WifiConfiguration.AuthAlgorithm {
216 field @Deprecated public static final int LEAP = 2; // 0x2
217 field @Deprecated public static final int OPEN = 0; // 0x0
218 field @Deprecated public static final int SAE = 3; // 0x3
219 field @Deprecated public static final int SHARED = 1; // 0x1
220 field @Deprecated public static final String[] strings;
221 field @Deprecated public static final String varName = "auth_alg";
222 }
223
224 @Deprecated public static class WifiConfiguration.GroupCipher {
225 field @Deprecated public static final int CCMP = 3; // 0x3
Jimmy Chendf2c5872020-01-07 17:54:09 +0200226 field @Deprecated public static final int GCMP_128 = 7; // 0x7
Anton Hansson180d9562020-01-17 19:03:34 +0000227 field @Deprecated public static final int GCMP_256 = 5; // 0x5
228 field @Deprecated public static final int SMS4 = 6; // 0x6
229 field @Deprecated public static final int TKIP = 2; // 0x2
230 field @Deprecated public static final int WEP104 = 1; // 0x1
231 field @Deprecated public static final int WEP40 = 0; // 0x0
232 field @Deprecated public static final String[] strings;
233 field @Deprecated public static final String varName = "group";
234 }
235
236 @Deprecated public static class WifiConfiguration.GroupMgmtCipher {
237 field @Deprecated public static final int BIP_CMAC_256 = 0; // 0x0
238 field @Deprecated public static final int BIP_GMAC_128 = 1; // 0x1
239 field @Deprecated public static final int BIP_GMAC_256 = 2; // 0x2
240 }
241
242 @Deprecated public static class WifiConfiguration.KeyMgmt {
Oscar Shu93750b52023-02-07 23:37:29 +0000243 field @Deprecated public static final int DPP = 17; // 0x11
244 field @Deprecated public static final int FILS_SHA256 = 15; // 0xf
245 field @Deprecated public static final int FILS_SHA384 = 16; // 0x10
246 field @Deprecated public static final int FT_EAP = 7; // 0x7
247 field @Deprecated public static final int FT_PSK = 6; // 0x6
Anton Hansson180d9562020-01-17 19:03:34 +0000248 field @Deprecated public static final int IEEE8021X = 3; // 0x3
249 field @Deprecated public static final int NONE = 0; // 0x0
Oscar Shu93750b52023-02-07 23:37:29 +0000250 field @Deprecated public static final int OSEN = 5; // 0x5
Anton Hansson180d9562020-01-17 19:03:34 +0000251 field @Deprecated public static final int OWE = 9; // 0x9
252 field @Deprecated public static final int SAE = 8; // 0x8
253 field @Deprecated public static final int SUITE_B_192 = 10; // 0xa
Oscar Shu93750b52023-02-07 23:37:29 +0000254 field @Deprecated public static final int WAPI_CERT = 14; // 0xe
255 field @Deprecated public static final int WAPI_PSK = 13; // 0xd
256 field @Deprecated public static final int WPA2_PSK = 4; // 0x4
Anton Hansson180d9562020-01-17 19:03:34 +0000257 field @Deprecated public static final int WPA_EAP = 2; // 0x2
Oscar Shu93750b52023-02-07 23:37:29 +0000258 field @Deprecated public static final int WPA_EAP_SHA256 = 12; // 0xc
Anton Hansson180d9562020-01-17 19:03:34 +0000259 field @Deprecated public static final int WPA_PSK = 1; // 0x1
Oscar Shu93750b52023-02-07 23:37:29 +0000260 field @Deprecated public static final int WPA_PSK_SHA256 = 11; // 0xb
Anton Hansson180d9562020-01-17 19:03:34 +0000261 field @Deprecated public static final String[] strings;
262 field @Deprecated public static final String varName = "key_mgmt";
263 }
264
265 @Deprecated public static class WifiConfiguration.PairwiseCipher {
266 field @Deprecated public static final int CCMP = 2; // 0x2
Jimmy Chendf2c5872020-01-07 17:54:09 +0200267 field @Deprecated public static final int GCMP_128 = 5; // 0x5
Anton Hansson180d9562020-01-17 19:03:34 +0000268 field @Deprecated public static final int GCMP_256 = 3; // 0x3
269 field @Deprecated public static final int NONE = 0; // 0x0
270 field @Deprecated public static final int SMS4 = 4; // 0x4
271 field @Deprecated public static final int TKIP = 1; // 0x1
272 field @Deprecated public static final String[] strings;
273 field @Deprecated public static final String varName = "pairwise";
274 }
275
276 @Deprecated public static class WifiConfiguration.Protocol {
277 field @Deprecated public static final int RSN = 1; // 0x1
278 field @Deprecated public static final int WAPI = 3; // 0x3
279 field @Deprecated public static final int WPA = 0; // 0x0
280 field @Deprecated public static final String[] strings;
281 field @Deprecated public static final String varName = "proto";
282 }
283
284 @Deprecated public static class WifiConfiguration.Status {
285 field @Deprecated public static final int CURRENT = 0; // 0x0
286 field @Deprecated public static final int DISABLED = 1; // 0x1
287 field @Deprecated public static final int ENABLED = 2; // 0x2
288 field @Deprecated public static final String[] strings;
289 }
290
291 public class WifiEnterpriseConfig implements android.os.Parcelable {
292 ctor public WifiEnterpriseConfig();
293 ctor public WifiEnterpriseConfig(android.net.wifi.WifiEnterpriseConfig);
294 method public int describeContents();
Jimmy Chen05ac9a82021-11-04 22:42:23 +0800295 method public void enableTrustOnFirstUse(boolean);
Anton Hansson180d9562020-01-17 19:03:34 +0000296 method public String getAltSubjectMatch();
297 method public String getAnonymousIdentity();
298 method @Nullable public java.security.cert.X509Certificate getCaCertificate();
299 method @Nullable public java.security.cert.X509Certificate[] getCaCertificates();
300 method public java.security.cert.X509Certificate getClientCertificate();
301 method @Nullable public java.security.cert.X509Certificate[] getClientCertificateChain();
Pavel Grafov5563d8e2021-01-18 14:23:56 +0000302 method @Nullable public String getClientKeyPairAlias();
Anton Hansson180d9562020-01-17 19:03:34 +0000303 method @Nullable public java.security.PrivateKey getClientPrivateKey();
Hai Shalom1c6098e2021-04-14 17:50:44 -0700304 method @Nullable public String getDecoratedIdentityPrefix();
Anton Hansson180d9562020-01-17 19:03:34 +0000305 method public String getDomainSuffixMatch();
306 method public int getEapMethod();
307 method public String getIdentity();
Jimmy Chencf2693c2022-10-06 15:39:02 +0800308 method public int getMinimumTlsVersion();
Anton Hansson180d9562020-01-17 19:03:34 +0000309 method public String getPassword();
310 method public int getPhase2Method();
311 method public String getPlmn();
312 method public String getRealm();
313 method @Deprecated public String getSubjectMatch();
Jimmy Chen05ac9a82021-11-04 22:42:23 +0800314 method public boolean hasCaCertificate();
Anton Hansson180d9562020-01-17 19:03:34 +0000315 method public boolean isAuthenticationSimBased();
Nate Jiang3e6e2f22021-03-05 12:35:31 -0800316 method public boolean isEapMethodServerCertUsed();
Nate Jiangbfc47c52020-12-22 17:11:12 -0800317 method public boolean isServerCertValidationEnabled();
Jimmy Chen05ac9a82021-11-04 22:42:23 +0800318 method public boolean isTrustOnFirstUseEnabled();
Anton Hansson180d9562020-01-17 19:03:34 +0000319 method public void setAltSubjectMatch(String);
320 method public void setAnonymousIdentity(String);
321 method public void setCaCertificate(@Nullable java.security.cert.X509Certificate);
322 method public void setCaCertificates(@Nullable java.security.cert.X509Certificate[]);
323 method public void setClientKeyEntry(java.security.PrivateKey, java.security.cert.X509Certificate);
324 method public void setClientKeyEntryWithCertificateChain(java.security.PrivateKey, java.security.cert.X509Certificate[]);
Pavel Grafov5563d8e2021-01-18 14:23:56 +0000325 method public void setClientKeyPairAlias(@NonNull String);
Hai Shalom1d362632021-03-12 15:00:50 -0800326 method public void setDecoratedIdentityPrefix(@Nullable String);
Anton Hansson180d9562020-01-17 19:03:34 +0000327 method public void setDomainSuffixMatch(String);
328 method public void setEapMethod(int);
329 method public void setIdentity(String);
Jimmy Chencf2693c2022-10-06 15:39:02 +0800330 method public void setMinimumTlsVersion(int) throws java.lang.IllegalArgumentException;
Anton Hansson180d9562020-01-17 19:03:34 +0000331 method public void setPassword(String);
332 method public void setPhase2Method(int);
333 method public void setPlmn(String);
334 method public void setRealm(String);
335 method @Deprecated public void setSubjectMatch(String);
336 method public void writeToParcel(android.os.Parcel, int);
337 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiEnterpriseConfig> CREATOR;
338 field public static final String EXTRA_WAPI_AS_CERTIFICATE_DATA = "android.net.wifi.extra.WAPI_AS_CERTIFICATE_DATA";
339 field public static final String EXTRA_WAPI_AS_CERTIFICATE_NAME = "android.net.wifi.extra.WAPI_AS_CERTIFICATE_NAME";
340 field public static final String EXTRA_WAPI_USER_CERTIFICATE_DATA = "android.net.wifi.extra.WAPI_USER_CERTIFICATE_DATA";
341 field public static final String EXTRA_WAPI_USER_CERTIFICATE_NAME = "android.net.wifi.extra.WAPI_USER_CERTIFICATE_NAME";
Jimmy Chencf2693c2022-10-06 15:39:02 +0800342 field public static final int TLS_V1_0 = 0; // 0x0
343 field public static final int TLS_V1_1 = 1; // 0x1
344 field public static final int TLS_V1_2 = 2; // 0x2
345 field public static final int TLS_V1_3 = 3; // 0x3
Anton Hansson180d9562020-01-17 19:03:34 +0000346 field public static final String WAPI_AS_CERTIFICATE = "WAPIAS_";
347 field public static final String WAPI_USER_CERTIFICATE = "WAPIUSR_";
348 }
349
350 public static final class WifiEnterpriseConfig.Eap {
351 field public static final int AKA = 5; // 0x5
352 field public static final int AKA_PRIME = 6; // 0x6
353 field public static final int NONE = -1; // 0xffffffff
354 field public static final int PEAP = 0; // 0x0
355 field public static final int PWD = 3; // 0x3
356 field public static final int SIM = 4; // 0x4
357 field public static final int TLS = 1; // 0x1
358 field public static final int TTLS = 2; // 0x2
359 field public static final int UNAUTH_TLS = 7; // 0x7
360 field public static final int WAPI_CERT = 8; // 0x8
361 }
362
363 public static final class WifiEnterpriseConfig.Phase2 {
364 field public static final int AKA = 6; // 0x6
365 field public static final int AKA_PRIME = 7; // 0x7
366 field public static final int GTC = 4; // 0x4
367 field public static final int MSCHAP = 2; // 0x2
368 field public static final int MSCHAPV2 = 3; // 0x3
369 field public static final int NONE = 0; // 0x0
370 field public static final int PAP = 1; // 0x1
371 field public static final int SIM = 5; // 0x5
372 }
373
Roshan Piuscf919922020-08-14 07:17:59 -0700374 public class WifiInfo implements android.os.Parcelable android.net.TransportInfo {
Anton Hansson180d9562020-01-17 19:03:34 +0000375 method public int describeContents();
Ahmed ElArabawy196d3b32022-02-10 16:47:51 +0000376 method @NonNull public java.util.List<android.net.wifi.MloLink> getAffiliatedMloLinks();
377 method @Nullable public android.net.MacAddress getApMldMacAddress();
Ahmed ElArabawy007e6762022-02-21 16:23:29 -0800378 method @IntRange(from=android.net.wifi.MloLink.INVALID_MLO_LINK_ID, to=0xf) public int getApMloLinkId();
Paul Duffindf9c33f2023-11-02 19:19:40 +0000379 method public long getApplicableRedactions();
Mahesh KKVfe522252022-12-08 07:54:05 -0800380 method @NonNull public java.util.List<android.net.wifi.MloLink> getAssociatedMloLinks();
Anton Hansson180d9562020-01-17 19:03:34 +0000381 method public String getBSSID();
Hai Shalom46a7a672021-03-17 14:58:55 -0700382 method public int getCurrentSecurityType();
Anton Hansson180d9562020-01-17 19:03:34 +0000383 method public static android.net.NetworkInfo.DetailedState getDetailedStateOf(android.net.wifi.SupplicantState);
384 method public int getFrequency();
385 method public boolean getHiddenSSID();
Roshan Piusc610e1f2021-01-13 15:17:18 +0000386 method @Nullable public java.util.List<android.net.wifi.ScanResult.InformationElement> getInformationElements();
Roshan Pius2fa57f02020-12-30 13:15:50 -0800387 method @Deprecated public int getIpAddress();
Anton Hansson180d9562020-01-17 19:03:34 +0000388 method public int getLinkSpeed();
Anton Hanssonb43f5dc2021-10-20 13:21:00 +0100389 method public String getMacAddress();
Anton Hansson180d9562020-01-17 19:03:34 +0000390 method public int getMaxSupportedRxLinkSpeedMbps();
391 method public int getMaxSupportedTxLinkSpeedMbps();
392 method public int getNetworkId();
393 method @Nullable public String getPasspointFqdn();
394 method @Nullable public String getPasspointProviderFriendlyName();
Oscar Shu2393ddd2024-01-12 21:44:46 +0000395 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @Nullable public String getPasspointUniqueId();
Anton Hansson180d9562020-01-17 19:03:34 +0000396 method public int getRssi();
397 method @IntRange(from=0xffffffff) public int getRxLinkSpeedMbps();
398 method public String getSSID();
Nate Jiangd17ab1b2021-01-11 14:48:12 -0800399 method public int getSubscriptionId();
Anton Hansson180d9562020-01-17 19:03:34 +0000400 method public android.net.wifi.SupplicantState getSupplicantState();
401 method @IntRange(from=0xffffffff) public int getTxLinkSpeedMbps();
402 method public int getWifiStandard();
Nate Jiang2a788802021-11-10 10:48:05 -0800403 method public boolean isRestricted();
Roshan Piuse16f0d42021-02-23 08:49:29 -0800404 method @NonNull public android.net.wifi.WifiInfo makeCopy(long);
Anton Hansson180d9562020-01-17 19:03:34 +0000405 method public void writeToParcel(android.os.Parcel, int);
406 field public static final String FREQUENCY_UNITS = "MHz";
407 field public static final String LINK_SPEED_UNITS = "Mbps";
408 field public static final int LINK_SPEED_UNKNOWN = -1; // 0xffffffff
Sunil Ravi07723e22022-02-10 13:47:34 -0800409 field public static final int SECURITY_TYPE_DPP = 13; // 0xd
Hai Shalom46a7a672021-03-17 14:58:55 -0700410 field public static final int SECURITY_TYPE_EAP = 3; // 0x3
411 field public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE = 9; // 0x9
412 field public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT = 5; // 0x5
413 field public static final int SECURITY_TYPE_OPEN = 0; // 0x0
414 field public static final int SECURITY_TYPE_OSEN = 10; // 0xa
415 field public static final int SECURITY_TYPE_OWE = 6; // 0x6
416 field public static final int SECURITY_TYPE_PASSPOINT_R1_R2 = 11; // 0xb
417 field public static final int SECURITY_TYPE_PASSPOINT_R3 = 12; // 0xc
418 field public static final int SECURITY_TYPE_PSK = 2; // 0x2
419 field public static final int SECURITY_TYPE_SAE = 4; // 0x4
420 field public static final int SECURITY_TYPE_UNKNOWN = -1; // 0xffffffff
421 field public static final int SECURITY_TYPE_WAPI_CERT = 8; // 0x8
422 field public static final int SECURITY_TYPE_WAPI_PSK = 7; // 0x7
423 field public static final int SECURITY_TYPE_WEP = 1; // 0x1
Anton Hansson180d9562020-01-17 19:03:34 +0000424 }
425
426 public static final class WifiInfo.Builder {
427 ctor public WifiInfo.Builder();
428 method @NonNull public android.net.wifi.WifiInfo build();
429 method @NonNull public android.net.wifi.WifiInfo.Builder setBssid(@NonNull String);
Hai Shalom46a7a672021-03-17 14:58:55 -0700430 method @NonNull public android.net.wifi.WifiInfo.Builder setCurrentSecurityType(int);
Anton Hansson180d9562020-01-17 19:03:34 +0000431 method @NonNull public android.net.wifi.WifiInfo.Builder setNetworkId(int);
432 method @NonNull public android.net.wifi.WifiInfo.Builder setRssi(int);
433 method @NonNull public android.net.wifi.WifiInfo.Builder setSsid(@NonNull byte[]);
Nate Jiang55141c52024-02-15 17:05:24 -0800434 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.WifiInfo.Builder setSubscriptionId(int);
Anton Hansson180d9562020-01-17 19:03:34 +0000435 }
436
437 public class WifiManager {
Nate Jiangee93b252023-01-12 11:24:30 -0800438 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addLocalOnlyConnectionFailureListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.LocalOnlyConnectionFailureListener);
Anton Hansson180d9562020-01-17 19:03:34 +0000439 method @Deprecated public int addNetwork(android.net.wifi.WifiConfiguration);
Anton Hanssonb43f5dc2021-10-20 13:21:00 +0100440 method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_MANAGED_PROVISIONING}, conditional=true) public android.net.wifi.WifiManager.AddNetworkResult addNetworkPrivileged(@NonNull android.net.wifi.WifiConfiguration);
Anton Hansson180d9562020-01-17 19:03:34 +0000441 method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int addNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>);
442 method public void addOrUpdatePasspointConfiguration(android.net.wifi.hotspot2.PasspointConfiguration);
443 method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE}) public void addSuggestionConnectionStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SuggestionConnectionStatusListener);
Nate Jiang97874a22021-01-28 09:42:02 -0800444 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addSuggestionUserApprovalStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener);
Stephanie Bak9a28f2c2022-02-04 05:30:58 +0000445 method public void allowAutojoinGlobal(boolean);
Anton Hansson180d9562020-01-17 19:03:34 +0000446 method @Deprecated public static int calculateSignalLevel(int, int);
447 method @IntRange(from=0) public int calculateSignalLevel(int);
448 method @Deprecated public void cancelWps(android.net.wifi.WifiManager.WpsCallback);
449 method public static int compareSignalLevel(int, int);
450 method public android.net.wifi.WifiManager.MulticastLock createMulticastLock(String);
451 method public android.net.wifi.WifiManager.WifiLock createWifiLock(int, String);
452 method @Deprecated public android.net.wifi.WifiManager.WifiLock createWifiLock(String);
453 method @Deprecated public boolean disableNetwork(int);
454 method @Deprecated public boolean disconnect();
455 method @Deprecated public boolean enableNetwork(int, boolean);
Anton Hanssonb43f5dc2021-10-20 13:21:00 +0100456 method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_MANAGED_PROVISIONING, android.Manifest.permission.NETWORK_CARRIER_PROVISIONING}, conditional=true) public void flushPasspointAnqpCache();
Oscar Shudc00d072022-11-16 19:51:46 +0000457 method @NonNull @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public java.util.List<android.net.wifi.WifiAvailableChannel> getAllowedChannels(int, int);
Rubin Xu0cf236f2021-02-16 16:45:07 +0000458 method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public java.util.List<android.net.wifi.WifiConfiguration> getCallerConfiguredNetworks();
Shuibing Daic71c7fd2022-11-27 10:40:59 -0800459 method @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public void getChannelData(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<android.os.Bundle>>);
Anton Hansson180d9562020-01-17 19:03:34 +0000460 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();
xshu1c3ee3e2021-11-03 20:03:10 -0700461 method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public android.net.wifi.WifiInfo getConnectionInfo();
Roshan Pius2fa57f02020-12-30 13:15:50 -0800462 method @Deprecated public android.net.DhcpInfo getDhcpInfo();
Nate(Qiang) Jiang8afa42c2022-11-18 01:02:11 +0000463 method public int getMaxNumberOfChannelsPerNetworkSpecifierRequest();
Anton Hansson180d9562020-01-17 19:03:34 +0000464 method public int getMaxNumberOfNetworkSuggestionsPerApp();
465 method @IntRange(from=0) public int getMaxSignalLevel();
Sunil Ravi91e5b482022-12-12 05:31:56 +0000466 method public void getMaxSupportedConcurrentTdlsSessions(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
Anton Hansson180d9562020-01-17 19:03:34 +0000467 method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public java.util.List<android.net.wifi.WifiNetworkSuggestion> getNetworkSuggestions();
Sunil Ravi91e5b482022-12-12 05:31:56 +0000468 method public void getNumberOfEnabledTdlsSessions(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
Anton Hanssonb43f5dc2021-10-20 13:21:00 +0100469 method @Deprecated public java.util.List<android.net.wifi.hotspot2.PasspointConfiguration> getPasspointConfigurations();
divya.n13c5ced32024-01-10 19:11:07 +0530470 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public void getPerSsidRoamingModes(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.Map<java.lang.String,java.lang.Integer>>);
xshu1c3ee3e2021-11-03 20:03:10 -0700471 method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public java.util.List<android.net.wifi.ScanResult> getScanResults();
Chris Yef47b5932021-12-03 16:07:34 -0800472 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getStaConcurrencyForMultiInternetMode();
Oscar Shudc00d072022-11-16 19:51:46 +0000473 method @NonNull @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public java.util.List<android.net.wifi.WifiAvailableChannel> getUsableChannels(int, int);
Anton Hansson180d9562020-01-17 19:03:34 +0000474 method public int getWifiState();
lesl053a69e2021-02-04 17:09:22 +0800475 method public boolean is24GHzBandSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000476 method public boolean is5GHzBandSupported();
Jimmy Chen049baa52021-01-26 01:29:19 +0800477 method public boolean is60GHzBandSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000478 method public boolean is6GHzBandSupported();
divya.n13c5ced32024-01-10 19:11:07 +0530479 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isAggressiveRoamingModeSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000480 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isAutoWakeupEnabled();
lesl6d565cd2020-11-27 13:05:04 +0800481 method public boolean isBridgedApConcurrencySupported();
Nate Jiangdc80ce82021-03-16 14:37:40 -0700482 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isCarrierNetworkOffloadEnabled(int, boolean);
Les Leea20d9202024-02-09 04:26:27 +0000483 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isD2dSupportedWhenInfraStaDisabled();
Hai Shalom1d362632021-03-12 15:00:50 -0800484 method public boolean isDecoratedIdentitySupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000485 method @Deprecated public boolean isDeviceToApRttSupported();
Sunil Ravi4da9cf52022-11-27 23:37:14 +0000486 method public boolean isDualBandSimultaneousSupported();
Ahmed ElArabawyb52adcd2022-02-28 10:35:26 -0800487 method public boolean isEasyConnectDppAkmSupported();
Sunil Ravi42b7f932021-02-24 17:13:41 -0800488 method public boolean isEasyConnectEnrolleeResponderModeSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000489 method public boolean isEasyConnectSupported();
490 method public boolean isEnhancedOpenSupported();
491 method public boolean isEnhancedPowerReportingSupported();
Roshan Pius022f3b62021-02-26 14:11:18 -0800492 method public boolean isMakeBeforeBreakWifiSwitchingSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000493 method public boolean isP2pSupported();
Hai Shalom9a7adff2021-03-01 19:05:17 -0800494 method public boolean isPasspointTermsAndConditionsSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000495 method public boolean isPreferredNetworkOffloadSupported();
496 method @Deprecated public boolean isScanAlwaysAvailable();
497 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isScanThrottleEnabled();
498 method public boolean isStaApConcurrencySupported();
lesl6d565cd2020-11-27 13:05:04 +0800499 method public boolean isStaBridgedApConcurrencySupported();
Roshan Pius022f3b62021-02-26 14:11:18 -0800500 method public boolean isStaConcurrencyForLocalOnlyConnectionsSupported();
Chris Yef47b5932021-12-03 16:07:34 -0800501 method public boolean isStaConcurrencyForMultiInternetSupported();
Sunil Ravi91e5b482022-12-12 05:31:56 +0000502 method public void isTdlsOperationCurrentlyAvailable(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
Anton Hansson180d9562020-01-17 19:03:34 +0000503 method public boolean isTdlsSupported();
Mahesh KKV8a0a98e2023-02-07 18:22:16 -0800504 method public boolean isTidToLinkMappingNegotiationSupported();
Jimmy Chencf2693c2022-10-06 15:39:02 +0800505 method public boolean isTlsMinimumVersionSupported();
506 method public boolean isTlsV13Supported();
Jimmy Chen05ac9a82021-11-04 22:42:23 +0800507 method public boolean isTrustOnFirstUseSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000508 method public boolean isWapiSupported();
Nate Jiang55141c52024-02-15 17:05:24 -0800509 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isWepSupported();
Jimmy Chend9fb5fb2021-03-04 14:42:49 +0800510 method public boolean isWifiDisplayR2Supported();
Anton Hansson180d9562020-01-17 19:03:34 +0000511 method public boolean isWifiEnabled();
Chris Ye4ef08dd2021-06-14 23:21:45 -0700512 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiPasspointEnabled();
Anton Hansson180d9562020-01-17 19:03:34 +0000513 method public boolean isWifiStandardSupported(int);
Jimmy Chen8b6b2462021-02-23 10:27:51 +0800514 method public boolean isWpa3SaeH2eSupported();
Jimmy Chena4c3f892021-02-23 09:50:20 +0800515 method public boolean isWpa3SaePublicKeySupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000516 method public boolean isWpa3SaeSupported();
517 method public boolean isWpa3SuiteBSupported();
Nate Jiang55141c52024-02-15 17:05:24 -0800518 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isWpaPersonalSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000519 method @Deprecated public boolean pingSupplicant();
Stephanie Bak5d70f732022-03-07 20:41:46 +0000520 method public void queryAutojoinGlobal(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
Quang Luong7c458152024-02-06 23:34:51 +0000521 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void querySendDhcpHostnameRestriction(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
Anton Hansson180d9562020-01-17 19:03:34 +0000522 method @Deprecated public boolean reassociate();
523 method @Deprecated public boolean reconnect();
524 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void registerScanResultsCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.ScanResultsCallback);
Etan Cohen591aeb52021-01-06 13:17:32 -0800525 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void registerSubsystemRestartTrackingCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SubsystemRestartTrackingCallback);
Nate Jiangee93b252023-01-12 11:24:30 -0800526 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeLocalOnlyConnectionFailureListener(@NonNull android.net.wifi.WifiManager.LocalOnlyConnectionFailureListener);
Anton Hansson180d9562020-01-17 19:03:34 +0000527 method @Deprecated public boolean removeNetwork(int);
Nate Jiang1c407132022-01-25 11:03:41 -0800528 method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int removeNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>);
Nate Jiange29c4732021-11-22 11:47:15 -0800529 method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int removeNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>, int);
Rubin Xu0cf236f2021-02-16 16:45:07 +0000530 method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean removeNonCallerConfiguredNetworks();
Anton Hanssonb43f5dc2021-10-20 13:21:00 +0100531 method @Deprecated public void removePasspointConfiguration(String);
divya.n13c5ced32024-01-10 19:11:07 +0530532 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public void removePerSsidRoamingMode(@NonNull android.net.wifi.WifiSsid);
Anton Hansson180d9562020-01-17 19:03:34 +0000533 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeSuggestionConnectionStatusListener(@NonNull android.net.wifi.WifiManager.SuggestionConnectionStatusListener);
Nate Jiangd1519d72020-12-09 22:43:33 -0800534 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeSuggestionUserApprovalStatusListener(@NonNull android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener);
Etan Cohen10ae7e12022-03-15 23:47:53 +0000535 method @RequiresPermission(allOf={android.Manifest.permission.MANAGE_WIFI_INTERFACES, android.Manifest.permission.ACCESS_WIFI_STATE}) public void reportCreateInterfaceImpact(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.BiConsumer<java.lang.Boolean,java.util.Set<android.net.wifi.WifiManager.InterfaceCreationImpact>>);
Anton Hansson180d9562020-01-17 19:03:34 +0000536 method @Deprecated public boolean saveConfiguration();
divya.n13c5ced32024-01-10 19:11:07 +0530537 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public void setPerSsidRoamingMode(@NonNull android.net.wifi.WifiSsid, int);
Quang Anh Luongee195132024-01-24 22:28:57 +0900538 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setSendDhcpHostnameRestriction(int);
Anton Hansson180d9562020-01-17 19:03:34 +0000539 method public void setTdlsEnabled(java.net.InetAddress, boolean);
Sunil Ravi91e5b482022-12-12 05:31:56 +0000540 method public void setTdlsEnabled(@NonNull java.net.InetAddress, boolean, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
Anton Hansson180d9562020-01-17 19:03:34 +0000541 method public void setTdlsEnabledWithMacAddress(String, boolean);
Sunil Ravi91e5b482022-12-12 05:31:56 +0000542 method public void setTdlsEnabledWithMacAddress(@NonNull String, boolean, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
Anton Hansson180d9562020-01-17 19:03:34 +0000543 method @Deprecated public boolean setWifiEnabled(boolean);
xshu25c63302022-01-11 16:26:55 -0800544 method @RequiresPermission(allOf={android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES}, conditional=true) public void startLocalOnlyHotspot(android.net.wifi.WifiManager.LocalOnlyHotspotCallback, @Nullable android.os.Handler);
Anton Hansson180d9562020-01-17 19:03:34 +0000545 method @Deprecated public boolean startScan();
546 method @Deprecated public void startWps(android.net.wifi.WpsInfo, android.net.wifi.WifiManager.WpsCallback);
547 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void unregisterScanResultsCallback(@NonNull android.net.wifi.WifiManager.ScanResultsCallback);
Etan Cohen9c0688d2021-02-12 01:42:09 +0000548 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void unregisterSubsystemRestartTrackingCallback(@NonNull android.net.wifi.WifiManager.SubsystemRestartTrackingCallback);
Anton Hansson180d9562020-01-17 19:03:34 +0000549 method @Deprecated public int updateNetwork(android.net.wifi.WifiConfiguration);
Les Lee1caf8482022-10-21 10:18:13 +0800550 method public boolean validateSoftApConfiguration(@NonNull android.net.wifi.SoftApConfiguration);
Anton Hansson180d9562020-01-17 19:03:34 +0000551 field public static final String ACTION_PICK_WIFI_NETWORK = "android.net.wifi.PICK_WIFI_NETWORK";
Nate Jiange29c4732021-11-22 11:47:15 -0800552 field public static final int ACTION_REMOVE_SUGGESTION_DISCONNECT = 2; // 0x2
553 field public static final int ACTION_REMOVE_SUGGESTION_LINGER = 1; // 0x1
Anton Hansson180d9562020-01-17 19:03:34 +0000554 field public static final String ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE = "android.net.wifi.action.REQUEST_SCAN_ALWAYS_AVAILABLE";
555 field public static final String ACTION_WIFI_NETWORK_SUGGESTION_POST_CONNECTION = "android.net.wifi.action.WIFI_NETWORK_SUGGESTION_POST_CONNECTION";
556 field public static final String ACTION_WIFI_SCAN_AVAILABILITY_CHANGED = "android.net.wifi.action.WIFI_SCAN_AVAILABILITY_CHANGED";
Shuibing Daic71c7fd2022-11-27 10:40:59 -0800557 field public static final String CHANNEL_DATA_KEY_FREQUENCY_MHZ = "CHANNEL_DATA_KEY_FREQUENCY_MHZ";
558 field public static final String CHANNEL_DATA_KEY_NUM_AP = "CHANNEL_DATA_KEY_NUM_AP";
Anton Hansson180d9562020-01-17 19:03:34 +0000559 field @Deprecated public static final int ERROR_AUTHENTICATING = 1; // 0x1
560 field @Deprecated public static final String EXTRA_BSSID = "bssid";
561 field public static final String EXTRA_NETWORK_INFO = "networkInfo";
562 field public static final String EXTRA_NETWORK_SUGGESTION = "android.net.wifi.extra.NETWORK_SUGGESTION";
563 field public static final String EXTRA_NEW_RSSI = "newRssi";
564 field @Deprecated public static final String EXTRA_NEW_STATE = "newState";
565 field public static final String EXTRA_PREVIOUS_WIFI_STATE = "previous_wifi_state";
566 field public static final String EXTRA_RESULTS_UPDATED = "resultsUpdated";
567 field public static final String EXTRA_SCAN_AVAILABLE = "android.net.wifi.extra.SCAN_AVAILABLE";
568 field @Deprecated public static final String EXTRA_SUPPLICANT_CONNECTED = "connected";
569 field @Deprecated public static final String EXTRA_SUPPLICANT_ERROR = "supplicantError";
570 field @Deprecated public static final String EXTRA_WIFI_INFO = "wifiInfo";
571 field public static final String EXTRA_WIFI_STATE = "wifi_state";
Quang Luong7c458152024-02-06 23:34:51 +0000572 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int FLAG_SEND_DHCP_HOSTNAME_RESTRICTION_OPEN = 1; // 0x1
573 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int FLAG_SEND_DHCP_HOSTNAME_RESTRICTION_SECURE = 2; // 0x2
Anton Hansson180d9562020-01-17 19:03:34 +0000574 field public static final String NETWORK_IDS_CHANGED_ACTION = "android.net.wifi.NETWORK_IDS_CHANGED";
575 field public static final String NETWORK_STATE_CHANGED_ACTION = "android.net.wifi.STATE_CHANGE";
divya.n13c5ced32024-01-10 19:11:07 +0530576 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int ROAMING_MODE_AGGRESSIVE = 2; // 0x2
577 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int ROAMING_MODE_NONE = 0; // 0x0
578 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int ROAMING_MODE_NORMAL = 1; // 0x1
Anton Hansson180d9562020-01-17 19:03:34 +0000579 field public static final String RSSI_CHANGED_ACTION = "android.net.wifi.RSSI_CHANGED";
580 field public static final String SCAN_RESULTS_AVAILABLE_ACTION = "android.net.wifi.SCAN_RESULTS";
Nate Jiangee93b252023-01-12 11:24:30 -0800581 field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_ASSOCIATION = 1; // 0x1
582 field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_AUTHENTICATION = 2; // 0x2
583 field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_IP_PROVISIONING = 3; // 0x3
584 field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_NOT_FOUND = 4; // 0x4
585 field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_NO_RESPONSE = 5; // 0x5
586 field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_UNKNOWN = 0; // 0x0
Nate Jiang0e3867e2024-06-26 14:52:42 -0700587 field @FlaggedApi("com.android.wifi.flags.local_only_connection_optimization") public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_USER_REJECT = 6; // 0x6
Anton Hansson180d9562020-01-17 19:03:34 +0000588 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_DUPLICATE = 3; // 0x3
589 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_EXCEEDS_MAX_PER_APP = 4; // 0x4
590 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_INVALID = 7; // 0x7
591 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_NOT_ALLOWED = 6; // 0x6
592 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_APP_DISALLOWED = 2; // 0x2
593 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_INTERNAL = 1; // 0x1
594 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_REMOVE_INVALID = 5; // 0x5
Stephanie Bak1c6ba1b2022-01-08 10:58:27 +0000595 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_RESTRICTED_BY_ADMIN = 8; // 0x8
Anton Hansson180d9562020-01-17 19:03:34 +0000596 field public static final int STATUS_NETWORK_SUGGESTIONS_SUCCESS = 0; // 0x0
Nate Jiangd2ad1f42020-11-10 17:30:14 -0800597 field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_CARRIER_PRIVILEGE = 4; // 0x4
598 field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER = 2; // 0x2
599 field public static final int STATUS_SUGGESTION_APPROVAL_PENDING = 1; // 0x1
600 field public static final int STATUS_SUGGESTION_APPROVAL_REJECTED_BY_USER = 3; // 0x3
601 field public static final int STATUS_SUGGESTION_APPROVAL_UNKNOWN = 0; // 0x0
Anton Hansson180d9562020-01-17 19:03:34 +0000602 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_ASSOCIATION = 1; // 0x1
603 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_AUTHENTICATION = 2; // 0x2
604 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_IP_PROVISIONING = 3; // 0x3
605 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_UNKNOWN = 0; // 0x0
606 field @Deprecated public static final String SUPPLICANT_CONNECTION_CHANGE_ACTION = "android.net.wifi.supplicant.CONNECTION_CHANGE";
607 field @Deprecated public static final String SUPPLICANT_STATE_CHANGED_ACTION = "android.net.wifi.supplicant.STATE_CHANGE";
608 field public static final String UNKNOWN_SSID = "<unknown ssid>";
Etan Cohen4af11862022-02-03 04:57:16 +0000609 field public static final int WIFI_INTERFACE_TYPE_AP = 1; // 0x1
610 field public static final int WIFI_INTERFACE_TYPE_AWARE = 2; // 0x2
611 field public static final int WIFI_INTERFACE_TYPE_DIRECT = 3; // 0x3
612 field public static final int WIFI_INTERFACE_TYPE_STA = 0; // 0x0
Anton Hansson180d9562020-01-17 19:03:34 +0000613 field @Deprecated public static final int WIFI_MODE_FULL = 1; // 0x1
Mahesh KKV0f2d9c62022-12-10 23:01:38 -0800614 field @Deprecated public static final int WIFI_MODE_FULL_HIGH_PERF = 3; // 0x3
Anton Hansson180d9562020-01-17 19:03:34 +0000615 field public static final int WIFI_MODE_FULL_LOW_LATENCY = 4; // 0x4
616 field @Deprecated public static final int WIFI_MODE_SCAN_ONLY = 2; // 0x2
Chris Yef47b5932021-12-03 16:07:34 -0800617 field public static final int WIFI_MULTI_INTERNET_MODE_DBS_AP = 1; // 0x1
618 field public static final int WIFI_MULTI_INTERNET_MODE_DISABLED = 0; // 0x0
619 field public static final int WIFI_MULTI_INTERNET_MODE_MULTI_AP = 2; // 0x2
Anton Hansson180d9562020-01-17 19:03:34 +0000620 field public static final String WIFI_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_STATE_CHANGED";
621 field public static final int WIFI_STATE_DISABLED = 1; // 0x1
622 field public static final int WIFI_STATE_DISABLING = 0; // 0x0
623 field public static final int WIFI_STATE_ENABLED = 3; // 0x3
624 field public static final int WIFI_STATE_ENABLING = 2; // 0x2
625 field public static final int WIFI_STATE_UNKNOWN = 4; // 0x4
626 field @Deprecated public static final int WPS_AUTH_FAILURE = 6; // 0x6
627 field @Deprecated public static final int WPS_OVERLAP_ERROR = 3; // 0x3
628 field @Deprecated public static final int WPS_TIMED_OUT = 7; // 0x7
629 field @Deprecated public static final int WPS_TKIP_ONLY_PROHIBITED = 5; // 0x5
630 field @Deprecated public static final int WPS_WEP_PROHIBITED = 4; // 0x4
631 }
632
xshu18bf8152021-03-18 21:07:30 -0700633 public static final class WifiManager.AddNetworkResult implements android.os.Parcelable {
634 ctor public WifiManager.AddNetworkResult(int, int);
635 method public int describeContents();
636 method public void writeToParcel(@NonNull android.os.Parcel, int);
637 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiManager.AddNetworkResult> CREATOR;
638 field public static final int STATUS_ADD_PASSPOINT_FAILURE = 3; // 0x3
639 field public static final int STATUS_ADD_WIFI_CONFIG_FAILURE = 4; // 0x4
640 field public static final int STATUS_FAILURE_UNKNOWN = 1; // 0x1
641 field public static final int STATUS_FAILURE_UPDATE_NETWORK_KEYS = 9; // 0x9
642 field public static final int STATUS_INVALID_CONFIGURATION = 5; // 0x5
643 field public static final int STATUS_INVALID_CONFIGURATION_ENTERPRISE = 10; // 0xa
644 field public static final int STATUS_NO_PERMISSION = 2; // 0x2
645 field public static final int STATUS_NO_PERMISSION_MODIFY_CONFIG = 6; // 0x6
646 field public static final int STATUS_NO_PERMISSION_MODIFY_MAC_RANDOMIZATION = 8; // 0x8
647 field public static final int STATUS_NO_PERMISSION_MODIFY_PROXY_SETTING = 7; // 0x7
648 field public static final int STATUS_SUCCESS = 0; // 0x0
649 field public final int networkId;
650 field public final int statusCode;
651 }
652
Etan Cohen45cdfab2022-03-03 22:45:43 +0000653 public static class WifiManager.InterfaceCreationImpact {
654 ctor public WifiManager.InterfaceCreationImpact(int, @NonNull java.util.Set<java.lang.String>);
Etan Cohenfa89f3e2022-02-26 08:10:26 +0000655 method public int getInterfaceType();
Etan Cohen45cdfab2022-03-03 22:45:43 +0000656 method @NonNull public java.util.Set<java.lang.String> getPackages();
Etan Cohenfa89f3e2022-02-26 08:10:26 +0000657 }
658
Nate Jiangee93b252023-01-12 11:24:30 -0800659 public static interface WifiManager.LocalOnlyConnectionFailureListener {
Nate Jiangb363d172023-01-25 10:41:51 -0800660 method public void onConnectionFailed(@NonNull android.net.wifi.WifiNetworkSpecifier, int);
Nate Jiangee93b252023-01-12 11:24:30 -0800661 }
662
Anton Hansson180d9562020-01-17 19:03:34 +0000663 public static class WifiManager.LocalOnlyHotspotCallback {
664 ctor public WifiManager.LocalOnlyHotspotCallback();
665 method public void onFailed(int);
666 method public void onStarted(android.net.wifi.WifiManager.LocalOnlyHotspotReservation);
667 method public void onStopped();
668 field public static final int ERROR_GENERIC = 2; // 0x2
669 field public static final int ERROR_INCOMPATIBLE_MODE = 3; // 0x3
670 field public static final int ERROR_NO_CHANNEL = 1; // 0x1
671 field public static final int ERROR_TETHERING_DISALLOWED = 4; // 0x4
672 }
673
674 public class WifiManager.LocalOnlyHotspotReservation implements java.lang.AutoCloseable {
675 method public void close();
676 method @NonNull public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
677 method @Deprecated @Nullable public android.net.wifi.WifiConfiguration getWifiConfiguration();
678 }
679
680 public class WifiManager.MulticastLock {
681 method public void acquire();
682 method public boolean isHeld();
683 method public void release();
684 method public void setReferenceCounted(boolean);
685 }
686
687 public abstract static class WifiManager.ScanResultsCallback {
688 ctor public WifiManager.ScanResultsCallback();
689 method public abstract void onScanResultsAvailable();
690 }
691
Etan Cohen591aeb52021-01-06 13:17:32 -0800692 public abstract static class WifiManager.SubsystemRestartTrackingCallback {
693 ctor public WifiManager.SubsystemRestartTrackingCallback();
694 method public abstract void onSubsystemRestarted();
695 method public abstract void onSubsystemRestarting();
696 }
697
Anton Hansson180d9562020-01-17 19:03:34 +0000698 public static interface WifiManager.SuggestionConnectionStatusListener {
699 method public void onConnectionStatus(@NonNull android.net.wifi.WifiNetworkSuggestion, int);
700 }
701
Nate Jiangd1519d72020-12-09 22:43:33 -0800702 public static interface WifiManager.SuggestionUserApprovalStatusListener {
Nate Jiang97874a22021-01-28 09:42:02 -0800703 method public void onUserApprovalStatusChange(int);
Nate Jiangd1519d72020-12-09 22:43:33 -0800704 }
705
Anton Hansson180d9562020-01-17 19:03:34 +0000706 public class WifiManager.WifiLock {
707 method public void acquire();
708 method public boolean isHeld();
709 method public void release();
710 method public void setReferenceCounted(boolean);
711 method public void setWorkSource(android.os.WorkSource);
712 }
713
714 @Deprecated public abstract static class WifiManager.WpsCallback {
715 ctor @Deprecated public WifiManager.WpsCallback();
716 method @Deprecated public abstract void onFailed(int);
717 method @Deprecated public abstract void onStarted(String);
718 method @Deprecated public abstract void onSucceeded();
719 }
720
721 public final class WifiNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
722 method public int describeContents();
Chalard Jean2c6d14d2021-05-12 22:22:06 +0900723 method public int getBand();
Nate(Qiang) Jiang8afa42c2022-11-18 01:02:11 +0000724 method @NonNull public int[] getPreferredChannelFrequenciesMhz();
Anton Hansson180d9562020-01-17 19:03:34 +0000725 method public void writeToParcel(android.os.Parcel, int);
726 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSpecifier> CREATOR;
727 }
728
729 public static final class WifiNetworkSpecifier.Builder {
730 ctor public WifiNetworkSpecifier.Builder();
731 method @NonNull public android.net.wifi.WifiNetworkSpecifier build();
Chalard Jean2c6d14d2021-05-12 22:22:06 +0900732 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBand(int);
Anton Hansson180d9562020-01-17 19:03:34 +0000733 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBssid(@NonNull android.net.MacAddress);
734 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBssidPattern(@NonNull android.net.MacAddress, @NonNull android.net.MacAddress);
735 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsEnhancedOpen(boolean);
736 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsHiddenSsid(boolean);
Nate(Qiang) Jiang8afa42c2022-11-18 01:02:11 +0000737 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setPreferredChannelsFrequenciesMhz(@NonNull int[]);
Anton Hansson180d9562020-01-17 19:03:34 +0000738 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setSsid(@NonNull String);
739 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setSsidPattern(@NonNull android.os.PatternMatcher);
740 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa2EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
741 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa2Passphrase(@NonNull String);
Jimmy Chen049bf532020-10-16 14:15:11 +0800742 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3Enterprise192BitModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
743 method @Deprecated @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
744 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3EnterpriseStandardModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
Anton Hansson180d9562020-01-17 19:03:34 +0000745 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3Passphrase(@NonNull String);
746 }
747
748 public final class WifiNetworkSuggestion implements android.os.Parcelable {
749 method public int describeContents();
750 method @Nullable public android.net.MacAddress getBssid();
751 method @Nullable public android.net.wifi.WifiEnterpriseConfig getEnterpriseConfig();
Nate Jiangd5bd85d2021-09-24 15:29:46 -0700752 method public int getMacRandomizationSetting();
Anton Hansson180d9562020-01-17 19:03:34 +0000753 method @Nullable public String getPassphrase();
754 method @Nullable public android.net.wifi.hotspot2.PasspointConfiguration getPasspointConfig();
755 method @IntRange(from=0) public int getPriority();
Nate Jiang34101422021-03-03 17:53:06 -0800756 method @IntRange(from=0) public int getPriorityGroup();
Anton Hansson180d9562020-01-17 19:03:34 +0000757 method @Nullable public String getSsid();
Nate Jiangf54facb2021-11-22 11:47:15 -0800758 method @Nullable public android.os.ParcelUuid getSubscriptionGroup();
Nate Jiang5fab3cb2020-09-16 17:48:16 -0700759 method public int getSubscriptionId();
Nate Jiangd5ec9552022-01-26 16:40:51 -0800760 method @Nullable public android.net.wifi.WifiSsid getWifiSsid();
Anton Hansson180d9562020-01-17 19:03:34 +0000761 method public boolean isAppInteractionRequired();
Nate Jiangd7ed9df2020-11-10 13:00:07 -0800762 method public boolean isCarrierMerged();
Anton Hansson180d9562020-01-17 19:03:34 +0000763 method public boolean isCredentialSharedWithUser();
764 method public boolean isEnhancedOpen();
765 method public boolean isHiddenSsid();
766 method public boolean isInitialAutojoinEnabled();
767 method public boolean isMetered();
Nate Jiang2d9907c2021-11-05 11:42:57 -0700768 method public boolean isRestricted();
Anton Hansson180d9562020-01-17 19:03:34 +0000769 method public boolean isUntrusted();
770 method public boolean isUserInteractionRequired();
Mahesh KKVb50f6002024-01-22 12:44:12 -0800771 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isWifi7Enabled();
Anton Hansson180d9562020-01-17 19:03:34 +0000772 method public void writeToParcel(android.os.Parcel, int);
773 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSuggestion> CREATOR;
xshud92896d2021-02-12 17:07:06 -0800774 field public static final int RANDOMIZATION_NON_PERSISTENT = 1; // 0x1
775 field public static final int RANDOMIZATION_PERSISTENT = 0; // 0x0
Anton Hansson180d9562020-01-17 19:03:34 +0000776 }
777
778 public static final class WifiNetworkSuggestion.Builder {
779 ctor public WifiNetworkSuggestion.Builder();
780 method @NonNull public android.net.wifi.WifiNetworkSuggestion build();
781 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setBssid(@NonNull android.net.MacAddress);
Nate Jiangd7ed9df2020-11-10 13:00:07 -0800782 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierMerged(boolean);
Anton Hansson180d9562020-01-17 19:03:34 +0000783 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setCredentialSharedWithUser(boolean);
784 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsAppInteractionRequired(boolean);
785 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsEnhancedOpen(boolean);
786 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsHiddenSsid(boolean);
787 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsInitialAutojoinEnabled(boolean);
788 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsMetered(boolean);
789 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsUserInteractionRequired(boolean);
Jimmy Chenc5be43d2021-03-18 13:01:50 +0800790 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsWpa3SaeH2eOnlyModeEnabled(boolean);
xshud92896d2021-02-12 17:07:06 -0800791 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setMacRandomizationSetting(int);
Anton Hansson180d9562020-01-17 19:03:34 +0000792 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPasspointConfig(@NonNull android.net.wifi.hotspot2.PasspointConfiguration);
793 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriority(@IntRange(from=0) int);
Nate Jiang34101422021-03-03 17:53:06 -0800794 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriorityGroup(@IntRange(from=0) int);
Nate Jiang2d9907c2021-11-05 11:42:57 -0700795 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setRestricted(boolean);
Anton Hansson180d9562020-01-17 19:03:34 +0000796 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSsid(@NonNull String);
Nate Jiangf54facb2021-11-22 11:47:15 -0800797 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSubscriptionGroup(@NonNull android.os.ParcelUuid);
Nate Jiang5fab3cb2020-09-16 17:48:16 -0700798 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSubscriptionId(int);
Anton Hansson180d9562020-01-17 19:03:34 +0000799 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setUntrusted(boolean);
800 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiEnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
801 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiPassphrase(@NonNull String);
Mahesh KKVb50f6002024-01-22 12:44:12 -0800802 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWifi7Enabled(boolean);
Nate Jiangd5ec9552022-01-26 16:40:51 -0800803 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWifiSsid(@NonNull android.net.wifi.WifiSsid);
Anton Hansson180d9562020-01-17 19:03:34 +0000804 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
805 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2Passphrase(@NonNull String);
Jimmy Chen049bf532020-10-16 14:15:11 +0800806 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3Enterprise192BitModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
807 method @Deprecated @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
808 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3EnterpriseStandardModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
Anton Hansson180d9562020-01-17 19:03:34 +0000809 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3Passphrase(@NonNull String);
810 }
811
Quang Luongab00ba22021-10-07 16:12:10 -0700812 public final class WifiSsid implements android.os.Parcelable {
813 method public int describeContents();
814 method @NonNull public static android.net.wifi.WifiSsid fromBytes(@Nullable byte[]);
Quang Luongab00ba22021-10-07 16:12:10 -0700815 method @NonNull public byte[] getBytes();
Quang Luongab00ba22021-10-07 16:12:10 -0700816 method public void writeToParcel(@NonNull android.os.Parcel, int);
817 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiSsid> CREATOR;
818 }
819
Anton Hansson180d9562020-01-17 19:03:34 +0000820 public class WpsInfo implements android.os.Parcelable {
821 ctor public WpsInfo();
822 ctor public WpsInfo(android.net.wifi.WpsInfo);
823 method public int describeContents();
824 method public void writeToParcel(android.os.Parcel, int);
825 field public String BSSID;
826 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WpsInfo> CREATOR;
827 field public static final int DISPLAY = 1; // 0x1
828 field public static final int INVALID = 4; // 0x4
829 field public static final int KEYPAD = 2; // 0x2
830 field public static final int LABEL = 3; // 0x3
831 field public static final int PBC = 0; // 0x0
832 field public String pin;
833 field public int setup;
834 }
835
836}
837
838package android.net.wifi.aware {
839
840 public class AttachCallback {
841 ctor public AttachCallback();
842 method public void onAttachFailed();
843 method public void onAttached(android.net.wifi.aware.WifiAwareSession);
Nate Jiangc7820a12022-01-31 13:41:04 -0800844 method public void onAwareSessionTerminated();
Anton Hansson180d9562020-01-17 19:03:34 +0000845 }
846
Nate Jiang9bda6122022-11-23 17:21:16 -0800847 public final class AwarePairingConfig implements android.os.Parcelable {
848 method public int describeContents();
849 method public int getBootstrappingMethods();
qiangjiangdf3fb4b2024-08-21 23:24:13 +0000850 method @FlaggedApi("com.android.wifi.flags.aware_pairing") public int getSupportedCipherSuites();
Nate Jiang9bda6122022-11-23 17:21:16 -0800851 method public boolean isPairingCacheEnabled();
852 method public boolean isPairingSetupEnabled();
853 method public boolean isPairingVerificationEnabled();
854 method public void writeToParcel(@NonNull android.os.Parcel, int);
855 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.AwarePairingConfig> CREATOR;
856 field public static final int PAIRING_BOOTSTRAPPING_NFC_READER = 256; // 0x100
857 field public static final int PAIRING_BOOTSTRAPPING_NFC_TAG = 16; // 0x10
858 field public static final int PAIRING_BOOTSTRAPPING_OPPORTUNISTIC = 1; // 0x1
859 field public static final int PAIRING_BOOTSTRAPPING_PASSPHRASE_DISPLAY = 4; // 0x4
860 field public static final int PAIRING_BOOTSTRAPPING_PASSPHRASE_KEYPAD = 64; // 0x40
861 field public static final int PAIRING_BOOTSTRAPPING_PIN_CODE_DISPLAY = 2; // 0x2
862 field public static final int PAIRING_BOOTSTRAPPING_PIN_CODE_KEYPAD = 32; // 0x20
863 field public static final int PAIRING_BOOTSTRAPPING_QR_DISPLAY = 8; // 0x8
864 field public static final int PAIRING_BOOTSTRAPPING_QR_SCAN = 128; // 0x80
865 }
866
867 public static final class AwarePairingConfig.Builder {
868 ctor public AwarePairingConfig.Builder();
869 method @NonNull public android.net.wifi.aware.AwarePairingConfig build();
870 method @NonNull public android.net.wifi.aware.AwarePairingConfig.Builder setBootstrappingMethods(int);
871 method @NonNull public android.net.wifi.aware.AwarePairingConfig.Builder setPairingCacheEnabled(boolean);
872 method @NonNull public android.net.wifi.aware.AwarePairingConfig.Builder setPairingSetupEnabled(boolean);
873 method @NonNull public android.net.wifi.aware.AwarePairingConfig.Builder setPairingVerificationEnabled(boolean);
qiangjiangdf3fb4b2024-08-21 23:24:13 +0000874 method @FlaggedApi("com.android.wifi.flags.aware_pairing") @NonNull public android.net.wifi.aware.AwarePairingConfig.Builder setSupportedCipherSuites(int);
Nate Jiang9bda6122022-11-23 17:21:16 -0800875 }
876
Nate Jiang702d6172020-10-19 15:29:29 -0700877 public final class AwareResources implements android.os.Parcelable {
Nate Jiang88247122021-03-03 18:27:37 -0800878 ctor public AwareResources(@IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int);
Nate Jiang702d6172020-10-19 15:29:29 -0700879 method public int describeContents();
Nate Jiangaf770eb2021-01-12 13:15:37 -0800880 method @IntRange(from=0) public int getAvailableDataPathsCount();
881 method @IntRange(from=0) public int getAvailablePublishSessionsCount();
882 method @IntRange(from=0) public int getAvailableSubscribeSessionsCount();
Nate Jiang702d6172020-10-19 15:29:29 -0700883 method public void writeToParcel(@NonNull android.os.Parcel, int);
884 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.AwareResources> CREATOR;
885 }
886
Anton Hansson180d9562020-01-17 19:03:34 +0000887 public final class Characteristics implements android.os.Parcelable {
888 method public int describeContents();
889 method public int getMaxMatchFilterLength();
890 method public int getMaxServiceNameLength();
891 method public int getMaxServiceSpecificInfoLength();
Nate Jiang4b6e5352021-11-10 16:29:26 -0800892 method @IntRange(from=1) public int getNumberOfSupportedDataInterfaces();
893 method @IntRange(from=1) public int getNumberOfSupportedDataPaths();
894 method @IntRange(from=1) public int getNumberOfSupportedPublishSessions();
895 method @IntRange(from=1) public int getNumberOfSupportedSubscribeSessions();
Anton Hansson180d9562020-01-17 19:03:34 +0000896 method public int getSupportedCipherSuites();
Nate Jiangb347ea62023-02-10 18:36:02 -0800897 method public int getSupportedPairingCipherSuites();
Nate Jiang9bda6122022-11-23 17:21:16 -0800898 method public boolean isAwarePairingSupported();
Nate Jiangecdc6582020-10-09 11:33:04 -0700899 method public boolean isInstantCommunicationModeSupported();
Biswarup Pal41443f22022-12-20 18:04:34 +0000900 method public boolean isSuspensionSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000901 method public void writeToParcel(android.os.Parcel, int);
902 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.Characteristics> CREATOR;
Nate Jiang292e6632022-01-12 15:49:10 -0800903 field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_PK_128 = 4; // 0x4
904 field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_PK_256 = 8; // 0x8
Nate Jiangb347ea62023-02-10 18:36:02 -0800905 field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_PK_PASN_128 = 16; // 0x10
906 field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_PK_PASN_256 = 32; // 0x20
Anton Hansson180d9562020-01-17 19:03:34 +0000907 field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_SK_128 = 1; // 0x1
908 field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_SK_256 = 2; // 0x2
Nate Jiang1050bea2022-01-21 19:03:50 -0800909 field public static final int WIFI_AWARE_CIPHER_SUITE_NONE = 0; // 0x0
Anton Hansson180d9562020-01-17 19:03:34 +0000910 }
911
912 public class DiscoverySession implements java.lang.AutoCloseable {
Nate Jiangb347ea62023-02-10 18:36:02 -0800913 method public void acceptPairingRequest(int, @NonNull android.net.wifi.aware.PeerHandle, @NonNull String, int, @Nullable String);
Anton Hansson180d9562020-01-17 19:03:34 +0000914 method public void close();
915 method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierOpen(@NonNull android.net.wifi.aware.PeerHandle);
916 method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPassphrase(@NonNull android.net.wifi.aware.PeerHandle, @NonNull String);
Nate(Qiang) Jianged671d52022-12-20 20:42:06 +0000917 method public void initiateBootstrappingRequest(@NonNull android.net.wifi.aware.PeerHandle, int);
Nate Jiangb347ea62023-02-10 18:36:02 -0800918 method public void initiatePairingRequest(@NonNull android.net.wifi.aware.PeerHandle, @NonNull String, int, @Nullable String);
Nate Jiangce0efe02023-01-25 11:22:38 -0800919 method public void rejectPairingRequest(int, @NonNull android.net.wifi.aware.PeerHandle);
Anton Hansson180d9562020-01-17 19:03:34 +0000920 method public void sendMessage(@NonNull android.net.wifi.aware.PeerHandle, int, @Nullable byte[]);
921 }
922
923 public class DiscoverySessionCallback {
924 ctor public DiscoverySessionCallback();
Nate Jiang91c6a432023-01-26 11:29:14 -0800925 method public void onBootstrappingFailed(@NonNull android.net.wifi.aware.PeerHandle);
Nate(Qiang) Jiang56bda152023-03-04 03:48:09 +0000926 method public void onBootstrappingSucceeded(@NonNull android.net.wifi.aware.PeerHandle, int);
Anton Hansson180d9562020-01-17 19:03:34 +0000927 method public void onMessageReceived(android.net.wifi.aware.PeerHandle, byte[]);
928 method public void onMessageSendFailed(int);
929 method public void onMessageSendSucceeded(int);
Nate Jiang91c6a432023-01-26 11:29:14 -0800930 method public void onPairingSetupFailed(@NonNull android.net.wifi.aware.PeerHandle);
Nate Jiangd4431612022-12-09 17:25:58 -0800931 method public void onPairingSetupRequestReceived(@NonNull android.net.wifi.aware.PeerHandle, int);
Nate Jiang91c6a432023-01-26 11:29:14 -0800932 method public void onPairingSetupSucceeded(@NonNull android.net.wifi.aware.PeerHandle, @NonNull String);
933 method public void onPairingVerificationFailed(@NonNull android.net.wifi.aware.PeerHandle);
934 method public void onPairingVerificationSucceed(@NonNull android.net.wifi.aware.PeerHandle, @NonNull String);
Anton Hansson180d9562020-01-17 19:03:34 +0000935 method public void onPublishStarted(@NonNull android.net.wifi.aware.PublishDiscoverySession);
936 method public void onServiceDiscovered(android.net.wifi.aware.PeerHandle, byte[], java.util.List<byte[]>);
Nate Jiang1050bea2022-01-21 19:03:50 -0800937 method public void onServiceDiscovered(@NonNull android.net.wifi.aware.ServiceDiscoveryInfo);
Anton Hansson180d9562020-01-17 19:03:34 +0000938 method public void onServiceDiscoveredWithinRange(android.net.wifi.aware.PeerHandle, byte[], java.util.List<byte[]>, int);
Nate Jiang1050bea2022-01-21 19:03:50 -0800939 method public void onServiceDiscoveredWithinRange(@NonNull android.net.wifi.aware.ServiceDiscoveryInfo, int);
Nate Jiangf9a50c02020-10-14 14:35:52 -0700940 method public void onServiceLost(@NonNull android.net.wifi.aware.PeerHandle, int);
Anton Hansson180d9562020-01-17 19:03:34 +0000941 method public void onSessionConfigFailed();
942 method public void onSessionConfigUpdated();
943 method public void onSessionTerminated();
944 method public void onSubscribeStarted(@NonNull android.net.wifi.aware.SubscribeDiscoverySession);
945 }
946
947 public class IdentityChangedListener {
948 ctor public IdentityChangedListener();
Sherri Linb5448a82022-12-27 16:29:20 +0100949 method public void onClusterIdChanged(int, @NonNull android.net.MacAddress);
Anton Hansson180d9562020-01-17 19:03:34 +0000950 method public void onIdentityChanged(byte[]);
Sherri Linb5448a82022-12-27 16:29:20 +0100951 field public static final int CLUSTER_CHANGE_EVENT_JOINED = 1; // 0x1
952 field public static final int CLUSTER_CHANGE_EVENT_STARTED = 0; // 0x0
Anton Hansson180d9562020-01-17 19:03:34 +0000953 }
954
955 public final class ParcelablePeerHandle extends android.net.wifi.aware.PeerHandle implements android.os.Parcelable {
956 ctor public ParcelablePeerHandle(@NonNull android.net.wifi.aware.PeerHandle);
957 method public int describeContents();
958 method public void writeToParcel(android.os.Parcel, int);
959 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.ParcelablePeerHandle> CREATOR;
960 }
961
962 public class PeerHandle {
963 }
964
965 public final class PublishConfig implements android.os.Parcelable {
966 method public int describeContents();
Nate Jiangef4f8f62022-01-21 00:11:51 -0800967 method public int getInstantCommunicationBand();
Nate Jiang9bda6122022-11-23 17:21:16 -0800968 method @Nullable public android.net.wifi.aware.AwarePairingConfig getPairingConfig();
Nate Jiang1050bea2022-01-21 19:03:50 -0800969 method @Nullable public android.net.wifi.aware.WifiAwareDataPathSecurityConfig getSecurityConfig();
Nate Jiang6dcd7bd2022-02-02 15:21:32 -0800970 method public boolean isInstantCommunicationModeEnabled();
Anton Hansson180d9562020-01-17 19:03:34 +0000971 method public void writeToParcel(android.os.Parcel, int);
972 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.PublishConfig> CREATOR;
973 field public static final int PUBLISH_TYPE_SOLICITED = 1; // 0x1
974 field public static final int PUBLISH_TYPE_UNSOLICITED = 0; // 0x0
975 }
976
977 public static final class PublishConfig.Builder {
978 ctor public PublishConfig.Builder();
979 method public android.net.wifi.aware.PublishConfig build();
Nate Jiang1050bea2022-01-21 19:03:50 -0800980 method @NonNull public android.net.wifi.aware.PublishConfig.Builder setDataPathSecurityConfig(@NonNull android.net.wifi.aware.WifiAwareDataPathSecurityConfig);
Nate Jiangef4f8f62022-01-21 00:11:51 -0800981 method @NonNull public android.net.wifi.aware.PublishConfig.Builder setInstantCommunicationModeEnabled(boolean, int);
Anton Hansson180d9562020-01-17 19:03:34 +0000982 method public android.net.wifi.aware.PublishConfig.Builder setMatchFilter(@Nullable java.util.List<byte[]>);
Nate Jiang9bda6122022-11-23 17:21:16 -0800983 method @NonNull public android.net.wifi.aware.PublishConfig.Builder setPairingConfig(@Nullable android.net.wifi.aware.AwarePairingConfig);
Anton Hansson180d9562020-01-17 19:03:34 +0000984 method public android.net.wifi.aware.PublishConfig.Builder setPublishType(int);
985 method public android.net.wifi.aware.PublishConfig.Builder setRangingEnabled(boolean);
986 method public android.net.wifi.aware.PublishConfig.Builder setServiceName(@NonNull String);
987 method public android.net.wifi.aware.PublishConfig.Builder setServiceSpecificInfo(@Nullable byte[]);
988 method public android.net.wifi.aware.PublishConfig.Builder setTerminateNotificationEnabled(boolean);
989 method public android.net.wifi.aware.PublishConfig.Builder setTtlSec(int);
990 }
991
992 public class PublishDiscoverySession extends android.net.wifi.aware.DiscoverySession {
993 method public void updatePublish(@NonNull android.net.wifi.aware.PublishConfig);
994 }
995
Nate Jiang6dcd7bd2022-02-02 15:21:32 -0800996 public final class ServiceDiscoveryInfo {
Nate Jiang1050bea2022-01-21 19:03:50 -0800997 method @NonNull public java.util.List<byte[]> getMatchFilters();
Nate Jiang9bda6122022-11-23 17:21:16 -0800998 method @Nullable public String getPairedAlias();
999 method @Nullable public android.net.wifi.aware.AwarePairingConfig getPairingConfig();
Nate Jiang1050bea2022-01-21 19:03:50 -08001000 method public int getPeerCipherSuite();
1001 method @NonNull public android.net.wifi.aware.PeerHandle getPeerHandle();
1002 method @Nullable public byte[] getScid();
1003 method @Nullable public byte[] getServiceSpecificInfo();
1004 }
1005
Anton Hansson180d9562020-01-17 19:03:34 +00001006 public final class SubscribeConfig implements android.os.Parcelable {
1007 method public int describeContents();
Nate Jiangef4f8f62022-01-21 00:11:51 -08001008 method public int getInstantCommunicationBand();
Nate Jiang9bda6122022-11-23 17:21:16 -08001009 method @Nullable public android.net.wifi.aware.AwarePairingConfig getPairingConfig();
Nate Jiang6dcd7bd2022-02-02 15:21:32 -08001010 method public boolean isInstantCommunicationModeEnabled();
Anton Hansson180d9562020-01-17 19:03:34 +00001011 method public void writeToParcel(android.os.Parcel, int);
1012 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.SubscribeConfig> CREATOR;
1013 field public static final int SUBSCRIBE_TYPE_ACTIVE = 1; // 0x1
1014 field public static final int SUBSCRIBE_TYPE_PASSIVE = 0; // 0x0
1015 }
1016
1017 public static final class SubscribeConfig.Builder {
1018 ctor public SubscribeConfig.Builder();
1019 method public android.net.wifi.aware.SubscribeConfig build();
Nate Jiangef4f8f62022-01-21 00:11:51 -08001020 method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setInstantCommunicationModeEnabled(boolean, int);
Anton Hansson180d9562020-01-17 19:03:34 +00001021 method public android.net.wifi.aware.SubscribeConfig.Builder setMatchFilter(@Nullable java.util.List<byte[]>);
1022 method public android.net.wifi.aware.SubscribeConfig.Builder setMaxDistanceMm(int);
1023 method public android.net.wifi.aware.SubscribeConfig.Builder setMinDistanceMm(int);
Nate Jiang9bda6122022-11-23 17:21:16 -08001024 method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setPairingConfig(@Nullable android.net.wifi.aware.AwarePairingConfig);
Anton Hansson180d9562020-01-17 19:03:34 +00001025 method public android.net.wifi.aware.SubscribeConfig.Builder setServiceName(@NonNull String);
1026 method public android.net.wifi.aware.SubscribeConfig.Builder setServiceSpecificInfo(@Nullable byte[]);
1027 method public android.net.wifi.aware.SubscribeConfig.Builder setSubscribeType(int);
1028 method public android.net.wifi.aware.SubscribeConfig.Builder setTerminateNotificationEnabled(boolean);
1029 method public android.net.wifi.aware.SubscribeConfig.Builder setTtlSec(int);
1030 }
1031
1032 public class SubscribeDiscoverySession extends android.net.wifi.aware.DiscoverySession {
1033 method public void updateSubscribe(@NonNull android.net.wifi.aware.SubscribeConfig);
1034 }
1035
Nate Jiangdcc6f022022-01-11 12:31:56 -08001036 public final class WifiAwareChannelInfo implements android.os.Parcelable {
1037 method public int describeContents();
1038 method @IntRange(from=0) public int getChannelBandwidth();
Nate Jianga8778d02022-01-31 13:24:45 -08001039 method @IntRange(from=0) public int getChannelFrequencyMhz();
1040 method @IntRange(from=0) public int getSpatialStreamCount();
Nate Jiangdcc6f022022-01-11 12:31:56 -08001041 method public void writeToParcel(@NonNull android.os.Parcel, int);
1042 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareChannelInfo> CREATOR;
1043 }
1044
Nate Jiang292e6632022-01-12 15:49:10 -08001045 public final class WifiAwareDataPathSecurityConfig implements android.os.Parcelable {
1046 method public int describeContents();
1047 method public int getCipherSuite();
1048 method @Nullable public byte[] getPmk();
1049 method @Nullable public byte[] getPmkId();
1050 method @Nullable public String getPskPassphrase();
1051 method public void writeToParcel(@NonNull android.os.Parcel, int);
1052 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareDataPathSecurityConfig> CREATOR;
1053 }
1054
1055 public static final class WifiAwareDataPathSecurityConfig.Builder {
1056 ctor public WifiAwareDataPathSecurityConfig.Builder(int);
1057 method @NonNull public android.net.wifi.aware.WifiAwareDataPathSecurityConfig build();
1058 method @NonNull public android.net.wifi.aware.WifiAwareDataPathSecurityConfig.Builder setPmk(@NonNull byte[]);
1059 method @NonNull public android.net.wifi.aware.WifiAwareDataPathSecurityConfig.Builder setPmkId(@NonNull byte[]);
1060 method @NonNull public android.net.wifi.aware.WifiAwareDataPathSecurityConfig.Builder setPskPassphrase(@NonNull String);
1061 }
1062
Anton Hansson180d9562020-01-17 19:03:34 +00001063 public class WifiAwareManager {
xshuc16c5d02021-11-17 18:47:57 -08001064 method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE}) public void attach(@NonNull android.net.wifi.aware.AttachCallback, @Nullable android.os.Handler);
1065 method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES}, conditional=true) public void attach(@NonNull android.net.wifi.aware.AttachCallback, @NonNull android.net.wifi.aware.IdentityChangedListener, @Nullable android.os.Handler);
Nate Jiang38b1ec22022-01-11 15:10:22 -08001066 method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.aware.AwareResources getAvailableAwareResources();
1067 method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.aware.Characteristics getCharacteristics();
Nate Jiangce0efe02023-01-25 11:22:38 -08001068 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void getPairedDevices(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>);
Nate Jiang38b1ec22022-01-11 15:10:22 -08001069 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isAvailable();
1070 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isDeviceAttached();
1071 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isInstantCommunicationModeEnabled();
Nate Jiang580a0982023-02-02 15:54:02 -08001072 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void isOpportunisticModeEnabled(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
Nate Jiang38b1ec22022-01-11 15:10:22 -08001073 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isSetChannelOnDataPathSupported();
Nate Jiangd4431612022-12-09 17:25:58 -08001074 method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public void removePairedDevice(@NonNull String);
1075 method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public void resetPairedDevices();
Nate Jiang580a0982023-02-02 15:54:02 -08001076 method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public void setOpportunisticModeEnabled(boolean);
Nate Jiang59e3e022022-01-24 18:05:00 -08001077 field @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public static final String ACTION_WIFI_AWARE_RESOURCE_CHANGED = "android.net.wifi.aware.action.WIFI_AWARE_RESOURCE_CHANGED";
Anton Hansson180d9562020-01-17 19:03:34 +00001078 field public static final String ACTION_WIFI_AWARE_STATE_CHANGED = "android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED";
Nate Jiang59e3e022022-01-24 18:05:00 -08001079 field public static final String EXTRA_AWARE_RESOURCES = "android.net.wifi.aware.extra.AWARE_RESOURCES";
Anton Hansson180d9562020-01-17 19:03:34 +00001080 field public static final int WIFI_AWARE_DATA_PATH_ROLE_INITIATOR = 0; // 0x0
1081 field public static final int WIFI_AWARE_DATA_PATH_ROLE_RESPONDER = 1; // 0x1
Nate Jiangf9a50c02020-10-14 14:35:52 -07001082 field public static final int WIFI_AWARE_DISCOVERY_LOST_REASON_PEER_NOT_VISIBLE = 1; // 0x1
1083 field public static final int WIFI_AWARE_DISCOVERY_LOST_REASON_UNKNOWN = 0; // 0x0
Anton Hansson180d9562020-01-17 19:03:34 +00001084 }
1085
1086 public final class WifiAwareNetworkInfo implements android.os.Parcelable android.net.TransportInfo {
1087 method public int describeContents();
Nate Jianga8778d02022-01-31 13:24:45 -08001088 method @NonNull public java.util.List<android.net.wifi.aware.WifiAwareChannelInfo> getChannelInfoList();
Anton Hansson180d9562020-01-17 19:03:34 +00001089 method @Nullable public java.net.Inet6Address getPeerIpv6Addr();
1090 method public int getPort();
1091 method public int getTransportProtocol();
1092 method public void writeToParcel(android.os.Parcel, int);
1093 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkInfo> CREATOR;
1094 }
1095
1096 public final class WifiAwareNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
1097 method public int describeContents();
Nate Jianga8778d02022-01-31 13:24:45 -08001098 method @IntRange(from=0) public int getChannelFrequencyMhz();
Nate Jiang292e6632022-01-12 15:49:10 -08001099 method @Nullable public android.net.wifi.aware.WifiAwareDataPathSecurityConfig getWifiAwareDataPathSecurityConfig();
Nate Jiang38b1ec22022-01-11 15:10:22 -08001100 method public boolean isChannelRequired();
Anton Hansson180d9562020-01-17 19:03:34 +00001101 method public void writeToParcel(android.os.Parcel, int);
1102 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkSpecifier> CREATOR;
1103 }
1104
1105 public static final class WifiAwareNetworkSpecifier.Builder {
1106 ctor public WifiAwareNetworkSpecifier.Builder(@NonNull android.net.wifi.aware.DiscoverySession, @NonNull android.net.wifi.aware.PeerHandle);
Nate Jiangef614452021-01-11 16:23:01 -08001107 ctor public WifiAwareNetworkSpecifier.Builder(@NonNull android.net.wifi.aware.PublishDiscoverySession);
Anton Hansson180d9562020-01-17 19:03:34 +00001108 method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier build();
Nate Jianga8778d02022-01-31 13:24:45 -08001109 method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setChannelFrequencyMhz(@IntRange(from=0) int, boolean);
Nate Jiang1050bea2022-01-21 19:03:50 -08001110 method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setDataPathSecurityConfig(@NonNull android.net.wifi.aware.WifiAwareDataPathSecurityConfig);
Anton Hansson180d9562020-01-17 19:03:34 +00001111 method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPmk(@NonNull byte[]);
1112 method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPort(@IntRange(from=0, to=65535) int);
1113 method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPskPassphrase(@NonNull String);
1114 method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setTransportProtocol(@IntRange(from=0, to=255) int);
1115 }
1116
1117 public class WifiAwareSession implements java.lang.AutoCloseable {
1118 method public void close();
Nate Jiang6b3ae392021-03-01 15:16:18 -08001119 method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierOpen(int, @NonNull byte[]);
1120 method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPassphrase(int, @NonNull byte[], @NonNull String);
xshuc16c5d02021-11-17 18:47:57 -08001121 method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES}, conditional=true) public void publish(@NonNull android.net.wifi.aware.PublishConfig, @NonNull android.net.wifi.aware.DiscoverySessionCallback, @Nullable android.os.Handler);
1122 method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES}, conditional=true) public void subscribe(@NonNull android.net.wifi.aware.SubscribeConfig, @NonNull android.net.wifi.aware.DiscoverySessionCallback, @Nullable android.os.Handler);
Anton Hansson180d9562020-01-17 19:03:34 +00001123 }
1124
1125}
1126
1127package android.net.wifi.hotspot2 {
1128
1129 public final class ConfigParser {
1130 method public static android.net.wifi.hotspot2.PasspointConfiguration parsePasspointConfig(String, byte[]);
1131 }
1132
1133 public final class PasspointConfiguration implements android.os.Parcelable {
1134 ctor public PasspointConfiguration();
1135 ctor public PasspointConfiguration(android.net.wifi.hotspot2.PasspointConfiguration);
1136 method public int describeContents();
1137 method public android.net.wifi.hotspot2.pps.Credential getCredential();
Hai Shalom1d362632021-03-12 15:00:50 -08001138 method @Nullable public String getDecoratedIdentityPrefix();
Anton Hansson180d9562020-01-17 19:03:34 +00001139 method public android.net.wifi.hotspot2.pps.HomeSp getHomeSp();
1140 method public long getSubscriptionExpirationTimeMillis();
1141 method @NonNull public String getUniqueId();
1142 method public boolean isOsuProvisioned();
1143 method public void setCredential(android.net.wifi.hotspot2.pps.Credential);
Hai Shalom1d362632021-03-12 15:00:50 -08001144 method public void setDecoratedIdentityPrefix(@Nullable String);
Anton Hansson180d9562020-01-17 19:03:34 +00001145 method public void setHomeSp(android.net.wifi.hotspot2.pps.HomeSp);
Hai Shalom0e159412022-02-03 19:38:31 -08001146 method public void setSubscriptionExpirationTimeInMillis(long);
Anton Hansson180d9562020-01-17 19:03:34 +00001147 method public void writeToParcel(android.os.Parcel, int);
1148 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.PasspointConfiguration> CREATOR;
1149 }
1150
1151}
1152
1153package android.net.wifi.hotspot2.omadm {
1154
1155 public final class PpsMoParser {
1156 method public static android.net.wifi.hotspot2.PasspointConfiguration parseMoText(String);
1157 }
1158
1159}
1160
1161package android.net.wifi.hotspot2.pps {
1162
1163 public final class Credential implements android.os.Parcelable {
1164 ctor public Credential();
1165 ctor public Credential(android.net.wifi.hotspot2.pps.Credential);
1166 method public int describeContents();
1167 method public java.security.cert.X509Certificate getCaCertificate();
1168 method public android.net.wifi.hotspot2.pps.Credential.CertificateCredential getCertCredential();
1169 method public java.security.cert.X509Certificate[] getClientCertificateChain();
1170 method public java.security.PrivateKey getClientPrivateKey();
Jimmy Chencf2693c2022-10-06 15:39:02 +08001171 method public int getMinimumTlsVersion();
Anton Hansson180d9562020-01-17 19:03:34 +00001172 method public String getRealm();
1173 method public android.net.wifi.hotspot2.pps.Credential.SimCredential getSimCredential();
1174 method public android.net.wifi.hotspot2.pps.Credential.UserCredential getUserCredential();
1175 method public void setCaCertificate(java.security.cert.X509Certificate);
1176 method public void setCertCredential(android.net.wifi.hotspot2.pps.Credential.CertificateCredential);
1177 method public void setClientCertificateChain(java.security.cert.X509Certificate[]);
1178 method public void setClientPrivateKey(java.security.PrivateKey);
Jimmy Chencf2693c2022-10-06 15:39:02 +08001179 method public void setMinimumTlsVersion(int) throws java.lang.IllegalArgumentException;
Anton Hansson180d9562020-01-17 19:03:34 +00001180 method public void setRealm(String);
1181 method public void setSimCredential(android.net.wifi.hotspot2.pps.Credential.SimCredential);
1182 method public void setUserCredential(android.net.wifi.hotspot2.pps.Credential.UserCredential);
1183 method public void writeToParcel(android.os.Parcel, int);
1184 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential> CREATOR;
1185 }
1186
1187 public static final class Credential.CertificateCredential implements android.os.Parcelable {
1188 ctor public Credential.CertificateCredential();
1189 ctor public Credential.CertificateCredential(android.net.wifi.hotspot2.pps.Credential.CertificateCredential);
1190 method public int describeContents();
1191 method public byte[] getCertSha256Fingerprint();
1192 method public String getCertType();
1193 method public void setCertSha256Fingerprint(byte[]);
1194 method public void setCertType(String);
1195 method public void writeToParcel(android.os.Parcel, int);
1196 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.CertificateCredential> CREATOR;
1197 }
1198
1199 public static final class Credential.SimCredential implements android.os.Parcelable {
1200 ctor public Credential.SimCredential();
1201 ctor public Credential.SimCredential(android.net.wifi.hotspot2.pps.Credential.SimCredential);
1202 method public int describeContents();
1203 method public int getEapType();
1204 method public String getImsi();
1205 method public void setEapType(int);
1206 method public void setImsi(String);
1207 method public void writeToParcel(android.os.Parcel, int);
1208 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.SimCredential> CREATOR;
1209 }
1210
1211 public static final class Credential.UserCredential implements android.os.Parcelable {
1212 ctor public Credential.UserCredential();
1213 ctor public Credential.UserCredential(android.net.wifi.hotspot2.pps.Credential.UserCredential);
1214 method public int describeContents();
1215 method public int getEapType();
1216 method public String getNonEapInnerMethod();
1217 method public String getPassword();
1218 method public String getUsername();
1219 method public void setEapType(int);
1220 method public void setNonEapInnerMethod(String);
1221 method public void setPassword(String);
1222 method public void setUsername(String);
1223 method public void writeToParcel(android.os.Parcel, int);
1224 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.UserCredential> CREATOR;
1225 }
1226
1227 public final class HomeSp implements android.os.Parcelable {
1228 ctor public HomeSp();
1229 ctor public HomeSp(android.net.wifi.hotspot2.pps.HomeSp);
1230 method public int describeContents();
1231 method public String getFqdn();
1232 method public String getFriendlyName();
Hai Shalomac2e9dc2020-09-15 15:32:11 -07001233 method @Nullable public long[] getMatchAllOis();
1234 method @Nullable public long[] getMatchAnyOis();
Hai Shalome2853f12020-10-14 18:21:52 -07001235 method @NonNull public java.util.Collection<java.lang.String> getOtherHomePartnersList();
Anton Hansson180d9562020-01-17 19:03:34 +00001236 method public long[] getRoamingConsortiumOis();
1237 method public void setFqdn(String);
1238 method public void setFriendlyName(String);
Hai Shalomac2e9dc2020-09-15 15:32:11 -07001239 method public void setMatchAllOis(@Nullable long[]);
1240 method public void setMatchAnyOis(@Nullable long[]);
Hai Shalome2853f12020-10-14 18:21:52 -07001241 method public void setOtherHomePartnersList(@NonNull java.util.Collection<java.lang.String>);
Anton Hansson180d9562020-01-17 19:03:34 +00001242 method public void setRoamingConsortiumOis(long[]);
1243 method public void writeToParcel(android.os.Parcel, int);
1244 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.HomeSp> CREATOR;
1245 }
1246
1247}
1248
1249package android.net.wifi.p2p {
1250
1251 public class WifiP2pConfig implements android.os.Parcelable {
1252 ctor public WifiP2pConfig();
1253 ctor public WifiP2pConfig(android.net.wifi.p2p.WifiP2pConfig);
1254 method public int describeContents();
Biswarup Pal4d8f6182022-11-19 09:40:10 +00001255 method public int getGroupClientIpProvisioningMode();
Anton Hansson180d9562020-01-17 19:03:34 +00001256 method public int getGroupOwnerBand();
1257 method public int getNetworkId();
1258 method @Nullable public String getNetworkName();
1259 method @Nullable public String getPassphrase();
Sunil Ravi3288c7c2024-09-26 00:34:57 +00001260 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public int getPccModeConnectionType();
Anton Hansson180d9562020-01-17 19:03:34 +00001261 method public void writeToParcel(android.os.Parcel, int);
1262 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pConfig> CREATOR;
Biswarup Pal4d8f6182022-11-19 09:40:10 +00001263 field public static final int GROUP_CLIENT_IP_PROVISIONING_MODE_IPV4_DHCP = 0; // 0x0
1264 field public static final int GROUP_CLIENT_IP_PROVISIONING_MODE_IPV6_LINK_LOCAL = 1; // 0x1
Anton Hansson180d9562020-01-17 19:03:34 +00001265 field public static final int GROUP_OWNER_BAND_2GHZ = 1; // 0x1
1266 field public static final int GROUP_OWNER_BAND_5GHZ = 2; // 0x2
Sunil Ravi3288c7c2024-09-26 00:34:57 +00001267 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int GROUP_OWNER_BAND_6GHZ = 3; // 0x3
Anton Hansson180d9562020-01-17 19:03:34 +00001268 field public static final int GROUP_OWNER_BAND_AUTO = 0; // 0x0
1269 field public static final int GROUP_OWNER_INTENT_AUTO = -1; // 0xffffffff
1270 field public static final int GROUP_OWNER_INTENT_MAX = 15; // 0xf
1271 field public static final int GROUP_OWNER_INTENT_MIN = 0; // 0x0
Sunil Ravi3288c7c2024-09-26 00:34:57 +00001272 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int PCC_MODE_CONNECTION_TYPE_LEGACY_ONLY = 0; // 0x0
1273 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int PCC_MODE_CONNECTION_TYPE_LEGACY_OR_R2 = 1; // 0x1
1274 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int PCC_MODE_CONNECTION_TYPE_R2_ONLY = 2; // 0x2
Anton Hansson180d9562020-01-17 19:03:34 +00001275 field public String deviceAddress;
1276 field @IntRange(from=0, to=15) public int groupOwnerIntent;
1277 field public android.net.wifi.WpsInfo wps;
1278 }
1279
1280 public static final class WifiP2pConfig.Builder {
1281 ctor public WifiP2pConfig.Builder();
1282 method @NonNull public android.net.wifi.p2p.WifiP2pConfig build();
1283 method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder enablePersistentMode(boolean);
1284 method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setDeviceAddress(@Nullable android.net.MacAddress);
Biswarup Pal4d8f6182022-11-19 09:40:10 +00001285 method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupClientIpProvisioningMode(int);
Anton Hansson180d9562020-01-17 19:03:34 +00001286 method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingBand(int);
1287 method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingFrequency(int);
1288 method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setNetworkName(@NonNull String);
1289 method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setPassphrase(@NonNull String);
Sunil Ravi3288c7c2024-09-26 00:34:57 +00001290 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setPccModeConnectionType(int);
Anton Hansson180d9562020-01-17 19:03:34 +00001291 }
1292
1293 public class WifiP2pDevice implements android.os.Parcelable {
1294 ctor public WifiP2pDevice();
1295 ctor public WifiP2pDevice(android.net.wifi.p2p.WifiP2pDevice);
1296 method public int describeContents();
Sunil Ravi6d99d662024-02-05 07:38:13 +00001297 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @Nullable public java.net.InetAddress getIpAddress();
Jimmy Chen20bd0292022-02-09 13:45:10 +08001298 method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getVendorElements();
Anton Hansson180d9562020-01-17 19:03:34 +00001299 method @Nullable public android.net.wifi.p2p.WifiP2pWfdInfo getWfdInfo();
1300 method public boolean isGroupOwner();
1301 method public boolean isServiceDiscoveryCapable();
1302 method public void update(@NonNull android.net.wifi.p2p.WifiP2pDevice);
1303 method public boolean wpsDisplaySupported();
1304 method public boolean wpsKeypadSupported();
1305 method public boolean wpsPbcSupported();
1306 method public void writeToParcel(android.os.Parcel, int);
1307 field public static final int AVAILABLE = 3; // 0x3
1308 field public static final int CONNECTED = 0; // 0x0
1309 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDevice> CREATOR;
1310 field public static final int FAILED = 2; // 0x2
1311 field public static final int INVITED = 1; // 0x1
1312 field public static final int UNAVAILABLE = 4; // 0x4
1313 field public String deviceAddress;
1314 field public String deviceName;
1315 field public String primaryDeviceType;
1316 field public String secondaryDeviceType;
1317 field public int status;
1318 }
1319
1320 public class WifiP2pDeviceList implements android.os.Parcelable {
1321 ctor public WifiP2pDeviceList();
1322 ctor public WifiP2pDeviceList(android.net.wifi.p2p.WifiP2pDeviceList);
1323 method public int describeContents();
1324 method public android.net.wifi.p2p.WifiP2pDevice get(String);
1325 method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getDeviceList();
1326 method public void writeToParcel(android.os.Parcel, int);
1327 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDeviceList> CREATOR;
1328 }
1329
Nate Jiang55141c52024-02-15 17:05:24 -08001330 @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public final class WifiP2pDiscoveryConfig implements android.os.Parcelable {
1331 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int describeContents();
1332 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int getFrequencyMhz();
1333 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int getScanType();
1334 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public void writeToParcel(@NonNull android.os.Parcel, int);
1335 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDiscoveryConfig> CREATOR;
Vinay Gannevaram6524d182023-12-04 11:06:26 +05301336 }
1337
Nate Jiang55141c52024-02-15 17:05:24 -08001338 @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final class WifiP2pDiscoveryConfig.Builder {
1339 ctor @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public WifiP2pDiscoveryConfig.Builder(int);
1340 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.p2p.WifiP2pDiscoveryConfig build();
1341 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.p2p.WifiP2pDiscoveryConfig.Builder setFrequencyMhz(@IntRange(from=0) int);
Vinay Gannevaram6524d182023-12-04 11:06:26 +05301342 }
1343
Anton Hansson180d9562020-01-17 19:03:34 +00001344 public class WifiP2pGroup implements android.os.Parcelable {
1345 ctor public WifiP2pGroup();
1346 ctor public WifiP2pGroup(android.net.wifi.p2p.WifiP2pGroup);
1347 method public int describeContents();
1348 method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getClientList();
1349 method public int getFrequency();
1350 method public String getInterface();
1351 method public int getNetworkId();
1352 method public String getNetworkName();
1353 method public android.net.wifi.p2p.WifiP2pDevice getOwner();
1354 method public String getPassphrase();
Sunil Ravi3288c7c2024-09-26 00:34:57 +00001355 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public int getSecurityType();
Anton Hansson180d9562020-01-17 19:03:34 +00001356 method public boolean isGroupOwner();
1357 method public void writeToParcel(android.os.Parcel, int);
1358 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroup> CREATOR;
1359 field public static final int NETWORK_ID_PERSISTENT = -2; // 0xfffffffe
1360 field public static final int NETWORK_ID_TEMPORARY = -1; // 0xffffffff
Sunil Ravi3288c7c2024-09-26 00:34:57 +00001361 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int SECURITY_TYPE_UNKNOWN = -1; // 0xffffffff
1362 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int SECURITY_TYPE_WPA2_PSK = 0; // 0x0
1363 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int SECURITY_TYPE_WPA3_COMPATIBILITY = 1; // 0x1
1364 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int SECURITY_TYPE_WPA3_SAE = 2; // 0x2
Anton Hansson180d9562020-01-17 19:03:34 +00001365 }
1366
1367 public class WifiP2pInfo implements android.os.Parcelable {
1368 ctor public WifiP2pInfo();
1369 ctor public WifiP2pInfo(android.net.wifi.p2p.WifiP2pInfo);
1370 method public int describeContents();
1371 method public void writeToParcel(android.os.Parcel, int);
1372 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pInfo> CREATOR;
1373 field public boolean groupFormed;
1374 field public java.net.InetAddress groupOwnerAddress;
1375 field public boolean isGroupOwner;
1376 }
1377
1378 public class WifiP2pManager {
xshu4145f512022-03-07 19:14:46 -08001379 method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void addExternalApprover(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.MacAddress, @NonNull android.net.wifi.p2p.WifiP2pManager.ExternalApproverRequestListener);
xshu34fe9862021-12-03 18:39:36 -08001380 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void addLocalService(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceInfo, android.net.wifi.p2p.WifiP2pManager.ActionListener);
Anton Hansson180d9562020-01-17 19:03:34 +00001381 method public void addServiceRequest(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceRequest, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1382 method public void cancelConnect(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1383 method public void clearLocalServices(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1384 method public void clearServiceRequests(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
xshu34fe9862021-12-03 18:39:36 -08001385 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void connect(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pConfig, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1386 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void createGroup(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1387 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void createGroup(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pConfig, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1388 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void discoverPeers(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
Jimmy Chen3beccd52021-12-24 14:30:38 +08001389 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void discoverPeersOnSocialChannels(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1390 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void discoverPeersOnSpecificFrequency(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
xshu34fe9862021-12-03 18:39:36 -08001391 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void discoverServices(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
Shuibing Dai725724d2023-01-18 10:24:26 -08001392 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void getListenState(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
Jimmy Chen7ce3c1d2022-02-16 18:56:32 +08001393 method public static int getP2pMaxAllowedVendorElementsLengthBytes();
Anton Hansson180d9562020-01-17 19:03:34 +00001394 method public android.net.wifi.p2p.WifiP2pManager.Channel initialize(android.content.Context, android.os.Looper, android.net.wifi.p2p.WifiP2pManager.ChannelListener);
Jimmy Chendd2c6f92022-02-10 21:10:53 +08001395 method public boolean isChannelConstrainedDiscoverySupported();
1396 method public boolean isGroupClientRemovalSupported();
Biswarup Pal77ffa092023-02-28 13:19:15 +00001397 method public boolean isGroupOwnerIPv6LinkLocalAddressProvided();
Sunil Ravi3288c7c2024-09-26 00:34:57 +00001398 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public boolean isPccModeSupported();
Jimmy Chendd2c6f92022-02-10 21:10:53 +08001399 method public boolean isSetVendorElementsSupported();
Sunil Ravi3288c7c2024-09-26 00:34:57 +00001400 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public boolean isWiFiDirectR2Supported();
Shuibing Daid183a0e2023-11-21 13:59:29 -08001401 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_WIFI_STATE}, conditional=true) public void registerWifiP2pListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.p2p.WifiP2pManager.WifiP2pListener);
Miaf26b6792021-12-02 05:49:06 +00001402 method public void removeClient(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.MacAddress, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
xshu4145f512022-03-07 19:14:46 -08001403 method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void removeExternalApprover(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.MacAddress, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
Anton Hansson180d9562020-01-17 19:03:34 +00001404 method public void removeGroup(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1405 method public void removeLocalService(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceInfo, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1406 method public void removeServiceRequest(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceRequest, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1407 method public void requestConnectionInfo(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ConnectionInfoListener);
xshu34fe9862021-12-03 18:39:36 -08001408 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void requestDeviceInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.DeviceInfoListener);
Anton Hansson180d9562020-01-17 19:03:34 +00001409 method public void requestDiscoveryState(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.DiscoveryStateListener);
xshu34fe9862021-12-03 18:39:36 -08001410 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void requestGroupInfo(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.GroupInfoListener);
Anton Hansson180d9562020-01-17 19:03:34 +00001411 method public void requestNetworkInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.NetworkInfoListener);
1412 method public void requestP2pState(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.P2pStateListener);
xshu34fe9862021-12-03 18:39:36 -08001413 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void requestPeers(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.PeerListListener);
xshu4145f512022-03-07 19:14:46 -08001414 method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void setConnectionRequestResult(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.MacAddress, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1415 method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void setConnectionRequestResult(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.MacAddress, int, @Nullable String, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
Anton Hansson180d9562020-01-17 19:03:34 +00001416 method public void setDnsSdResponseListeners(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.DnsSdServiceResponseListener, android.net.wifi.p2p.WifiP2pManager.DnsSdTxtRecordListener);
1417 method public void setServiceResponseListener(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ServiceResponseListener);
1418 method public void setUpnpServiceResponseListener(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.UpnpServiceResponseListener);
Jimmy Chen20bd0292022-02-09 13:45:10 +08001419 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void setVendorElements(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull java.util.List<android.net.wifi.ScanResult.InformationElement>, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
Jimmy Chen07c5a8d2022-06-02 11:58:06 +08001420 method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setWfdInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pWfdInfo, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
xshu63f3e8f2021-12-09 12:25:44 -08001421 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void startListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
Gabriel Birenc29af522024-02-28 18:31:55 +00001422 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void startPeerDiscovery(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pDiscoveryConfig, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
Jimmy Chen4e68cbe2021-11-19 16:06:59 +08001423 method public void stopListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
Anton Hansson180d9562020-01-17 19:03:34 +00001424 method public void stopPeerDiscovery(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
Shuibing Daid183a0e2023-11-21 13:59:29 -08001425 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public void unregisterWifiP2pListener(@NonNull android.net.wifi.p2p.WifiP2pManager.WifiP2pListener);
Shuibing Dai725724d2023-01-18 10:24:26 -08001426 field public static final String ACTION_WIFI_P2P_LISTEN_STATE_CHANGED = "android.net.wifi.p2p.action.WIFI_P2P_LISTEN_STATE_CHANGED";
Jimmy Chen7e2c1f42022-02-24 10:25:33 +08001427 field public static final String ACTION_WIFI_P2P_REQUEST_RESPONSE_CHANGED = "android.net.wifi.p2p.action.WIFI_P2P_REQUEST_RESPONSE_CHANGED";
Anton Hansson180d9562020-01-17 19:03:34 +00001428 field public static final int BUSY = 2; // 0x2
Jimmy Chen1cfdc7b2022-02-09 13:16:24 +08001429 field public static final int CONNECTION_REQUEST_ACCEPT = 0; // 0x0
1430 field public static final int CONNECTION_REQUEST_DEFER_SHOW_PIN_TO_SERVICE = 3; // 0x3
1431 field public static final int CONNECTION_REQUEST_DEFER_TO_SERVICE = 2; // 0x2
1432 field public static final int CONNECTION_REQUEST_REJECT = 1; // 0x1
Anton Hansson180d9562020-01-17 19:03:34 +00001433 field public static final int ERROR = 0; // 0x0
1434 field public static final String EXTRA_DISCOVERY_STATE = "discoveryState";
Shuibing Dai725724d2023-01-18 10:24:26 -08001435 field public static final String EXTRA_LISTEN_STATE = "android.net.wifi.p2p.extra.LISTEN_STATE";
Anton Hansson180d9562020-01-17 19:03:34 +00001436 field public static final String EXTRA_NETWORK_INFO = "networkInfo";
1437 field public static final String EXTRA_P2P_DEVICE_LIST = "wifiP2pDeviceList";
Jimmy Chen02b788e2022-03-09 10:53:01 +08001438 field public static final String EXTRA_REQUEST_CONFIG = "android.net.wifi.p2p.extra.REQUEST_CONFIG";
Jimmy Chen7e2c1f42022-02-24 10:25:33 +08001439 field public static final String EXTRA_REQUEST_RESPONSE = "android.net.wifi.p2p.extra.REQUEST_RESPONSE";
Anton Hansson180d9562020-01-17 19:03:34 +00001440 field public static final String EXTRA_WIFI_P2P_DEVICE = "wifiP2pDevice";
1441 field public static final String EXTRA_WIFI_P2P_GROUP = "p2pGroupInfo";
1442 field public static final String EXTRA_WIFI_P2P_INFO = "wifiP2pInfo";
1443 field public static final String EXTRA_WIFI_STATE = "wifi_p2p_state";
Shuibing Dai0da55e62024-03-04 17:51:52 -08001444 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_CONNECTION_CANCELLED = 0; // 0x0
1445 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_GROUP_REMOVED = 4; // 0x4
1446 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_INVITATION_FAILED = 5; // 0x5
1447 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_PROVISION_DISCOVERY_FAILED = 3; // 0x3
1448 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_TIMED_OUT = 1; // 0x1
1449 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_USER_REJECTED = 2; // 0x2
Anton Hansson180d9562020-01-17 19:03:34 +00001450 field public static final int NO_SERVICE_REQUESTS = 3; // 0x3
1451 field public static final int P2P_UNSUPPORTED = 1; // 0x1
1452 field public static final String WIFI_P2P_CONNECTION_CHANGED_ACTION = "android.net.wifi.p2p.CONNECTION_STATE_CHANGE";
1453 field public static final String WIFI_P2P_DISCOVERY_CHANGED_ACTION = "android.net.wifi.p2p.DISCOVERY_STATE_CHANGE";
1454 field public static final int WIFI_P2P_DISCOVERY_STARTED = 2; // 0x2
1455 field public static final int WIFI_P2P_DISCOVERY_STOPPED = 1; // 0x1
Shuibing Dai725724d2023-01-18 10:24:26 -08001456 field public static final int WIFI_P2P_LISTEN_STARTED = 2; // 0x2
1457 field public static final int WIFI_P2P_LISTEN_STOPPED = 1; // 0x1
Anton Hansson180d9562020-01-17 19:03:34 +00001458 field public static final String WIFI_P2P_PEERS_CHANGED_ACTION = "android.net.wifi.p2p.PEERS_CHANGED";
Nate Jiang55141c52024-02-15 17:05:24 -08001459 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int WIFI_P2P_SCAN_FULL = 0; // 0x0
1460 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int WIFI_P2P_SCAN_SINGLE_FREQ = 2; // 0x2
1461 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int WIFI_P2P_SCAN_SOCIAL = 1; // 0x1
Anton Hansson180d9562020-01-17 19:03:34 +00001462 field public static final String WIFI_P2P_STATE_CHANGED_ACTION = "android.net.wifi.p2p.STATE_CHANGED";
1463 field public static final int WIFI_P2P_STATE_DISABLED = 1; // 0x1
1464 field public static final int WIFI_P2P_STATE_ENABLED = 2; // 0x2
1465 field public static final String WIFI_P2P_THIS_DEVICE_CHANGED_ACTION = "android.net.wifi.p2p.THIS_DEVICE_CHANGED";
1466 }
1467
1468 public static interface WifiP2pManager.ActionListener {
1469 method public void onFailure(int);
1470 method public void onSuccess();
1471 }
1472
1473 public static class WifiP2pManager.Channel implements java.lang.AutoCloseable {
1474 method public void close();
1475 }
1476
1477 public static interface WifiP2pManager.ChannelListener {
1478 method public void onChannelDisconnected();
1479 }
1480
1481 public static interface WifiP2pManager.ConnectionInfoListener {
1482 method public void onConnectionInfoAvailable(android.net.wifi.p2p.WifiP2pInfo);
1483 }
1484
1485 public static interface WifiP2pManager.DeviceInfoListener {
1486 method public void onDeviceInfoAvailable(@Nullable android.net.wifi.p2p.WifiP2pDevice);
1487 }
1488
1489 public static interface WifiP2pManager.DiscoveryStateListener {
1490 method public void onDiscoveryStateAvailable(int);
1491 }
1492
1493 public static interface WifiP2pManager.DnsSdServiceResponseListener {
1494 method public void onDnsSdServiceAvailable(String, String, android.net.wifi.p2p.WifiP2pDevice);
1495 }
1496
1497 public static interface WifiP2pManager.DnsSdTxtRecordListener {
1498 method public void onDnsSdTxtRecordAvailable(String, java.util.Map<java.lang.String,java.lang.String>, android.net.wifi.p2p.WifiP2pDevice);
1499 }
1500
Jimmy Chen1cfdc7b2022-02-09 13:16:24 +08001501 public static interface WifiP2pManager.ExternalApproverRequestListener {
1502 method public void onAttached(@NonNull android.net.MacAddress);
1503 method public void onConnectionRequested(int, @NonNull android.net.wifi.p2p.WifiP2pConfig, @NonNull android.net.wifi.p2p.WifiP2pDevice);
1504 method public void onDetached(@NonNull android.net.MacAddress, int);
1505 method public void onPinGenerated(@NonNull android.net.MacAddress, @NonNull String);
1506 field public static final int APPROVER_DETACH_REASON_CLOSE = 3; // 0x3
1507 field public static final int APPROVER_DETACH_REASON_FAILURE = 1; // 0x1
1508 field public static final int APPROVER_DETACH_REASON_REMOVE = 0; // 0x0
1509 field public static final int APPROVER_DETACH_REASON_REPLACE = 2; // 0x2
1510 field public static final int REQUEST_TYPE_INVITATION = 1; // 0x1
1511 field public static final int REQUEST_TYPE_JOIN = 2; // 0x2
1512 field public static final int REQUEST_TYPE_NEGOTIATION = 0; // 0x0
1513 }
1514
Anton Hansson180d9562020-01-17 19:03:34 +00001515 public static interface WifiP2pManager.GroupInfoListener {
1516 method public void onGroupInfoAvailable(android.net.wifi.p2p.WifiP2pGroup);
1517 }
1518
1519 public static interface WifiP2pManager.NetworkInfoListener {
1520 method public void onNetworkInfoAvailable(@NonNull android.net.NetworkInfo);
1521 }
1522
1523 public static interface WifiP2pManager.P2pStateListener {
1524 method public void onP2pStateAvailable(int);
1525 }
1526
1527 public static interface WifiP2pManager.PeerListListener {
1528 method public void onPeersAvailable(android.net.wifi.p2p.WifiP2pDeviceList);
1529 }
1530
1531 public static interface WifiP2pManager.ServiceResponseListener {
1532 method public void onServiceAvailable(int, byte[], android.net.wifi.p2p.WifiP2pDevice);
1533 }
1534
1535 public static interface WifiP2pManager.UpnpServiceResponseListener {
1536 method public void onUpnpServiceAvailable(java.util.List<java.lang.String>, android.net.wifi.p2p.WifiP2pDevice);
1537 }
1538
Shuibing Daid183a0e2023-11-21 13:59:29 -08001539 @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static interface WifiP2pManager.WifiP2pListener {
1540 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onDeviceConfigurationChanged(@Nullable android.net.wifi.p2p.WifiP2pDevice);
Shuibing Dai0da55e62024-03-04 17:51:52 -08001541 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onDiscoveryStateChanged(int);
Shuibing Daid183a0e2023-11-21 13:59:29 -08001542 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onFrequencyChanged(@NonNull android.net.wifi.p2p.WifiP2pInfo, @NonNull android.net.wifi.p2p.WifiP2pGroup);
1543 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onGroupCreated(@NonNull android.net.wifi.p2p.WifiP2pInfo, @NonNull android.net.wifi.p2p.WifiP2pGroup);
1544 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onGroupCreating();
Shuibing Dai0da55e62024-03-04 17:51:52 -08001545 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onGroupCreationFailed(int);
Shuibing Daid183a0e2023-11-21 13:59:29 -08001546 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onGroupNegotiationRejectedByUser();
1547 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onGroupRemoved();
Shuibing Dai0da55e62024-03-04 17:51:52 -08001548 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onListenStateChanged(int);
1549 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onP2pStateChanged(int);
Shuibing Daid183a0e2023-11-21 13:59:29 -08001550 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onPeerClientDisconnected(@NonNull android.net.wifi.p2p.WifiP2pInfo, @NonNull android.net.wifi.p2p.WifiP2pGroup);
1551 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onPeerClientJoined(@NonNull android.net.wifi.p2p.WifiP2pInfo, @NonNull android.net.wifi.p2p.WifiP2pGroup);
1552 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onPeerListChanged(@NonNull android.net.wifi.p2p.WifiP2pDeviceList);
Shuibing Daid183a0e2023-11-21 13:59:29 -08001553 }
1554
Anton Hansson180d9562020-01-17 19:03:34 +00001555 public final class WifiP2pWfdInfo implements android.os.Parcelable {
1556 ctor public WifiP2pWfdInfo();
1557 ctor public WifiP2pWfdInfo(@Nullable android.net.wifi.p2p.WifiP2pWfdInfo);
1558 method public int describeContents();
1559 method public int getControlPort();
Jimmy Chen4ada7922021-03-23 14:31:03 +08001560 method public int getDeviceInfo();
Anton Hansson180d9562020-01-17 19:03:34 +00001561 method public int getDeviceType();
1562 method public int getMaxThroughput();
Jimmy Chen4ada7922021-03-23 14:31:03 +08001563 method public int getR2DeviceInfo();
Jimmy Chen7ddb4502021-03-18 12:30:13 +08001564 method public int getR2DeviceType();
Anton Hansson180d9562020-01-17 19:03:34 +00001565 method public boolean isContentProtectionSupported();
Jimmy Chena5e551b2021-03-05 16:42:39 +08001566 method public boolean isCoupledSinkSupportedAtSink();
1567 method public boolean isCoupledSinkSupportedAtSource();
Anton Hansson180d9562020-01-17 19:03:34 +00001568 method public boolean isEnabled();
Jimmy Chenec558292021-03-18 17:41:06 +08001569 method public boolean isR2Supported();
Anton Hansson180d9562020-01-17 19:03:34 +00001570 method public boolean isSessionAvailable();
1571 method public void setContentProtectionSupported(boolean);
1572 method public void setControlPort(@IntRange(from=0) int);
Jimmy Chena5e551b2021-03-05 16:42:39 +08001573 method public void setCoupledSinkSupportAtSink(boolean);
1574 method public void setCoupledSinkSupportAtSource(boolean);
Anton Hansson180d9562020-01-17 19:03:34 +00001575 method public boolean setDeviceType(int);
1576 method public void setEnabled(boolean);
1577 method public void setMaxThroughput(@IntRange(from=0) int);
Jimmy Chenec558292021-03-18 17:41:06 +08001578 method public boolean setR2DeviceType(int);
Anton Hansson180d9562020-01-17 19:03:34 +00001579 method public void setSessionAvailable(boolean);
1580 method public void writeToParcel(@NonNull android.os.Parcel, int);
1581 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pWfdInfo> CREATOR;
Jimmy Chen012448d2021-03-30 17:37:52 +08001582 field public static final int DEVICE_INFO_AUDIO_ONLY_SUPPORT_AT_SOURCE = 2048; // 0x800
1583 field public static final int DEVICE_INFO_AUDIO_UNSUPPORTED_AT_PRIMARY_SINK = 1024; // 0x400
1584 field public static final int DEVICE_INFO_CONTENT_PROTECTION_SUPPORT = 256; // 0x100
1585 field public static final int DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SINK = 8; // 0x8
1586 field public static final int DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SOURCE = 4; // 0x4
1587 field public static final int DEVICE_INFO_DEVICE_TYPE_MASK = 3; // 0x3
1588 field public static final int DEVICE_INFO_PREFERRED_CONNECTIVITY_MASK = 128; // 0x80
1589 field public static final int DEVICE_INFO_SESSION_AVAILABLE_MASK = 48; // 0x30
1590 field public static final int DEVICE_INFO_TDLS_PERSISTENT_GROUP = 4096; // 0x1000
1591 field public static final int DEVICE_INFO_TDLS_PERSISTENT_GROUP_REINVOKE = 8192; // 0x2000
1592 field public static final int DEVICE_INFO_TIME_SYNCHRONIZATION_SUPPORT = 512; // 0x200
1593 field public static final int DEVICE_INFO_WFD_SERVICE_DISCOVERY_SUPPORT = 64; // 0x40
Anton Hansson180d9562020-01-17 19:03:34 +00001594 field public static final int DEVICE_TYPE_PRIMARY_SINK = 1; // 0x1
1595 field public static final int DEVICE_TYPE_SECONDARY_SINK = 2; // 0x2
1596 field public static final int DEVICE_TYPE_SOURCE_OR_PRIMARY_SINK = 3; // 0x3
1597 field public static final int DEVICE_TYPE_WFD_SOURCE = 0; // 0x0
Jimmy Chen4ada7922021-03-23 14:31:03 +08001598 field public static final int PREFERRED_CONNECTIVITY_P2P = 0; // 0x0
1599 field public static final int PREFERRED_CONNECTIVITY_TDLS = 1; // 0x1
Anton Hansson180d9562020-01-17 19:03:34 +00001600 }
1601
1602}
1603
1604package android.net.wifi.p2p.nsd {
1605
1606 public class WifiP2pDnsSdServiceInfo extends android.net.wifi.p2p.nsd.WifiP2pServiceInfo {
1607 method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceInfo newInstance(String, String, java.util.Map<java.lang.String,java.lang.String>);
1608 }
1609
1610 public class WifiP2pDnsSdServiceRequest extends android.net.wifi.p2p.nsd.WifiP2pServiceRequest {
1611 method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance();
1612 method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance(String);
1613 method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance(String, String);
1614 }
1615
1616 public class WifiP2pServiceInfo implements android.os.Parcelable {
1617 method public int describeContents();
1618 method public void writeToParcel(android.os.Parcel, int);
1619 field public static final int SERVICE_TYPE_ALL = 0; // 0x0
1620 field public static final int SERVICE_TYPE_BONJOUR = 1; // 0x1
1621 field public static final int SERVICE_TYPE_UPNP = 2; // 0x2
1622 field public static final int SERVICE_TYPE_VENDOR_SPECIFIC = 255; // 0xff
1623 }
1624
1625 public class WifiP2pServiceRequest implements android.os.Parcelable {
1626 method public int describeContents();
1627 method public static android.net.wifi.p2p.nsd.WifiP2pServiceRequest newInstance(int, String);
1628 method public static android.net.wifi.p2p.nsd.WifiP2pServiceRequest newInstance(int);
1629 method public void writeToParcel(android.os.Parcel, int);
1630 }
1631
1632 public class WifiP2pUpnpServiceInfo extends android.net.wifi.p2p.nsd.WifiP2pServiceInfo {
1633 method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceInfo newInstance(String, String, java.util.List<java.lang.String>);
1634 }
1635
1636 public class WifiP2pUpnpServiceRequest extends android.net.wifi.p2p.nsd.WifiP2pServiceRequest {
1637 method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest newInstance();
1638 method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest newInstance(String);
1639 }
1640
1641}
1642
1643package android.net.wifi.rtt {
1644
1645 public class CivicLocationKeys {
1646 field public static final int ADDITIONAL_CODE = 32; // 0x20
1647 field public static final int APT = 26; // 0x1a
1648 field public static final int BOROUGH = 4; // 0x4
1649 field public static final int BRANCH_ROAD_NAME = 36; // 0x24
1650 field public static final int BUILDING = 25; // 0x19
1651 field public static final int CITY = 3; // 0x3
1652 field public static final int COUNTY = 2; // 0x2
1653 field public static final int DESK = 33; // 0x21
1654 field public static final int FLOOR = 27; // 0x1b
1655 field public static final int GROUP_OF_STREETS = 6; // 0x6
1656 field public static final int HNO = 19; // 0x13
1657 field public static final int HNS = 20; // 0x14
1658 field public static final int LANGUAGE = 0; // 0x0
1659 field public static final int LMK = 21; // 0x15
1660 field public static final int LOC = 22; // 0x16
1661 field public static final int NAM = 23; // 0x17
1662 field public static final int NEIGHBORHOOD = 5; // 0x5
1663 field public static final int PCN = 30; // 0x1e
1664 field public static final int POD = 17; // 0x11
1665 field public static final int POSTAL_CODE = 24; // 0x18
1666 field public static final int PO_BOX = 31; // 0x1f
1667 field public static final int PRD = 16; // 0x10
1668 field public static final int PRIMARY_ROAD_NAME = 34; // 0x22
1669 field public static final int ROAD_SECTION = 35; // 0x23
1670 field public static final int ROOM = 28; // 0x1c
1671 field public static final int SCRIPT = 128; // 0x80
1672 field public static final int STATE = 1; // 0x1
1673 field public static final int STREET_NAME_POST_MODIFIER = 39; // 0x27
1674 field public static final int STREET_NAME_PRE_MODIFIER = 38; // 0x26
1675 field public static final int STS = 18; // 0x12
1676 field public static final int SUBBRANCH_ROAD_NAME = 37; // 0x25
1677 field public static final int TYPE_OF_PLACE = 29; // 0x1d
1678 }
1679
1680 public final class RangingRequest implements android.os.Parcelable {
1681 method public int describeContents();
Roy Wantdd5825e2020-12-08 21:24:04 -08001682 method public static int getDefaultRttBurstSize();
Anton Hansson180d9562020-01-17 19:03:34 +00001683 method public static int getMaxPeers();
Roy Wantdd5825e2020-12-08 21:24:04 -08001684 method public static int getMaxRttBurstSize();
1685 method public static int getMinRttBurstSize();
1686 method public int getRttBurstSize();
Anton Hansson180d9562020-01-17 19:03:34 +00001687 method public void writeToParcel(android.os.Parcel, int);
1688 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingRequest> CREATOR;
1689 }
1690
1691 public static final class RangingRequest.Builder {
1692 ctor public RangingRequest.Builder();
Roy Want50deac12021-12-19 15:15:35 -08001693 method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addAccessPoint(@NonNull android.net.wifi.ScanResult);
1694 method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addAccessPoints(@NonNull java.util.List<android.net.wifi.ScanResult>);
Roy Want8e5dea02020-12-18 19:56:30 -08001695 method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addNon80211mcCapableAccessPoint(@NonNull android.net.wifi.ScanResult);
1696 method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addNon80211mcCapableAccessPoints(@NonNull java.util.List<android.net.wifi.ScanResult>);
Roy Want50deac12021-12-19 15:15:35 -08001697 method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addResponder(@NonNull android.net.wifi.rtt.ResponderConfig);
1698 method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addResponders(@NonNull java.util.List<android.net.wifi.rtt.ResponderConfig>);
Anton Hansson180d9562020-01-17 19:03:34 +00001699 method public android.net.wifi.rtt.RangingRequest.Builder addWifiAwarePeer(@NonNull android.net.MacAddress);
1700 method public android.net.wifi.rtt.RangingRequest.Builder addWifiAwarePeer(@NonNull android.net.wifi.aware.PeerHandle);
1701 method public android.net.wifi.rtt.RangingRequest build();
Roy Wantdd5825e2020-12-08 21:24:04 -08001702 method @NonNull public android.net.wifi.rtt.RangingRequest.Builder setRttBurstSize(int);
Anton Hansson180d9562020-01-17 19:03:34 +00001703 }
1704
1705 public final class RangingResult implements android.os.Parcelable {
1706 method public int describeContents();
Nate Jiang55141c52024-02-15 17:05:24 -08001707 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int get80211azInitiatorTxLtfRepetitionsCount();
1708 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int get80211azNumberOfRxSpatialStreams();
1709 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int get80211azNumberOfTxSpatialStreams();
1710 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int get80211azResponderTxLtfRepetitionsCount();
Anton Hansson180d9562020-01-17 19:03:34 +00001711 method public int getDistanceMm();
1712 method public int getDistanceStdDevMm();
Jeff Hamilton473f6ad2024-01-19 22:34:28 +00001713 method @NonNull public byte[] getLci();
1714 method @NonNull public byte[] getLcr();
Anton Hansson180d9562020-01-17 19:03:34 +00001715 method @Nullable public android.net.MacAddress getMacAddress();
Nate Jiang55141c52024-02-15 17:05:24 -08001716 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public long getMaxTimeBetweenNtbMeasurementsMicros();
Sunil Ravie3215c22022-11-10 18:26:53 +00001717 method public int getMeasurementBandwidth();
1718 method public int getMeasurementChannelFrequencyMHz();
Nate Jiang55141c52024-02-15 17:05:24 -08001719 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public long getMinTimeBetweenNtbMeasurementsMicros();
Anton Hansson180d9562020-01-17 19:03:34 +00001720 method public int getNumAttemptedMeasurements();
1721 method public int getNumSuccessfulMeasurements();
1722 method @Nullable public android.net.wifi.aware.PeerHandle getPeerHandle();
1723 method public long getRangingTimestampMillis();
1724 method public int getRssi();
1725 method public int getStatus();
1726 method @Nullable public android.net.wifi.rtt.ResponderLocation getUnverifiedResponderLocation();
Nate Jiang55141c52024-02-15 17:05:24 -08001727 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean is80211azNtbMeasurement();
Roy Want8e5dea02020-12-18 19:56:30 -08001728 method public boolean is80211mcMeasurement();
Anton Hansson180d9562020-01-17 19:03:34 +00001729 method public void writeToParcel(android.os.Parcel, int);
1730 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingResult> CREATOR;
1731 field public static final int STATUS_FAIL = 1; // 0x1
1732 field public static final int STATUS_RESPONDER_DOES_NOT_SUPPORT_IEEE80211MC = 2; // 0x2
1733 field public static final int STATUS_SUCCESS = 0; // 0x0
Sunil Ravie3215c22022-11-10 18:26:53 +00001734 field public static final int UNSPECIFIED = -1; // 0xffffffff
Anton Hansson180d9562020-01-17 19:03:34 +00001735 }
1736
Nate Jiang55141c52024-02-15 17:05:24 -08001737 @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final class RangingResult.Builder {
Mahesh KKVd4b9afa2024-01-04 17:49:59 -08001738 ctor public RangingResult.Builder();
Nate Jiang55141c52024-02-15 17:05:24 -08001739 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult build();
1740 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211azInitiatorTxLtfRepetitionsCount(int);
1741 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211azNtbMeasurement(boolean);
1742 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211azNumberOfRxSpatialStreams(int);
1743 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211azNumberOfTxSpatialStreams(int);
1744 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211azResponderTxLtfRepetitionsCount(int);
1745 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211mcMeasurement(boolean);
1746 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setDistanceMm(int);
1747 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setDistanceStdDevMm(int);
1748 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setLci(@Nullable byte[]);
1749 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setLcr(@Nullable byte[]);
1750 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setMacAddress(@Nullable android.net.MacAddress);
1751 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setMaxTimeBetweenNtbMeasurementsMicros(long);
1752 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setMeasurementBandwidth(int);
1753 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setMeasurementChannelFrequencyMHz(int);
1754 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setMinTimeBetweenNtbMeasurementsMicros(long);
1755 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setNumAttemptedMeasurements(int);
1756 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setNumSuccessfulMeasurements(int);
1757 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setPeerHandle(@Nullable android.net.wifi.aware.PeerHandle);
1758 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setRangingTimestampMillis(long);
1759 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setRssi(int);
1760 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setStatus(int);
1761 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setUnverifiedResponderLocation(@Nullable android.net.wifi.rtt.ResponderLocation);
Mahesh KKVd4b9afa2024-01-04 17:49:59 -08001762 }
1763
Anton Hansson180d9562020-01-17 19:03:34 +00001764 public abstract class RangingResultCallback {
1765 ctor public RangingResultCallback();
1766 method public abstract void onRangingFailure(int);
1767 method public abstract void onRangingResults(@NonNull java.util.List<android.net.wifi.rtt.RangingResult>);
1768 field public static final int STATUS_CODE_FAIL = 1; // 0x1
1769 field public static final int STATUS_CODE_FAIL_RTT_NOT_AVAILABLE = 2; // 0x2
1770 }
1771
Roy Want50deac12021-12-19 15:15:35 -08001772 public final class ResponderConfig implements android.os.Parcelable {
1773 method public int describeContents();
1774 method @NonNull public static android.net.wifi.rtt.ResponderConfig fromScanResult(@NonNull android.net.wifi.ScanResult);
Roy Want749cf1b2022-03-03 16:10:39 -08001775 method @IntRange(from=0) public int getCenterFreq0Mhz();
1776 method @IntRange(from=0) public int getCenterFreq1Mhz();
Roy Want50deac12021-12-19 15:15:35 -08001777 method public int getChannelWidth();
Roy Want749cf1b2022-03-03 16:10:39 -08001778 method @IntRange(from=0) public int getFrequencyMhz();
Roy Want50deac12021-12-19 15:15:35 -08001779 method @Nullable public android.net.MacAddress getMacAddress();
1780 method public int getPreamble();
Nate Jiang833b32a2023-01-04 14:58:12 -08001781 method public int getResponderType();
Nate Jiang55141c52024-02-15 17:05:24 -08001782 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean is80211azNtbSupported();
Roy Want50deac12021-12-19 15:15:35 -08001783 method public boolean is80211mcSupported();
1784 method public void writeToParcel(@NonNull android.os.Parcel, int);
1785 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderConfig> CREATOR;
Nate Jiang833b32a2023-01-04 14:58:12 -08001786 field public static final int RESPONDER_AP = 0; // 0x0
1787 field public static final int RESPONDER_STA = 1; // 0x1
Roy Want50deac12021-12-19 15:15:35 -08001788 }
1789
1790 public static final class ResponderConfig.Builder {
1791 ctor public ResponderConfig.Builder();
1792 method @NonNull public android.net.wifi.rtt.ResponderConfig build();
Nate Jiang55141c52024-02-15 17:05:24 -08001793 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.ResponderConfig.Builder set80211azNtbSupported(boolean);
Roy Want50deac12021-12-19 15:15:35 -08001794 method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder set80211mcSupported(boolean);
Roy Want749cf1b2022-03-03 16:10:39 -08001795 method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setCenterFreq0Mhz(@IntRange(from=0) int);
1796 method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setCenterFreq1Mhz(@IntRange(from=0) int);
Roy Want50deac12021-12-19 15:15:35 -08001797 method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setChannelWidth(int);
Roy Want749cf1b2022-03-03 16:10:39 -08001798 method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setFrequencyMhz(@IntRange(from=0) int);
Roy Want50deac12021-12-19 15:15:35 -08001799 method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setMacAddress(@NonNull android.net.MacAddress);
1800 method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setPreamble(int);
Nate Jiang833b32a2023-01-04 14:58:12 -08001801 method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setResponderType(int);
Roy Want50deac12021-12-19 15:15:35 -08001802 }
1803
Anton Hansson180d9562020-01-17 19:03:34 +00001804 public final class ResponderLocation implements android.os.Parcelable {
1805 method public int describeContents();
1806 method public double getAltitude();
1807 method public int getAltitudeType();
1808 method public double getAltitudeUncertainty();
1809 method public java.util.List<android.net.MacAddress> getColocatedBssids();
1810 method public int getDatum();
1811 method public int getExpectedToMove();
1812 method public double getFloorNumber();
1813 method public double getHeightAboveFloorMeters();
1814 method public double getHeightAboveFloorUncertaintyMeters();
1815 method public double getLatitude();
1816 method public double getLatitudeUncertainty();
1817 method public int getLciVersion();
1818 method public double getLongitude();
1819 method public double getLongitudeUncertainty();
1820 method @Nullable public String getMapImageMimeType();
1821 method @Nullable public android.net.Uri getMapImageUri();
1822 method public boolean getRegisteredLocationAgreementIndication();
1823 method public boolean isLciSubelementValid();
1824 method public boolean isZaxisSubelementValid();
1825 method @Nullable public android.location.Address toCivicLocationAddress();
1826 method @Nullable public android.util.SparseArray<java.lang.String> toCivicLocationSparseArray();
1827 method @NonNull public android.location.Location toLocation();
1828 method public void writeToParcel(android.os.Parcel, int);
1829 field public static final int ALTITUDE_FLOORS = 2; // 0x2
1830 field public static final int ALTITUDE_METERS = 1; // 0x1
1831 field public static final int ALTITUDE_UNDEFINED = 0; // 0x0
1832 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderLocation> CREATOR;
1833 field public static final int DATUM_NAD83_MLLW = 3; // 0x3
1834 field public static final int DATUM_NAD83_NAV88 = 2; // 0x2
1835 field public static final int DATUM_UNDEFINED = 0; // 0x0
1836 field public static final int DATUM_WGS84 = 1; // 0x1
1837 field public static final int LCI_VERSION_1 = 1; // 0x1
1838 field public static final int LOCATION_FIXED = 0; // 0x0
1839 field public static final int LOCATION_MOVEMENT_UNKNOWN = 2; // 0x2
1840 field public static final int LOCATION_RESERVED = 3; // 0x3
1841 field public static final int LOCATION_VARIABLE = 1; // 0x1
1842 }
1843
1844 public class WifiRttManager {
Nate Jiang1b3c6bd2022-09-13 17:58:05 -07001845 method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.os.Bundle getRttCharacteristics();
Anton Hansson180d9562020-01-17 19:03:34 +00001846 method public boolean isAvailable();
xshu9d932842021-11-18 17:20:38 -08001847 method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.NEARBY_WIFI_DEVICES}) public void startRanging(@NonNull android.net.wifi.rtt.RangingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.rtt.RangingResultCallback);
Anton Hansson180d9562020-01-17 19:03:34 +00001848 field public static final String ACTION_WIFI_RTT_STATE_CHANGED = "android.net.wifi.rtt.action.WIFI_RTT_STATE_CHANGED";
Nate Jiang1b3c6bd2022-09-13 17:58:05 -07001849 field public static final String CHARACTERISTICS_KEY_BOOLEAN_LCI = "key_lci";
1850 field public static final String CHARACTERISTICS_KEY_BOOLEAN_LCR = "key_lcr";
Nate Jiang55141c52024-02-15 17:05:24 -08001851 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final String CHARACTERISTICS_KEY_BOOLEAN_NTB_INITIATOR = "key_ntb_initiator";
Nate Jiang1b3c6bd2022-09-13 17:58:05 -07001852 field public static final String CHARACTERISTICS_KEY_BOOLEAN_ONE_SIDED_RTT = "key_one_sided_rtt";
Nate Jiang833b32a2023-01-04 14:58:12 -08001853 field public static final String CHARACTERISTICS_KEY_BOOLEAN_STA_RESPONDER = "key_sta_responder";
Anton Hansson180d9562020-01-17 19:03:34 +00001854 }
1855
1856}
1857