blob: c8d8685bf8d4ab659fc02b90c2f0e479c6613238 [file] [log] [blame]
Anton Hansson180d9562020-01-17 19:03:34 +00001// Signature format: 2.0
2package android.net.wifi {
3
qiangjiang2d72f782024-11-13 22:22:46 +00004 @FlaggedApi("com.android.wifi.flags.bssid_blocklist_for_suggestion") public final class BlockingOption implements android.os.Parcelable {
5 method public int describeContents();
6 method public int getBlockingTimeSeconds();
7 method public boolean isBlockingBssidOnly();
8 method public void writeToParcel(@NonNull android.os.Parcel, int);
9 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.BlockingOption> CREATOR;
10 }
11
12 @FlaggedApi("com.android.wifi.flags.bssid_blocklist_for_suggestion") public static final class BlockingOption.Builder {
13 ctor public BlockingOption.Builder(@IntRange(from=1, to=86400) int);
14 method @NonNull public android.net.wifi.BlockingOption build();
15 method @NonNull public android.net.wifi.BlockingOption.Builder setBlockingBssidOnly(boolean);
16 }
17
Anton Hansson180d9562020-01-17 19:03:34 +000018 public abstract class EasyConnectStatusCallback {
19 field public static final int EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION = -2; // 0xfffffffe
20 field public static final int EASY_CONNECT_EVENT_FAILURE_BUSY = -5; // 0xfffffffb
21 field public static final int EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK = -10; // 0xfffffff6
22 field public static final int EASY_CONNECT_EVENT_FAILURE_CONFIGURATION = -4; // 0xfffffffc
23 field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_AUTHENTICATION = -11; // 0xfffffff5
Sunil Ravib2863002021-01-28 08:52:18 -080024 field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_FAILED_TO_SCAN_NETWORK_CHANNEL = -14; // 0xfffffff2
Anton Hansson180d9562020-01-17 19:03:34 +000025 field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_REJECTED_CONFIGURATION = -12; // 0xfffffff4
26 field public static final int EASY_CONNECT_EVENT_FAILURE_GENERIC = -7; // 0xfffffff9
27 field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK = -9; // 0xfffffff7
28 field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_URI = -1; // 0xffffffff
29 field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_COMPATIBLE = -3; // 0xfffffffd
30 field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_SUPPORTED = -8; // 0xfffffff8
31 field public static final int EASY_CONNECT_EVENT_FAILURE_TIMEOUT = -6; // 0xfffffffa
Sunil Ravic16a0742020-11-03 15:14:09 -080032 field public static final int EASY_CONNECT_EVENT_FAILURE_URI_GENERATION = -13; // 0xfffffff3
Anton Hansson180d9562020-01-17 19:03:34 +000033 }
34
Ahmed ElArabawy196d3b32022-02-10 16:47:51 +000035 public final class MloLink implements android.os.Parcelable {
36 ctor public MloLink();
37 method public int describeContents();
Ahmed ElArabawy007e6762022-02-21 16:23:29 -080038 method @Nullable public android.net.MacAddress getApMacAddress();
Ahmed ElArabawy196d3b32022-02-10 16:47:51 +000039 method public int getBand();
Ahmed ElArabawy007e6762022-02-21 16:23:29 -080040 method @IntRange(from=1) public int getChannel();
41 method @IntRange(from=android.net.wifi.MloLink.INVALID_MLO_LINK_ID, to=0xf) public int getLinkId();
Mahesh KKVfe522252022-12-08 07:54:05 -080042 method public int getRssi();
43 method @IntRange(from=0xffffffff) public int getRxLinkSpeedMbps();
Ahmed ElArabawy196d3b32022-02-10 16:47:51 +000044 method @Nullable public android.net.MacAddress getStaMacAddress();
45 method public int getState();
Mahesh KKVfe522252022-12-08 07:54:05 -080046 method @IntRange(from=0xffffffff) public int getTxLinkSpeedMbps();
Ahmed ElArabawy58d6faf2022-02-11 16:33:07 -080047 method public void writeToParcel(@NonNull android.os.Parcel, int);
Ahmed ElArabawy196d3b32022-02-10 16:47:51 +000048 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.MloLink> CREATOR;
Ahmed ElArabawy58d6faf2022-02-11 16:33:07 -080049 field public static final int INVALID_MLO_LINK_ID = -1; // 0xffffffff
Ahmed ElArabawy196d3b32022-02-10 16:47:51 +000050 field public static final int MLO_LINK_STATE_ACTIVE = 3; // 0x3
51 field public static final int MLO_LINK_STATE_IDLE = 2; // 0x2
52 field public static final int MLO_LINK_STATE_INVALID = 0; // 0x0
53 field public static final int MLO_LINK_STATE_UNASSOCIATED = 1; // 0x1
54 }
55
Michael Wrightd58fd392020-03-18 20:07:05 +000056 public final class ScanResult implements android.os.Parcelable {
Anton Hansson180d9562020-01-17 19:03:34 +000057 ctor public ScanResult(@NonNull android.net.wifi.ScanResult);
58 ctor public ScanResult();
leslcbf85f22021-03-18 10:28:16 +080059 method public static int convertChannelToFrequencyMhzIfSupported(int, int);
60 method public static int convertFrequencyMhzToChannelIfSupported(int);
Anton Hansson180d9562020-01-17 19:03:34 +000061 method public int describeContents();
Ahmed ElArabawy196d3b32022-02-10 16:47:51 +000062 method @NonNull public java.util.List<android.net.wifi.MloLink> getAffiliatedMloLinks();
63 method @Nullable public android.net.MacAddress getApMldMacAddress();
Ahmed ElArabawy007e6762022-02-21 16:23:29 -080064 method @IntRange(from=android.net.wifi.MloLink.INVALID_MLO_LINK_ID, to=0xf) public int getApMloLinkId();
Anton Hansson180d9562020-01-17 19:03:34 +000065 method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getInformationElements();
Quang Luong75335862021-08-10 15:28:36 -070066 method @NonNull public int[] getSecurityTypes();
Quang Luong38dc3ea2021-10-12 14:44:18 -070067 method @Nullable public android.net.wifi.WifiSsid getWifiSsid();
Anton Hansson180d9562020-01-17 19:03:34 +000068 method public int getWifiStandard();
Nate Jiang55141c52024-02-15 17:05:24 -080069 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean is80211azNtbResponder();
Anton Hansson180d9562020-01-17 19:03:34 +000070 method public boolean is80211mcResponder();
71 method public boolean isPasspointNetwork();
maheshkkv555c62a2024-10-11 20:20:41 -070072 method @FlaggedApi("com.android.wifi.flags.secure_ranging") public boolean isRangingFrameProtectionRequired();
73 method @FlaggedApi("com.android.wifi.flags.secure_ranging") public boolean isSecureHeLtfSupported();
Mahesh KKVcce73752024-01-31 21:33:57 -080074 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isTwtResponder();
Anton Hansson180d9562020-01-17 19:03:34 +000075 method public void writeToParcel(android.os.Parcel, int);
76 field public String BSSID;
77 field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3
78 field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0
Ahmed ElArabawy9a1bf192021-12-20 11:02:46 -080079 field public static final int CHANNEL_WIDTH_320MHZ = 5; // 0x5
Anton Hansson180d9562020-01-17 19:03:34 +000080 field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
81 field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
82 field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
83 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.ScanResult> CREATOR;
Ahmed ElArabawy9a1bf192021-12-20 11:02:46 -080084 field public static final int PREAMBLE_EHT = 4; // 0x4
Roy Want50deac12021-12-19 15:15:35 -080085 field public static final int PREAMBLE_HE = 3; // 0x3
86 field public static final int PREAMBLE_HT = 1; // 0x1
87 field public static final int PREAMBLE_LEGACY = 0; // 0x0
88 field public static final int PREAMBLE_VHT = 2; // 0x2
Quang Luong38dc3ea2021-10-12 14:44:18 -070089 field @Deprecated public String SSID;
lesl4c3ff122021-02-05 10:59:25 +080090 field public static final int UNSPECIFIED = -1; // 0xffffffff
91 field public static final int WIFI_BAND_24_GHZ = 1; // 0x1
92 field public static final int WIFI_BAND_5_GHZ = 2; // 0x2
93 field public static final int WIFI_BAND_60_GHZ = 16; // 0x10
94 field public static final int WIFI_BAND_6_GHZ = 8; // 0x8
Anton Hansson180d9562020-01-17 19:03:34 +000095 field public static final int WIFI_STANDARD_11AC = 5; // 0x5
Jimmy Chen6713cb02020-11-05 16:31:29 +080096 field public static final int WIFI_STANDARD_11AD = 7; // 0x7
Anton Hansson180d9562020-01-17 19:03:34 +000097 field public static final int WIFI_STANDARD_11AX = 6; // 0x6
Ahmed ElArabawy9a1bf192021-12-20 11:02:46 -080098 field public static final int WIFI_STANDARD_11BE = 8; // 0x8
Anton Hansson180d9562020-01-17 19:03:34 +000099 field public static final int WIFI_STANDARD_11N = 4; // 0x4
100 field public static final int WIFI_STANDARD_LEGACY = 1; // 0x1
101 field public static final int WIFI_STANDARD_UNKNOWN = 0; // 0x0
102 field public String capabilities;
103 field public int centerFreq0;
104 field public int centerFreq1;
105 field public int channelWidth;
106 field public int frequency;
107 field public int level;
Hai Shalom29706142020-12-30 14:46:11 -0800108 field @Deprecated public CharSequence operatorFriendlyName;
Anton Hansson180d9562020-01-17 19:03:34 +0000109 field public long timestamp;
Hai Shalom29706142020-12-30 14:46:11 -0800110 field @Deprecated public CharSequence venueName;
Anton Hansson180d9562020-01-17 19:03:34 +0000111 }
112
Roshan Piusc610e1f2021-01-13 15:17:18 +0000113 public static class ScanResult.InformationElement implements android.os.Parcelable {
Serik Beketayev29a41e52022-01-31 12:51:49 -0800114 ctor public ScanResult.InformationElement(int, int, @NonNull byte[]);
Anton Hansson180d9562020-01-17 19:03:34 +0000115 ctor public ScanResult.InformationElement(@NonNull android.net.wifi.ScanResult.InformationElement);
Roshan Piusc610e1f2021-01-13 15:17:18 +0000116 method public int describeContents();
Anton Hansson180d9562020-01-17 19:03:34 +0000117 method @NonNull public java.nio.ByteBuffer getBytes();
118 method public int getId();
119 method public int getIdExt();
Roshan Piusc610e1f2021-01-13 15:17:18 +0000120 method public void writeToParcel(android.os.Parcel, int);
121 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.ScanResult.InformationElement> CREATOR;
Anton Hansson180d9562020-01-17 19:03:34 +0000122 }
123
124 public final class SoftApConfiguration implements android.os.Parcelable {
125 method public int describeContents();
126 method @Nullable public android.net.MacAddress getBssid();
Les Leecd53df32024-11-01 17:08:01 +0000127 method @FlaggedApi("com.android.wifi.flags.public_bands_for_lohs") @NonNull public android.util.SparseIntArray getChannels();
Anton Hansson180d9562020-01-17 19:03:34 +0000128 method @Nullable public String getPassphrase();
129 method public int getSecurityType();
Quang Luongfedab902021-10-05 15:15:51 -0700130 method @Deprecated @Nullable public String getSsid();
131 method @Nullable public android.net.wifi.WifiSsid getWifiSsid();
Anton Hansson180d9562020-01-17 19:03:34 +0000132 method public boolean isHiddenSsid();
133 method public void writeToParcel(@NonNull android.os.Parcel, int);
Les Leecd53df32024-11-01 17:08:01 +0000134 field @FlaggedApi("com.android.wifi.flags.public_bands_for_lohs") public static final int BAND_2GHZ = 1; // 0x1
135 field @FlaggedApi("com.android.wifi.flags.public_bands_for_lohs") public static final int BAND_5GHZ = 2; // 0x2
136 field @FlaggedApi("com.android.wifi.flags.public_bands_for_lohs") public static final int BAND_60GHZ = 8; // 0x8
137 field @FlaggedApi("com.android.wifi.flags.public_bands_for_lohs") public static final int BAND_6GHZ = 4; // 0x4
Anton Hansson180d9562020-01-17 19:03:34 +0000138 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApConfiguration> CREATOR;
139 field public static final int SECURITY_TYPE_OPEN = 0; // 0x0
140 field public static final int SECURITY_TYPE_WPA2_PSK = 1; // 0x1
Ahmed ElArabawyf835ae82022-02-04 11:37:00 -0800141 field public static final int SECURITY_TYPE_WPA3_OWE = 5; // 0x5
Purushottam Kushwahae57c5e12021-12-23 12:43:56 +0530142 field public static final int SECURITY_TYPE_WPA3_OWE_TRANSITION = 4; // 0x4
Anton Hansson180d9562020-01-17 19:03:34 +0000143 field public static final int SECURITY_TYPE_WPA3_SAE = 3; // 0x3
144 field public static final int SECURITY_TYPE_WPA3_SAE_TRANSITION = 2; // 0x2
145 }
146
Les Leecd53df32024-11-01 17:08:01 +0000147 @FlaggedApi("com.android.wifi.flags.public_bands_for_lohs") public static final class SoftApConfiguration.Builder {
148 ctor public SoftApConfiguration.Builder();
149 method @NonNull public android.net.wifi.SoftApConfiguration build();
150 method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannels(@NonNull android.util.SparseIntArray);
151 }
152
Anton Hansson180d9562020-01-17 19:03:34 +0000153 public enum SupplicantState implements android.os.Parcelable {
154 method public int describeContents();
155 method public static boolean isValidState(android.net.wifi.SupplicantState);
156 method public void writeToParcel(android.os.Parcel, int);
157 enum_constant public static final android.net.wifi.SupplicantState ASSOCIATED;
158 enum_constant public static final android.net.wifi.SupplicantState ASSOCIATING;
159 enum_constant public static final android.net.wifi.SupplicantState AUTHENTICATING;
160 enum_constant public static final android.net.wifi.SupplicantState COMPLETED;
161 enum_constant public static final android.net.wifi.SupplicantState DISCONNECTED;
162 enum_constant public static final android.net.wifi.SupplicantState DORMANT;
163 enum_constant public static final android.net.wifi.SupplicantState FOUR_WAY_HANDSHAKE;
164 enum_constant public static final android.net.wifi.SupplicantState GROUP_HANDSHAKE;
165 enum_constant public static final android.net.wifi.SupplicantState INACTIVE;
166 enum_constant public static final android.net.wifi.SupplicantState INTERFACE_DISABLED;
167 enum_constant public static final android.net.wifi.SupplicantState INVALID;
168 enum_constant public static final android.net.wifi.SupplicantState SCANNING;
169 enum_constant public static final android.net.wifi.SupplicantState UNINITIALIZED;
170 }
171
Oscar Shudc00d072022-11-16 19:51:46 +0000172 public final class WifiAvailableChannel implements android.os.Parcelable {
173 ctor public WifiAvailableChannel(int, int);
174 method public int describeContents();
maheshkkv1a2ffd52024-05-17 10:26:54 -0700175 method @FlaggedApi("com.android.wifi.flags.get_channel_width_api") public int getChannelWidth();
Oscar Shudc00d072022-11-16 19:51:46 +0000176 method public int getFrequencyMhz();
177 method public int getOperationalModes();
178 method public void writeToParcel(@NonNull android.os.Parcel, int);
179 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiAvailableChannel> CREATOR;
180 field public static final int OP_MODE_SAP = 2; // 0x2
181 field public static final int OP_MODE_STA = 1; // 0x1
182 field public static final int OP_MODE_TDLS = 32; // 0x20
183 field public static final int OP_MODE_WIFI_AWARE = 16; // 0x10
184 field public static final int OP_MODE_WIFI_DIRECT_CLI = 4; // 0x4
185 field public static final int OP_MODE_WIFI_DIRECT_GO = 8; // 0x8
186 }
187
Anton Hansson180d9562020-01-17 19:03:34 +0000188 @Deprecated public class WifiConfiguration implements android.os.Parcelable {
189 ctor @Deprecated public WifiConfiguration();
190 ctor @Deprecated public WifiConfiguration(@NonNull android.net.wifi.WifiConfiguration);
Paul Duffinee938672023-10-12 17:47:01 +0000191 method @Deprecated public int describeContents();
Anton Hansson180d9562020-01-17 19:03:34 +0000192 method @Deprecated public android.net.ProxyInfo getHttpProxy();
193 method @Deprecated @NonNull public String getKey();
Stephanie Bak1ccc1bc2021-12-30 05:13:38 +0000194 method @Deprecated public int getMacRandomizationSetting();
Anton Hansson180d9562020-01-17 19:03:34 +0000195 method @Deprecated @NonNull public android.net.MacAddress getRandomizedMacAddress();
Sunil Ravi07723e22022-02-10 13:47:34 -0800196 method @Deprecated public boolean isDppConfigurator();
Anton Hansson180d9562020-01-17 19:03:34 +0000197 method @Deprecated public boolean isPasspoint();
198 method @Deprecated public void setHttpProxy(android.net.ProxyInfo);
Etan Cohenbb8da022022-02-06 20:50:48 +0000199 method @Deprecated public void setIpConfiguration(@Nullable android.net.IpConfiguration);
Stephanie Bak1ccc1bc2021-12-30 05:13:38 +0000200 method @Deprecated public void setMacRandomizationSetting(int);
Anton Hansson180d9562020-01-17 19:03:34 +0000201 method @Deprecated public void setSecurityParams(int);
Paul Duffinee938672023-10-12 17:47:01 +0000202 method @Deprecated public void writeToParcel(android.os.Parcel, int);
Anton Hansson180d9562020-01-17 19:03:34 +0000203 field @Deprecated public String BSSID;
204 field @Deprecated public String FQDN;
Stephanie Bak1ccc1bc2021-12-30 05:13:38 +0000205 field @Deprecated public static final int RANDOMIZATION_AUTO = 3; // 0x3
206 field @Deprecated public static final int RANDOMIZATION_NONE = 0; // 0x0
207 field @Deprecated public static final int RANDOMIZATION_NON_PERSISTENT = 2; // 0x2
208 field @Deprecated public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
Sunil Ravi07723e22022-02-10 13:47:34 -0800209 field @Deprecated public static final int SECURITY_TYPE_DPP = 13; // 0xd
Anton Hansson180d9562020-01-17 19:03:34 +0000210 field @Deprecated public static final int SECURITY_TYPE_EAP = 3; // 0x3
211 field @Deprecated public static final int SECURITY_TYPE_EAP_SUITE_B = 5; // 0x5
Jimmy Chen74b574b2020-10-20 16:15:46 +0800212 field @Deprecated public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE = 9; // 0x9
Jimmy Chenf88f4392020-11-03 15:10:18 +0800213 field @Deprecated public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT = 5; // 0x5
Anton Hansson180d9562020-01-17 19:03:34 +0000214 field @Deprecated public static final int SECURITY_TYPE_OPEN = 0; // 0x0
215 field @Deprecated public static final int SECURITY_TYPE_OWE = 6; // 0x6
216 field @Deprecated public static final int SECURITY_TYPE_PSK = 2; // 0x2
217 field @Deprecated public static final int SECURITY_TYPE_SAE = 4; // 0x4
218 field @Deprecated public static final int SECURITY_TYPE_WAPI_CERT = 8; // 0x8
219 field @Deprecated public static final int SECURITY_TYPE_WAPI_PSK = 7; // 0x7
220 field @Deprecated public static final int SECURITY_TYPE_WEP = 1; // 0x1
221 field @Deprecated public String SSID;
222 field @Deprecated @NonNull public java.util.BitSet allowedAuthAlgorithms;
223 field @Deprecated @NonNull public java.util.BitSet allowedGroupCiphers;
224 field @Deprecated @NonNull public java.util.BitSet allowedGroupManagementCiphers;
225 field @Deprecated @NonNull public java.util.BitSet allowedKeyManagement;
226 field @Deprecated @NonNull public java.util.BitSet allowedPairwiseCiphers;
227 field @Deprecated @NonNull public java.util.BitSet allowedProtocols;
228 field @Deprecated @NonNull public java.util.BitSet allowedSuiteBCiphers;
229 field @Deprecated public android.net.wifi.WifiEnterpriseConfig enterpriseConfig;
230 field @Deprecated public boolean hiddenSSID;
231 field @Deprecated public boolean isHomeProviderNetwork;
232 field @Deprecated public int networkId;
233 field @Deprecated public String preSharedKey;
234 field @Deprecated public int priority;
235 field @Deprecated public String providerFriendlyName;
236 field @Deprecated public long[] roamingConsortiumIds;
237 field @Deprecated public int status;
238 field @Deprecated public String[] wepKeys;
239 field @Deprecated public int wepTxKeyIndex;
240 }
241
242 @Deprecated public static class WifiConfiguration.AuthAlgorithm {
243 field @Deprecated public static final int LEAP = 2; // 0x2
244 field @Deprecated public static final int OPEN = 0; // 0x0
245 field @Deprecated public static final int SAE = 3; // 0x3
246 field @Deprecated public static final int SHARED = 1; // 0x1
247 field @Deprecated public static final String[] strings;
248 field @Deprecated public static final String varName = "auth_alg";
249 }
250
251 @Deprecated public static class WifiConfiguration.GroupCipher {
252 field @Deprecated public static final int CCMP = 3; // 0x3
Jimmy Chendf2c5872020-01-07 17:54:09 +0200253 field @Deprecated public static final int GCMP_128 = 7; // 0x7
Anton Hansson180d9562020-01-17 19:03:34 +0000254 field @Deprecated public static final int GCMP_256 = 5; // 0x5
255 field @Deprecated public static final int SMS4 = 6; // 0x6
256 field @Deprecated public static final int TKIP = 2; // 0x2
257 field @Deprecated public static final int WEP104 = 1; // 0x1
258 field @Deprecated public static final int WEP40 = 0; // 0x0
259 field @Deprecated public static final String[] strings;
260 field @Deprecated public static final String varName = "group";
261 }
262
263 @Deprecated public static class WifiConfiguration.GroupMgmtCipher {
264 field @Deprecated public static final int BIP_CMAC_256 = 0; // 0x0
265 field @Deprecated public static final int BIP_GMAC_128 = 1; // 0x1
266 field @Deprecated public static final int BIP_GMAC_256 = 2; // 0x2
267 }
268
269 @Deprecated public static class WifiConfiguration.KeyMgmt {
Oscar Shu93750b52023-02-07 23:37:29 +0000270 field @Deprecated public static final int DPP = 17; // 0x11
271 field @Deprecated public static final int FILS_SHA256 = 15; // 0xf
272 field @Deprecated public static final int FILS_SHA384 = 16; // 0x10
273 field @Deprecated public static final int FT_EAP = 7; // 0x7
274 field @Deprecated public static final int FT_PSK = 6; // 0x6
Anton Hansson180d9562020-01-17 19:03:34 +0000275 field @Deprecated public static final int IEEE8021X = 3; // 0x3
276 field @Deprecated public static final int NONE = 0; // 0x0
Oscar Shu93750b52023-02-07 23:37:29 +0000277 field @Deprecated public static final int OSEN = 5; // 0x5
Anton Hansson180d9562020-01-17 19:03:34 +0000278 field @Deprecated public static final int OWE = 9; // 0x9
279 field @Deprecated public static final int SAE = 8; // 0x8
280 field @Deprecated public static final int SUITE_B_192 = 10; // 0xa
Oscar Shu93750b52023-02-07 23:37:29 +0000281 field @Deprecated public static final int WAPI_CERT = 14; // 0xe
282 field @Deprecated public static final int WAPI_PSK = 13; // 0xd
283 field @Deprecated public static final int WPA2_PSK = 4; // 0x4
Anton Hansson180d9562020-01-17 19:03:34 +0000284 field @Deprecated public static final int WPA_EAP = 2; // 0x2
Oscar Shu93750b52023-02-07 23:37:29 +0000285 field @Deprecated public static final int WPA_EAP_SHA256 = 12; // 0xc
Anton Hansson180d9562020-01-17 19:03:34 +0000286 field @Deprecated public static final int WPA_PSK = 1; // 0x1
Oscar Shu93750b52023-02-07 23:37:29 +0000287 field @Deprecated public static final int WPA_PSK_SHA256 = 11; // 0xb
Anton Hansson180d9562020-01-17 19:03:34 +0000288 field @Deprecated public static final String[] strings;
289 field @Deprecated public static final String varName = "key_mgmt";
290 }
291
292 @Deprecated public static class WifiConfiguration.PairwiseCipher {
293 field @Deprecated public static final int CCMP = 2; // 0x2
Jimmy Chendf2c5872020-01-07 17:54:09 +0200294 field @Deprecated public static final int GCMP_128 = 5; // 0x5
Anton Hansson180d9562020-01-17 19:03:34 +0000295 field @Deprecated public static final int GCMP_256 = 3; // 0x3
296 field @Deprecated public static final int NONE = 0; // 0x0
297 field @Deprecated public static final int SMS4 = 4; // 0x4
298 field @Deprecated public static final int TKIP = 1; // 0x1
299 field @Deprecated public static final String[] strings;
300 field @Deprecated public static final String varName = "pairwise";
301 }
302
303 @Deprecated public static class WifiConfiguration.Protocol {
304 field @Deprecated public static final int RSN = 1; // 0x1
305 field @Deprecated public static final int WAPI = 3; // 0x3
306 field @Deprecated public static final int WPA = 0; // 0x0
307 field @Deprecated public static final String[] strings;
308 field @Deprecated public static final String varName = "proto";
309 }
310
311 @Deprecated public static class WifiConfiguration.Status {
312 field @Deprecated public static final int CURRENT = 0; // 0x0
313 field @Deprecated public static final int DISABLED = 1; // 0x1
314 field @Deprecated public static final int ENABLED = 2; // 0x2
315 field @Deprecated public static final String[] strings;
316 }
317
318 public class WifiEnterpriseConfig implements android.os.Parcelable {
319 ctor public WifiEnterpriseConfig();
320 ctor public WifiEnterpriseConfig(android.net.wifi.WifiEnterpriseConfig);
321 method public int describeContents();
Jimmy Chen05ac9a82021-11-04 22:42:23 +0800322 method public void enableTrustOnFirstUse(boolean);
Anton Hansson180d9562020-01-17 19:03:34 +0000323 method public String getAltSubjectMatch();
324 method public String getAnonymousIdentity();
325 method @Nullable public java.security.cert.X509Certificate getCaCertificate();
326 method @Nullable public java.security.cert.X509Certificate[] getCaCertificates();
327 method public java.security.cert.X509Certificate getClientCertificate();
328 method @Nullable public java.security.cert.X509Certificate[] getClientCertificateChain();
Pavel Grafov5563d8e2021-01-18 14:23:56 +0000329 method @Nullable public String getClientKeyPairAlias();
Anton Hansson180d9562020-01-17 19:03:34 +0000330 method @Nullable public java.security.PrivateKey getClientPrivateKey();
Hai Shalom1c6098e2021-04-14 17:50:44 -0700331 method @Nullable public String getDecoratedIdentityPrefix();
Anton Hansson180d9562020-01-17 19:03:34 +0000332 method public String getDomainSuffixMatch();
333 method public int getEapMethod();
334 method public String getIdentity();
Jimmy Chencf2693c2022-10-06 15:39:02 +0800335 method public int getMinimumTlsVersion();
Anton Hansson180d9562020-01-17 19:03:34 +0000336 method public String getPassword();
337 method public int getPhase2Method();
338 method public String getPlmn();
339 method public String getRealm();
340 method @Deprecated public String getSubjectMatch();
Jimmy Chen05ac9a82021-11-04 22:42:23 +0800341 method public boolean hasCaCertificate();
Anton Hansson180d9562020-01-17 19:03:34 +0000342 method public boolean isAuthenticationSimBased();
Nate Jiang3e6e2f22021-03-05 12:35:31 -0800343 method public boolean isEapMethodServerCertUsed();
Nate Jiangbfc47c52020-12-22 17:11:12 -0800344 method public boolean isServerCertValidationEnabled();
Jimmy Chen05ac9a82021-11-04 22:42:23 +0800345 method public boolean isTrustOnFirstUseEnabled();
Anton Hansson180d9562020-01-17 19:03:34 +0000346 method public void setAltSubjectMatch(String);
347 method public void setAnonymousIdentity(String);
348 method public void setCaCertificate(@Nullable java.security.cert.X509Certificate);
349 method public void setCaCertificates(@Nullable java.security.cert.X509Certificate[]);
350 method public void setClientKeyEntry(java.security.PrivateKey, java.security.cert.X509Certificate);
351 method public void setClientKeyEntryWithCertificateChain(java.security.PrivateKey, java.security.cert.X509Certificate[]);
Pavel Grafov5563d8e2021-01-18 14:23:56 +0000352 method public void setClientKeyPairAlias(@NonNull String);
Hai Shalom1d362632021-03-12 15:00:50 -0800353 method public void setDecoratedIdentityPrefix(@Nullable String);
Anton Hansson180d9562020-01-17 19:03:34 +0000354 method public void setDomainSuffixMatch(String);
355 method public void setEapMethod(int);
356 method public void setIdentity(String);
Jimmy Chencf2693c2022-10-06 15:39:02 +0800357 method public void setMinimumTlsVersion(int) throws java.lang.IllegalArgumentException;
Anton Hansson180d9562020-01-17 19:03:34 +0000358 method public void setPassword(String);
359 method public void setPhase2Method(int);
360 method public void setPlmn(String);
361 method public void setRealm(String);
362 method @Deprecated public void setSubjectMatch(String);
363 method public void writeToParcel(android.os.Parcel, int);
364 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiEnterpriseConfig> CREATOR;
365 field public static final String EXTRA_WAPI_AS_CERTIFICATE_DATA = "android.net.wifi.extra.WAPI_AS_CERTIFICATE_DATA";
366 field public static final String EXTRA_WAPI_AS_CERTIFICATE_NAME = "android.net.wifi.extra.WAPI_AS_CERTIFICATE_NAME";
367 field public static final String EXTRA_WAPI_USER_CERTIFICATE_DATA = "android.net.wifi.extra.WAPI_USER_CERTIFICATE_DATA";
368 field public static final String EXTRA_WAPI_USER_CERTIFICATE_NAME = "android.net.wifi.extra.WAPI_USER_CERTIFICATE_NAME";
Jimmy Chencf2693c2022-10-06 15:39:02 +0800369 field public static final int TLS_V1_0 = 0; // 0x0
370 field public static final int TLS_V1_1 = 1; // 0x1
371 field public static final int TLS_V1_2 = 2; // 0x2
372 field public static final int TLS_V1_3 = 3; // 0x3
Anton Hansson180d9562020-01-17 19:03:34 +0000373 field public static final String WAPI_AS_CERTIFICATE = "WAPIAS_";
374 field public static final String WAPI_USER_CERTIFICATE = "WAPIUSR_";
375 }
376
377 public static final class WifiEnterpriseConfig.Eap {
378 field public static final int AKA = 5; // 0x5
379 field public static final int AKA_PRIME = 6; // 0x6
380 field public static final int NONE = -1; // 0xffffffff
381 field public static final int PEAP = 0; // 0x0
382 field public static final int PWD = 3; // 0x3
383 field public static final int SIM = 4; // 0x4
384 field public static final int TLS = 1; // 0x1
385 field public static final int TTLS = 2; // 0x2
386 field public static final int UNAUTH_TLS = 7; // 0x7
387 field public static final int WAPI_CERT = 8; // 0x8
388 }
389
390 public static final class WifiEnterpriseConfig.Phase2 {
391 field public static final int AKA = 6; // 0x6
392 field public static final int AKA_PRIME = 7; // 0x7
393 field public static final int GTC = 4; // 0x4
394 field public static final int MSCHAP = 2; // 0x2
395 field public static final int MSCHAPV2 = 3; // 0x3
396 field public static final int NONE = 0; // 0x0
397 field public static final int PAP = 1; // 0x1
398 field public static final int SIM = 5; // 0x5
399 }
400
Roshan Piuscf919922020-08-14 07:17:59 -0700401 public class WifiInfo implements android.os.Parcelable android.net.TransportInfo {
Anton Hansson180d9562020-01-17 19:03:34 +0000402 method public int describeContents();
Ahmed ElArabawy196d3b32022-02-10 16:47:51 +0000403 method @NonNull public java.util.List<android.net.wifi.MloLink> getAffiliatedMloLinks();
404 method @Nullable public android.net.MacAddress getApMldMacAddress();
Ahmed ElArabawy007e6762022-02-21 16:23:29 -0800405 method @IntRange(from=android.net.wifi.MloLink.INVALID_MLO_LINK_ID, to=0xf) public int getApMloLinkId();
Paul Duffindf9c33f2023-11-02 19:19:40 +0000406 method public long getApplicableRedactions();
Mahesh KKVfe522252022-12-08 07:54:05 -0800407 method @NonNull public java.util.List<android.net.wifi.MloLink> getAssociatedMloLinks();
Anton Hansson180d9562020-01-17 19:03:34 +0000408 method public String getBSSID();
Hai Shalom46a7a672021-03-17 14:58:55 -0700409 method public int getCurrentSecurityType();
Anton Hansson180d9562020-01-17 19:03:34 +0000410 method public static android.net.NetworkInfo.DetailedState getDetailedStateOf(android.net.wifi.SupplicantState);
411 method public int getFrequency();
412 method public boolean getHiddenSSID();
Roshan Piusc610e1f2021-01-13 15:17:18 +0000413 method @Nullable public java.util.List<android.net.wifi.ScanResult.InformationElement> getInformationElements();
Roshan Pius2fa57f02020-12-30 13:15:50 -0800414 method @Deprecated public int getIpAddress();
Anton Hansson180d9562020-01-17 19:03:34 +0000415 method public int getLinkSpeed();
Anton Hanssonb43f5dc2021-10-20 13:21:00 +0100416 method public String getMacAddress();
Anton Hansson180d9562020-01-17 19:03:34 +0000417 method public int getMaxSupportedRxLinkSpeedMbps();
418 method public int getMaxSupportedTxLinkSpeedMbps();
419 method public int getNetworkId();
420 method @Nullable public String getPasspointFqdn();
421 method @Nullable public String getPasspointProviderFriendlyName();
Oscar Shu2393ddd2024-01-12 21:44:46 +0000422 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @Nullable public String getPasspointUniqueId();
Anton Hansson180d9562020-01-17 19:03:34 +0000423 method public int getRssi();
424 method @IntRange(from=0xffffffff) public int getRxLinkSpeedMbps();
425 method public String getSSID();
Nate Jiangd17ab1b2021-01-11 14:48:12 -0800426 method public int getSubscriptionId();
Anton Hansson180d9562020-01-17 19:03:34 +0000427 method public android.net.wifi.SupplicantState getSupplicantState();
428 method @IntRange(from=0xffffffff) public int getTxLinkSpeedMbps();
429 method public int getWifiStandard();
Nate Jiang2a788802021-11-10 10:48:05 -0800430 method public boolean isRestricted();
Roshan Piuse16f0d42021-02-23 08:49:29 -0800431 method @NonNull public android.net.wifi.WifiInfo makeCopy(long);
Anton Hansson180d9562020-01-17 19:03:34 +0000432 method public void writeToParcel(android.os.Parcel, int);
433 field public static final String FREQUENCY_UNITS = "MHz";
434 field public static final String LINK_SPEED_UNITS = "Mbps";
435 field public static final int LINK_SPEED_UNKNOWN = -1; // 0xffffffff
Sunil Ravi07723e22022-02-10 13:47:34 -0800436 field public static final int SECURITY_TYPE_DPP = 13; // 0xd
Hai Shalom46a7a672021-03-17 14:58:55 -0700437 field public static final int SECURITY_TYPE_EAP = 3; // 0x3
438 field public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE = 9; // 0x9
439 field public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT = 5; // 0x5
440 field public static final int SECURITY_TYPE_OPEN = 0; // 0x0
441 field public static final int SECURITY_TYPE_OSEN = 10; // 0xa
442 field public static final int SECURITY_TYPE_OWE = 6; // 0x6
443 field public static final int SECURITY_TYPE_PASSPOINT_R1_R2 = 11; // 0xb
444 field public static final int SECURITY_TYPE_PASSPOINT_R3 = 12; // 0xc
445 field public static final int SECURITY_TYPE_PSK = 2; // 0x2
446 field public static final int SECURITY_TYPE_SAE = 4; // 0x4
447 field public static final int SECURITY_TYPE_UNKNOWN = -1; // 0xffffffff
448 field public static final int SECURITY_TYPE_WAPI_CERT = 8; // 0x8
449 field public static final int SECURITY_TYPE_WAPI_PSK = 7; // 0x7
450 field public static final int SECURITY_TYPE_WEP = 1; // 0x1
Anton Hansson180d9562020-01-17 19:03:34 +0000451 }
452
453 public static final class WifiInfo.Builder {
454 ctor public WifiInfo.Builder();
455 method @NonNull public android.net.wifi.WifiInfo build();
456 method @NonNull public android.net.wifi.WifiInfo.Builder setBssid(@NonNull String);
Hai Shalom46a7a672021-03-17 14:58:55 -0700457 method @NonNull public android.net.wifi.WifiInfo.Builder setCurrentSecurityType(int);
Anton Hansson180d9562020-01-17 19:03:34 +0000458 method @NonNull public android.net.wifi.WifiInfo.Builder setNetworkId(int);
459 method @NonNull public android.net.wifi.WifiInfo.Builder setRssi(int);
460 method @NonNull public android.net.wifi.WifiInfo.Builder setSsid(@NonNull byte[]);
Nate Jiang55141c52024-02-15 17:05:24 -0800461 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 +0000462 }
463
464 public class WifiManager {
Nate Jiangee93b252023-01-12 11:24:30 -0800465 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 +0000466 method @Deprecated public int addNetwork(android.net.wifi.WifiConfiguration);
Anton Hanssonb43f5dc2021-10-20 13:21:00 +0100467 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 +0000468 method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int addNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>);
469 method public void addOrUpdatePasspointConfiguration(android.net.wifi.hotspot2.PasspointConfiguration);
470 method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE}) public void addSuggestionConnectionStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SuggestionConnectionStatusListener);
Nate Jiang97874a22021-01-28 09:42:02 -0800471 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addSuggestionUserApprovalStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener);
Quang Anh Luong048d6972024-11-11 16:09:58 +0900472 method @FlaggedApi("com.android.wifi.flags.wifi_state_changed_listener") @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addWifiStateChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiStateChangedListener);
Stephanie Bak9a28f2c2022-02-04 05:30:58 +0000473 method public void allowAutojoinGlobal(boolean);
Anton Hansson180d9562020-01-17 19:03:34 +0000474 method @Deprecated public static int calculateSignalLevel(int, int);
475 method @IntRange(from=0) public int calculateSignalLevel(int);
476 method @Deprecated public void cancelWps(android.net.wifi.WifiManager.WpsCallback);
477 method public static int compareSignalLevel(int, int);
478 method public android.net.wifi.WifiManager.MulticastLock createMulticastLock(String);
479 method public android.net.wifi.WifiManager.WifiLock createWifiLock(int, String);
480 method @Deprecated public android.net.wifi.WifiManager.WifiLock createWifiLock(String);
481 method @Deprecated public boolean disableNetwork(int);
qiangjiang2d72f782024-11-13 22:22:46 +0000482 method @FlaggedApi("com.android.wifi.flags.bssid_blocklist_for_suggestion") @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public void disallowCurrentSuggestedNetwork(@NonNull android.net.wifi.BlockingOption);
Anton Hansson180d9562020-01-17 19:03:34 +0000483 method @Deprecated public boolean disconnect();
484 method @Deprecated public boolean enableNetwork(int, boolean);
Anton Hanssonb43f5dc2021-10-20 13:21:00 +0100485 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 +0000486 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 +0000487 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 -0800488 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 +0000489 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 -0700490 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 -0800491 method @Deprecated public android.net.DhcpInfo getDhcpInfo();
Nate(Qiang) Jiang8afa42c2022-11-18 01:02:11 +0000492 method public int getMaxNumberOfChannelsPerNetworkSpecifierRequest();
Anton Hansson180d9562020-01-17 19:03:34 +0000493 method public int getMaxNumberOfNetworkSuggestionsPerApp();
494 method @IntRange(from=0) public int getMaxSignalLevel();
Sunil Ravi91e5b482022-12-12 05:31:56 +0000495 method public void getMaxSupportedConcurrentTdlsSessions(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
Anton Hansson180d9562020-01-17 19:03:34 +0000496 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 +0000497 method public void getNumberOfEnabledTdlsSessions(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
Anton Hanssonb43f5dc2021-10-20 13:21:00 +0100498 method @Deprecated public java.util.List<android.net.wifi.hotspot2.PasspointConfiguration> getPasspointConfigurations();
divya.n13c5ced32024-01-10 19:11:07 +0530499 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 -0700500 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 -0800501 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getStaConcurrencyForMultiInternetMode();
Oscar Shudc00d072022-11-16 19:51:46 +0000502 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 +0000503 method public int getWifiState();
lesl053a69e2021-02-04 17:09:22 +0800504 method public boolean is24GHzBandSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000505 method public boolean is5GHzBandSupported();
Jimmy Chen049baa52021-01-26 01:29:19 +0800506 method public boolean is60GHzBandSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000507 method public boolean is6GHzBandSupported();
divya.n13c5ced32024-01-10 19:11:07 +0530508 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isAggressiveRoamingModeSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000509 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isAutoWakeupEnabled();
lesl6d565cd2020-11-27 13:05:04 +0800510 method public boolean isBridgedApConcurrencySupported();
Nate Jiangdc80ce82021-03-16 14:37:40 -0700511 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isCarrierNetworkOffloadEnabled(int, boolean);
Les Leea20d9202024-02-09 04:26:27 +0000512 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isD2dSupportedWhenInfraStaDisabled();
Hai Shalom1d362632021-03-12 15:00:50 -0800513 method public boolean isDecoratedIdentitySupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000514 method @Deprecated public boolean isDeviceToApRttSupported();
Sunil Ravi4da9cf52022-11-27 23:37:14 +0000515 method public boolean isDualBandSimultaneousSupported();
Ahmed ElArabawyb52adcd2022-02-28 10:35:26 -0800516 method public boolean isEasyConnectDppAkmSupported();
Sunil Ravi42b7f932021-02-24 17:13:41 -0800517 method public boolean isEasyConnectEnrolleeResponderModeSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000518 method public boolean isEasyConnectSupported();
519 method public boolean isEnhancedOpenSupported();
520 method public boolean isEnhancedPowerReportingSupported();
Roshan Pius022f3b62021-02-26 14:11:18 -0800521 method public boolean isMakeBeforeBreakWifiSwitchingSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000522 method public boolean isP2pSupported();
Hai Shalom9a7adff2021-03-01 19:05:17 -0800523 method public boolean isPasspointTermsAndConditionsSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000524 method public boolean isPreferredNetworkOffloadSupported();
525 method @Deprecated public boolean isScanAlwaysAvailable();
526 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isScanThrottleEnabled();
527 method public boolean isStaApConcurrencySupported();
lesl6d565cd2020-11-27 13:05:04 +0800528 method public boolean isStaBridgedApConcurrencySupported();
Roshan Pius022f3b62021-02-26 14:11:18 -0800529 method public boolean isStaConcurrencyForLocalOnlyConnectionsSupported();
Chris Yef47b5932021-12-03 16:07:34 -0800530 method public boolean isStaConcurrencyForMultiInternetSupported();
Sunil Ravi91e5b482022-12-12 05:31:56 +0000531 method public void isTdlsOperationCurrentlyAvailable(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
Anton Hansson180d9562020-01-17 19:03:34 +0000532 method public boolean isTdlsSupported();
Mahesh KKV8a0a98e2023-02-07 18:22:16 -0800533 method public boolean isTidToLinkMappingNegotiationSupported();
Jimmy Chencf2693c2022-10-06 15:39:02 +0800534 method public boolean isTlsMinimumVersionSupported();
535 method public boolean isTlsV13Supported();
Jimmy Chen05ac9a82021-11-04 22:42:23 +0800536 method public boolean isTrustOnFirstUseSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000537 method public boolean isWapiSupported();
Nate Jiang55141c52024-02-15 17:05:24 -0800538 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isWepSupported();
Jimmy Chend9fb5fb2021-03-04 14:42:49 +0800539 method public boolean isWifiDisplayR2Supported();
Anton Hansson180d9562020-01-17 19:03:34 +0000540 method public boolean isWifiEnabled();
Chris Ye4ef08dd2021-06-14 23:21:45 -0700541 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiPasspointEnabled();
Anton Hansson180d9562020-01-17 19:03:34 +0000542 method public boolean isWifiStandardSupported(int);
Jimmy Chen8b6b2462021-02-23 10:27:51 +0800543 method public boolean isWpa3SaeH2eSupported();
Jimmy Chena4c3f892021-02-23 09:50:20 +0800544 method public boolean isWpa3SaePublicKeySupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000545 method public boolean isWpa3SaeSupported();
546 method public boolean isWpa3SuiteBSupported();
Nate Jiang55141c52024-02-15 17:05:24 -0800547 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isWpaPersonalSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000548 method @Deprecated public boolean pingSupplicant();
Stephanie Bak5d70f732022-03-07 20:41:46 +0000549 method public void queryAutojoinGlobal(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
Quang Luong7c458152024-02-06 23:34:51 +0000550 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 +0000551 method @Deprecated public boolean reassociate();
552 method @Deprecated public boolean reconnect();
553 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void registerScanResultsCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.ScanResultsCallback);
Etan Cohen591aeb52021-01-06 13:17:32 -0800554 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 -0800555 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeLocalOnlyConnectionFailureListener(@NonNull android.net.wifi.WifiManager.LocalOnlyConnectionFailureListener);
Anton Hansson180d9562020-01-17 19:03:34 +0000556 method @Deprecated public boolean removeNetwork(int);
Nate Jiang1c407132022-01-25 11:03:41 -0800557 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 -0800558 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 +0000559 method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean removeNonCallerConfiguredNetworks();
Anton Hanssonb43f5dc2021-10-20 13:21:00 +0100560 method @Deprecated public void removePasspointConfiguration(String);
divya.n13c5ced32024-01-10 19:11:07 +0530561 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 +0000562 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeSuggestionConnectionStatusListener(@NonNull android.net.wifi.WifiManager.SuggestionConnectionStatusListener);
Nate Jiangd1519d72020-12-09 22:43:33 -0800563 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeSuggestionUserApprovalStatusListener(@NonNull android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener);
Quang Anh Luong048d6972024-11-11 16:09:58 +0900564 method @FlaggedApi("com.android.wifi.flags.wifi_state_changed_listener") @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeWifiStateChangedListener(@NonNull android.net.wifi.WifiManager.WifiStateChangedListener);
Etan Cohen10ae7e12022-03-15 23:47:53 +0000565 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 +0000566 method @Deprecated public boolean saveConfiguration();
divya.n13c5ced32024-01-10 19:11:07 +0530567 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 +0900568 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 +0000569 method public void setTdlsEnabled(java.net.InetAddress, boolean);
Sunil Ravi91e5b482022-12-12 05:31:56 +0000570 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 +0000571 method public void setTdlsEnabledWithMacAddress(String, boolean);
Sunil Ravi91e5b482022-12-12 05:31:56 +0000572 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 +0000573 method @Deprecated public boolean setWifiEnabled(boolean);
xshu25c63302022-01-11 16:26:55 -0800574 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);
Les Leecd53df32024-11-01 17:08:01 +0000575 method @FlaggedApi("com.android.wifi.flags.public_bands_for_lohs") @RequiresPermission(allOf={android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.NEARBY_WIFI_DEVICES}) public void startLocalOnlyHotspotWithConfiguration(@NonNull android.net.wifi.SoftApConfiguration, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.LocalOnlyHotspotCallback);
Anton Hansson180d9562020-01-17 19:03:34 +0000576 method @Deprecated public boolean startScan();
577 method @Deprecated public void startWps(android.net.wifi.WpsInfo, android.net.wifi.WifiManager.WpsCallback);
578 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void unregisterScanResultsCallback(@NonNull android.net.wifi.WifiManager.ScanResultsCallback);
Etan Cohen9c0688d2021-02-12 01:42:09 +0000579 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void unregisterSubsystemRestartTrackingCallback(@NonNull android.net.wifi.WifiManager.SubsystemRestartTrackingCallback);
Anton Hansson180d9562020-01-17 19:03:34 +0000580 method @Deprecated public int updateNetwork(android.net.wifi.WifiConfiguration);
Les Lee1caf8482022-10-21 10:18:13 +0800581 method public boolean validateSoftApConfiguration(@NonNull android.net.wifi.SoftApConfiguration);
Anton Hansson180d9562020-01-17 19:03:34 +0000582 field public static final String ACTION_PICK_WIFI_NETWORK = "android.net.wifi.PICK_WIFI_NETWORK";
Nate Jiange29c4732021-11-22 11:47:15 -0800583 field public static final int ACTION_REMOVE_SUGGESTION_DISCONNECT = 2; // 0x2
584 field public static final int ACTION_REMOVE_SUGGESTION_LINGER = 1; // 0x1
Anton Hansson180d9562020-01-17 19:03:34 +0000585 field public static final String ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE = "android.net.wifi.action.REQUEST_SCAN_ALWAYS_AVAILABLE";
586 field public static final String ACTION_WIFI_NETWORK_SUGGESTION_POST_CONNECTION = "android.net.wifi.action.WIFI_NETWORK_SUGGESTION_POST_CONNECTION";
587 field public static final String ACTION_WIFI_SCAN_AVAILABILITY_CHANGED = "android.net.wifi.action.WIFI_SCAN_AVAILABILITY_CHANGED";
Shuibing Daic71c7fd2022-11-27 10:40:59 -0800588 field public static final String CHANNEL_DATA_KEY_FREQUENCY_MHZ = "CHANNEL_DATA_KEY_FREQUENCY_MHZ";
589 field public static final String CHANNEL_DATA_KEY_NUM_AP = "CHANNEL_DATA_KEY_NUM_AP";
Anton Hansson180d9562020-01-17 19:03:34 +0000590 field @Deprecated public static final int ERROR_AUTHENTICATING = 1; // 0x1
591 field @Deprecated public static final String EXTRA_BSSID = "bssid";
592 field public static final String EXTRA_NETWORK_INFO = "networkInfo";
593 field public static final String EXTRA_NETWORK_SUGGESTION = "android.net.wifi.extra.NETWORK_SUGGESTION";
594 field public static final String EXTRA_NEW_RSSI = "newRssi";
595 field @Deprecated public static final String EXTRA_NEW_STATE = "newState";
596 field public static final String EXTRA_PREVIOUS_WIFI_STATE = "previous_wifi_state";
597 field public static final String EXTRA_RESULTS_UPDATED = "resultsUpdated";
598 field public static final String EXTRA_SCAN_AVAILABLE = "android.net.wifi.extra.SCAN_AVAILABLE";
599 field @Deprecated public static final String EXTRA_SUPPLICANT_CONNECTED = "connected";
600 field @Deprecated public static final String EXTRA_SUPPLICANT_ERROR = "supplicantError";
601 field @Deprecated public static final String EXTRA_WIFI_INFO = "wifiInfo";
602 field public static final String EXTRA_WIFI_STATE = "wifi_state";
Quang Luong7c458152024-02-06 23:34:51 +0000603 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int FLAG_SEND_DHCP_HOSTNAME_RESTRICTION_OPEN = 1; // 0x1
604 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int FLAG_SEND_DHCP_HOSTNAME_RESTRICTION_SECURE = 2; // 0x2
Anton Hansson180d9562020-01-17 19:03:34 +0000605 field public static final String NETWORK_IDS_CHANGED_ACTION = "android.net.wifi.NETWORK_IDS_CHANGED";
606 field public static final String NETWORK_STATE_CHANGED_ACTION = "android.net.wifi.STATE_CHANGE";
divya.n13c5ced32024-01-10 19:11:07 +0530607 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int ROAMING_MODE_AGGRESSIVE = 2; // 0x2
608 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int ROAMING_MODE_NONE = 0; // 0x0
609 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int ROAMING_MODE_NORMAL = 1; // 0x1
Anton Hansson180d9562020-01-17 19:03:34 +0000610 field public static final String RSSI_CHANGED_ACTION = "android.net.wifi.RSSI_CHANGED";
611 field public static final String SCAN_RESULTS_AVAILABLE_ACTION = "android.net.wifi.SCAN_RESULTS";
Nate Jiangee93b252023-01-12 11:24:30 -0800612 field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_ASSOCIATION = 1; // 0x1
613 field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_AUTHENTICATION = 2; // 0x2
614 field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_IP_PROVISIONING = 3; // 0x3
615 field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_NOT_FOUND = 4; // 0x4
616 field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_NO_RESPONSE = 5; // 0x5
617 field public static final int STATUS_LOCAL_ONLY_CONNECTION_FAILURE_UNKNOWN = 0; // 0x0
Nate Jiang0e3867e2024-06-26 14:52:42 -0700618 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 +0000619 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_DUPLICATE = 3; // 0x3
620 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_EXCEEDS_MAX_PER_APP = 4; // 0x4
621 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_INVALID = 7; // 0x7
622 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_NOT_ALLOWED = 6; // 0x6
623 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_APP_DISALLOWED = 2; // 0x2
624 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_INTERNAL = 1; // 0x1
625 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_REMOVE_INVALID = 5; // 0x5
Stephanie Bak1c6ba1b2022-01-08 10:58:27 +0000626 field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_RESTRICTED_BY_ADMIN = 8; // 0x8
Anton Hansson180d9562020-01-17 19:03:34 +0000627 field public static final int STATUS_NETWORK_SUGGESTIONS_SUCCESS = 0; // 0x0
Nate Jiangd2ad1f42020-11-10 17:30:14 -0800628 field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_CARRIER_PRIVILEGE = 4; // 0x4
629 field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER = 2; // 0x2
630 field public static final int STATUS_SUGGESTION_APPROVAL_PENDING = 1; // 0x1
631 field public static final int STATUS_SUGGESTION_APPROVAL_REJECTED_BY_USER = 3; // 0x3
632 field public static final int STATUS_SUGGESTION_APPROVAL_UNKNOWN = 0; // 0x0
Anton Hansson180d9562020-01-17 19:03:34 +0000633 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_ASSOCIATION = 1; // 0x1
634 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_AUTHENTICATION = 2; // 0x2
635 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_IP_PROVISIONING = 3; // 0x3
636 field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_UNKNOWN = 0; // 0x0
637 field @Deprecated public static final String SUPPLICANT_CONNECTION_CHANGE_ACTION = "android.net.wifi.supplicant.CONNECTION_CHANGE";
638 field @Deprecated public static final String SUPPLICANT_STATE_CHANGED_ACTION = "android.net.wifi.supplicant.STATE_CHANGE";
639 field public static final String UNKNOWN_SSID = "<unknown ssid>";
Etan Cohen4af11862022-02-03 04:57:16 +0000640 field public static final int WIFI_INTERFACE_TYPE_AP = 1; // 0x1
641 field public static final int WIFI_INTERFACE_TYPE_AWARE = 2; // 0x2
642 field public static final int WIFI_INTERFACE_TYPE_DIRECT = 3; // 0x3
643 field public static final int WIFI_INTERFACE_TYPE_STA = 0; // 0x0
Anton Hansson180d9562020-01-17 19:03:34 +0000644 field @Deprecated public static final int WIFI_MODE_FULL = 1; // 0x1
Mahesh KKV0f2d9c62022-12-10 23:01:38 -0800645 field @Deprecated public static final int WIFI_MODE_FULL_HIGH_PERF = 3; // 0x3
Anton Hansson180d9562020-01-17 19:03:34 +0000646 field public static final int WIFI_MODE_FULL_LOW_LATENCY = 4; // 0x4
647 field @Deprecated public static final int WIFI_MODE_SCAN_ONLY = 2; // 0x2
Chris Yef47b5932021-12-03 16:07:34 -0800648 field public static final int WIFI_MULTI_INTERNET_MODE_DBS_AP = 1; // 0x1
649 field public static final int WIFI_MULTI_INTERNET_MODE_DISABLED = 0; // 0x0
650 field public static final int WIFI_MULTI_INTERNET_MODE_MULTI_AP = 2; // 0x2
Anton Hansson180d9562020-01-17 19:03:34 +0000651 field public static final String WIFI_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_STATE_CHANGED";
652 field public static final int WIFI_STATE_DISABLED = 1; // 0x1
653 field public static final int WIFI_STATE_DISABLING = 0; // 0x0
654 field public static final int WIFI_STATE_ENABLED = 3; // 0x3
655 field public static final int WIFI_STATE_ENABLING = 2; // 0x2
656 field public static final int WIFI_STATE_UNKNOWN = 4; // 0x4
657 field @Deprecated public static final int WPS_AUTH_FAILURE = 6; // 0x6
658 field @Deprecated public static final int WPS_OVERLAP_ERROR = 3; // 0x3
659 field @Deprecated public static final int WPS_TIMED_OUT = 7; // 0x7
660 field @Deprecated public static final int WPS_TKIP_ONLY_PROHIBITED = 5; // 0x5
661 field @Deprecated public static final int WPS_WEP_PROHIBITED = 4; // 0x4
662 }
663
xshu18bf8152021-03-18 21:07:30 -0700664 public static final class WifiManager.AddNetworkResult implements android.os.Parcelable {
665 ctor public WifiManager.AddNetworkResult(int, int);
666 method public int describeContents();
667 method public void writeToParcel(@NonNull android.os.Parcel, int);
668 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiManager.AddNetworkResult> CREATOR;
669 field public static final int STATUS_ADD_PASSPOINT_FAILURE = 3; // 0x3
670 field public static final int STATUS_ADD_WIFI_CONFIG_FAILURE = 4; // 0x4
671 field public static final int STATUS_FAILURE_UNKNOWN = 1; // 0x1
672 field public static final int STATUS_FAILURE_UPDATE_NETWORK_KEYS = 9; // 0x9
673 field public static final int STATUS_INVALID_CONFIGURATION = 5; // 0x5
674 field public static final int STATUS_INVALID_CONFIGURATION_ENTERPRISE = 10; // 0xa
675 field public static final int STATUS_NO_PERMISSION = 2; // 0x2
676 field public static final int STATUS_NO_PERMISSION_MODIFY_CONFIG = 6; // 0x6
677 field public static final int STATUS_NO_PERMISSION_MODIFY_MAC_RANDOMIZATION = 8; // 0x8
678 field public static final int STATUS_NO_PERMISSION_MODIFY_PROXY_SETTING = 7; // 0x7
679 field public static final int STATUS_SUCCESS = 0; // 0x0
680 field public final int networkId;
681 field public final int statusCode;
682 }
683
Etan Cohen45cdfab2022-03-03 22:45:43 +0000684 public static class WifiManager.InterfaceCreationImpact {
685 ctor public WifiManager.InterfaceCreationImpact(int, @NonNull java.util.Set<java.lang.String>);
Etan Cohenfa89f3e2022-02-26 08:10:26 +0000686 method public int getInterfaceType();
Etan Cohen45cdfab2022-03-03 22:45:43 +0000687 method @NonNull public java.util.Set<java.lang.String> getPackages();
Etan Cohenfa89f3e2022-02-26 08:10:26 +0000688 }
689
Nate Jiangee93b252023-01-12 11:24:30 -0800690 public static interface WifiManager.LocalOnlyConnectionFailureListener {
Nate Jiangb363d172023-01-25 10:41:51 -0800691 method public void onConnectionFailed(@NonNull android.net.wifi.WifiNetworkSpecifier, int);
Nate Jiangee93b252023-01-12 11:24:30 -0800692 }
693
Anton Hansson180d9562020-01-17 19:03:34 +0000694 public static class WifiManager.LocalOnlyHotspotCallback {
695 ctor public WifiManager.LocalOnlyHotspotCallback();
696 method public void onFailed(int);
697 method public void onStarted(android.net.wifi.WifiManager.LocalOnlyHotspotReservation);
698 method public void onStopped();
699 field public static final int ERROR_GENERIC = 2; // 0x2
700 field public static final int ERROR_INCOMPATIBLE_MODE = 3; // 0x3
701 field public static final int ERROR_NO_CHANNEL = 1; // 0x1
702 field public static final int ERROR_TETHERING_DISALLOWED = 4; // 0x4
703 }
704
705 public class WifiManager.LocalOnlyHotspotReservation implements java.lang.AutoCloseable {
706 method public void close();
707 method @NonNull public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
708 method @Deprecated @Nullable public android.net.wifi.WifiConfiguration getWifiConfiguration();
709 }
710
711 public class WifiManager.MulticastLock {
712 method public void acquire();
713 method public boolean isHeld();
714 method public void release();
715 method public void setReferenceCounted(boolean);
716 }
717
718 public abstract static class WifiManager.ScanResultsCallback {
719 ctor public WifiManager.ScanResultsCallback();
720 method public abstract void onScanResultsAvailable();
721 }
722
Etan Cohen591aeb52021-01-06 13:17:32 -0800723 public abstract static class WifiManager.SubsystemRestartTrackingCallback {
724 ctor public WifiManager.SubsystemRestartTrackingCallback();
725 method public abstract void onSubsystemRestarted();
726 method public abstract void onSubsystemRestarting();
727 }
728
Anton Hansson180d9562020-01-17 19:03:34 +0000729 public static interface WifiManager.SuggestionConnectionStatusListener {
730 method public void onConnectionStatus(@NonNull android.net.wifi.WifiNetworkSuggestion, int);
731 }
732
Nate Jiangd1519d72020-12-09 22:43:33 -0800733 public static interface WifiManager.SuggestionUserApprovalStatusListener {
Nate Jiang97874a22021-01-28 09:42:02 -0800734 method public void onUserApprovalStatusChange(int);
Nate Jiangd1519d72020-12-09 22:43:33 -0800735 }
736
Anton Hansson180d9562020-01-17 19:03:34 +0000737 public class WifiManager.WifiLock {
738 method public void acquire();
739 method public boolean isHeld();
740 method public void release();
741 method public void setReferenceCounted(boolean);
742 method public void setWorkSource(android.os.WorkSource);
743 }
744
Quang Anh Luong048d6972024-11-11 16:09:58 +0900745 @FlaggedApi("com.android.wifi.flags.wifi_state_changed_listener") public static interface WifiManager.WifiStateChangedListener {
Quang Anh Luongbece4f32024-11-21 16:59:56 +0900746 method public void onWifiStateChanged();
Quang Anh Luong048d6972024-11-11 16:09:58 +0900747 }
748
Anton Hansson180d9562020-01-17 19:03:34 +0000749 @Deprecated public abstract static class WifiManager.WpsCallback {
750 ctor @Deprecated public WifiManager.WpsCallback();
751 method @Deprecated public abstract void onFailed(int);
752 method @Deprecated public abstract void onStarted(String);
753 method @Deprecated public abstract void onSucceeded();
754 }
755
756 public final class WifiNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
757 method public int describeContents();
Chalard Jean2c6d14d2021-05-12 22:22:06 +0900758 method public int getBand();
Nate(Qiang) Jiang8afa42c2022-11-18 01:02:11 +0000759 method @NonNull public int[] getPreferredChannelFrequenciesMhz();
Anton Hansson180d9562020-01-17 19:03:34 +0000760 method public void writeToParcel(android.os.Parcel, int);
761 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSpecifier> CREATOR;
762 }
763
764 public static final class WifiNetworkSpecifier.Builder {
765 ctor public WifiNetworkSpecifier.Builder();
766 method @NonNull public android.net.wifi.WifiNetworkSpecifier build();
Chalard Jean2c6d14d2021-05-12 22:22:06 +0900767 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBand(int);
Anton Hansson180d9562020-01-17 19:03:34 +0000768 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBssid(@NonNull android.net.MacAddress);
769 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBssidPattern(@NonNull android.net.MacAddress, @NonNull android.net.MacAddress);
770 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsEnhancedOpen(boolean);
771 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsHiddenSsid(boolean);
Nate(Qiang) Jiang8afa42c2022-11-18 01:02:11 +0000772 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setPreferredChannelsFrequenciesMhz(@NonNull int[]);
Anton Hansson180d9562020-01-17 19:03:34 +0000773 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setSsid(@NonNull String);
774 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setSsidPattern(@NonNull android.os.PatternMatcher);
775 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa2EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
776 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa2Passphrase(@NonNull String);
Jimmy Chen049bf532020-10-16 14:15:11 +0800777 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3Enterprise192BitModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
778 method @Deprecated @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
779 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3EnterpriseStandardModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
Anton Hansson180d9562020-01-17 19:03:34 +0000780 method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3Passphrase(@NonNull String);
781 }
782
783 public final class WifiNetworkSuggestion implements android.os.Parcelable {
784 method public int describeContents();
785 method @Nullable public android.net.MacAddress getBssid();
786 method @Nullable public android.net.wifi.WifiEnterpriseConfig getEnterpriseConfig();
Nate Jiangd5bd85d2021-09-24 15:29:46 -0700787 method public int getMacRandomizationSetting();
Anton Hansson180d9562020-01-17 19:03:34 +0000788 method @Nullable public String getPassphrase();
789 method @Nullable public android.net.wifi.hotspot2.PasspointConfiguration getPasspointConfig();
790 method @IntRange(from=0) public int getPriority();
Nate Jiang34101422021-03-03 17:53:06 -0800791 method @IntRange(from=0) public int getPriorityGroup();
Anton Hansson180d9562020-01-17 19:03:34 +0000792 method @Nullable public String getSsid();
Nate Jiangf54facb2021-11-22 11:47:15 -0800793 method @Nullable public android.os.ParcelUuid getSubscriptionGroup();
Nate Jiang5fab3cb2020-09-16 17:48:16 -0700794 method public int getSubscriptionId();
Nate Jiangd5ec9552022-01-26 16:40:51 -0800795 method @Nullable public android.net.wifi.WifiSsid getWifiSsid();
Anton Hansson180d9562020-01-17 19:03:34 +0000796 method public boolean isAppInteractionRequired();
Nate Jiangd7ed9df2020-11-10 13:00:07 -0800797 method public boolean isCarrierMerged();
Anton Hansson180d9562020-01-17 19:03:34 +0000798 method public boolean isCredentialSharedWithUser();
799 method public boolean isEnhancedOpen();
800 method public boolean isHiddenSsid();
801 method public boolean isInitialAutojoinEnabled();
802 method public boolean isMetered();
Nate Jiang2d9907c2021-11-05 11:42:57 -0700803 method public boolean isRestricted();
Anton Hansson180d9562020-01-17 19:03:34 +0000804 method public boolean isUntrusted();
805 method public boolean isUserInteractionRequired();
Mahesh KKVb50f6002024-01-22 12:44:12 -0800806 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean isWifi7Enabled();
Anton Hansson180d9562020-01-17 19:03:34 +0000807 method public void writeToParcel(android.os.Parcel, int);
808 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSuggestion> CREATOR;
xshud92896d2021-02-12 17:07:06 -0800809 field public static final int RANDOMIZATION_NON_PERSISTENT = 1; // 0x1
810 field public static final int RANDOMIZATION_PERSISTENT = 0; // 0x0
Anton Hansson180d9562020-01-17 19:03:34 +0000811 }
812
813 public static final class WifiNetworkSuggestion.Builder {
814 ctor public WifiNetworkSuggestion.Builder();
815 method @NonNull public android.net.wifi.WifiNetworkSuggestion build();
816 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setBssid(@NonNull android.net.MacAddress);
Nate Jiangd7ed9df2020-11-10 13:00:07 -0800817 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierMerged(boolean);
Anton Hansson180d9562020-01-17 19:03:34 +0000818 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setCredentialSharedWithUser(boolean);
819 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsAppInteractionRequired(boolean);
820 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsEnhancedOpen(boolean);
821 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsHiddenSsid(boolean);
822 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsInitialAutojoinEnabled(boolean);
823 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsMetered(boolean);
824 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsUserInteractionRequired(boolean);
Jimmy Chenc5be43d2021-03-18 13:01:50 +0800825 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsWpa3SaeH2eOnlyModeEnabled(boolean);
xshud92896d2021-02-12 17:07:06 -0800826 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setMacRandomizationSetting(int);
Anton Hansson180d9562020-01-17 19:03:34 +0000827 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPasspointConfig(@NonNull android.net.wifi.hotspot2.PasspointConfiguration);
828 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriority(@IntRange(from=0) int);
Nate Jiang34101422021-03-03 17:53:06 -0800829 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriorityGroup(@IntRange(from=0) int);
Nate Jiang2d9907c2021-11-05 11:42:57 -0700830 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setRestricted(boolean);
Anton Hansson180d9562020-01-17 19:03:34 +0000831 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSsid(@NonNull String);
Nate Jiangf54facb2021-11-22 11:47:15 -0800832 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSubscriptionGroup(@NonNull android.os.ParcelUuid);
Nate Jiang5fab3cb2020-09-16 17:48:16 -0700833 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSubscriptionId(int);
Anton Hansson180d9562020-01-17 19:03:34 +0000834 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setUntrusted(boolean);
835 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiEnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
836 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiPassphrase(@NonNull String);
Mahesh KKVb50f6002024-01-22 12:44:12 -0800837 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 -0800838 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWifiSsid(@NonNull android.net.wifi.WifiSsid);
Anton Hansson180d9562020-01-17 19:03:34 +0000839 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
840 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2Passphrase(@NonNull String);
Jimmy Chen049bf532020-10-16 14:15:11 +0800841 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3Enterprise192BitModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
842 method @Deprecated @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
843 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3EnterpriseStandardModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
Anton Hansson180d9562020-01-17 19:03:34 +0000844 method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3Passphrase(@NonNull String);
845 }
846
Quang Luongab00ba22021-10-07 16:12:10 -0700847 public final class WifiSsid implements android.os.Parcelable {
848 method public int describeContents();
849 method @NonNull public static android.net.wifi.WifiSsid fromBytes(@Nullable byte[]);
Quang Luongab00ba22021-10-07 16:12:10 -0700850 method @NonNull public byte[] getBytes();
Quang Luongab00ba22021-10-07 16:12:10 -0700851 method public void writeToParcel(@NonNull android.os.Parcel, int);
852 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiSsid> CREATOR;
853 }
854
Anton Hansson180d9562020-01-17 19:03:34 +0000855 public class WpsInfo implements android.os.Parcelable {
856 ctor public WpsInfo();
857 ctor public WpsInfo(android.net.wifi.WpsInfo);
858 method public int describeContents();
859 method public void writeToParcel(android.os.Parcel, int);
860 field public String BSSID;
861 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WpsInfo> CREATOR;
862 field public static final int DISPLAY = 1; // 0x1
863 field public static final int INVALID = 4; // 0x4
864 field public static final int KEYPAD = 2; // 0x2
865 field public static final int LABEL = 3; // 0x3
866 field public static final int PBC = 0; // 0x0
867 field public String pin;
868 field public int setup;
869 }
870
871}
872
873package android.net.wifi.aware {
874
875 public class AttachCallback {
876 ctor public AttachCallback();
877 method public void onAttachFailed();
878 method public void onAttached(android.net.wifi.aware.WifiAwareSession);
Nate Jiangc7820a12022-01-31 13:41:04 -0800879 method public void onAwareSessionTerminated();
Anton Hansson180d9562020-01-17 19:03:34 +0000880 }
881
Nate Jiang9bda6122022-11-23 17:21:16 -0800882 public final class AwarePairingConfig implements android.os.Parcelable {
883 method public int describeContents();
884 method public int getBootstrappingMethods();
qiangjiangdf3fb4b2024-08-21 23:24:13 +0000885 method @FlaggedApi("com.android.wifi.flags.aware_pairing") public int getSupportedCipherSuites();
Nate Jiang9bda6122022-11-23 17:21:16 -0800886 method public boolean isPairingCacheEnabled();
887 method public boolean isPairingSetupEnabled();
888 method public boolean isPairingVerificationEnabled();
889 method public void writeToParcel(@NonNull android.os.Parcel, int);
890 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.AwarePairingConfig> CREATOR;
891 field public static final int PAIRING_BOOTSTRAPPING_NFC_READER = 256; // 0x100
892 field public static final int PAIRING_BOOTSTRAPPING_NFC_TAG = 16; // 0x10
893 field public static final int PAIRING_BOOTSTRAPPING_OPPORTUNISTIC = 1; // 0x1
894 field public static final int PAIRING_BOOTSTRAPPING_PASSPHRASE_DISPLAY = 4; // 0x4
895 field public static final int PAIRING_BOOTSTRAPPING_PASSPHRASE_KEYPAD = 64; // 0x40
896 field public static final int PAIRING_BOOTSTRAPPING_PIN_CODE_DISPLAY = 2; // 0x2
897 field public static final int PAIRING_BOOTSTRAPPING_PIN_CODE_KEYPAD = 32; // 0x20
898 field public static final int PAIRING_BOOTSTRAPPING_QR_DISPLAY = 8; // 0x8
899 field public static final int PAIRING_BOOTSTRAPPING_QR_SCAN = 128; // 0x80
900 }
901
902 public static final class AwarePairingConfig.Builder {
903 ctor public AwarePairingConfig.Builder();
904 method @NonNull public android.net.wifi.aware.AwarePairingConfig build();
905 method @NonNull public android.net.wifi.aware.AwarePairingConfig.Builder setBootstrappingMethods(int);
906 method @NonNull public android.net.wifi.aware.AwarePairingConfig.Builder setPairingCacheEnabled(boolean);
907 method @NonNull public android.net.wifi.aware.AwarePairingConfig.Builder setPairingSetupEnabled(boolean);
908 method @NonNull public android.net.wifi.aware.AwarePairingConfig.Builder setPairingVerificationEnabled(boolean);
qiangjiangdf3fb4b2024-08-21 23:24:13 +0000909 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 -0800910 }
911
Nate Jiang702d6172020-10-19 15:29:29 -0700912 public final class AwareResources implements android.os.Parcelable {
Nate Jiang88247122021-03-03 18:27:37 -0800913 ctor public AwareResources(@IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int);
Nate Jiang702d6172020-10-19 15:29:29 -0700914 method public int describeContents();
Nate Jiangaf770eb2021-01-12 13:15:37 -0800915 method @IntRange(from=0) public int getAvailableDataPathsCount();
916 method @IntRange(from=0) public int getAvailablePublishSessionsCount();
917 method @IntRange(from=0) public int getAvailableSubscribeSessionsCount();
Nate Jiang702d6172020-10-19 15:29:29 -0700918 method public void writeToParcel(@NonNull android.os.Parcel, int);
919 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.AwareResources> CREATOR;
920 }
921
Anton Hansson180d9562020-01-17 19:03:34 +0000922 public final class Characteristics implements android.os.Parcelable {
923 method public int describeContents();
924 method public int getMaxMatchFilterLength();
925 method public int getMaxServiceNameLength();
926 method public int getMaxServiceSpecificInfoLength();
Nate Jiang4b6e5352021-11-10 16:29:26 -0800927 method @IntRange(from=1) public int getNumberOfSupportedDataInterfaces();
928 method @IntRange(from=1) public int getNumberOfSupportedDataPaths();
929 method @IntRange(from=1) public int getNumberOfSupportedPublishSessions();
930 method @IntRange(from=1) public int getNumberOfSupportedSubscribeSessions();
Anton Hansson180d9562020-01-17 19:03:34 +0000931 method public int getSupportedCipherSuites();
Nate Jiangb347ea62023-02-10 18:36:02 -0800932 method public int getSupportedPairingCipherSuites();
Nate Jiang9bda6122022-11-23 17:21:16 -0800933 method public boolean isAwarePairingSupported();
Nate Jiangecdc6582020-10-09 11:33:04 -0700934 method public boolean isInstantCommunicationModeSupported();
Biswarup Pal41443f22022-12-20 18:04:34 +0000935 method public boolean isSuspensionSupported();
Anton Hansson180d9562020-01-17 19:03:34 +0000936 method public void writeToParcel(android.os.Parcel, int);
937 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.Characteristics> CREATOR;
Nate Jiang292e6632022-01-12 15:49:10 -0800938 field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_PK_128 = 4; // 0x4
939 field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_PK_256 = 8; // 0x8
Nate Jiangb347ea62023-02-10 18:36:02 -0800940 field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_PK_PASN_128 = 16; // 0x10
941 field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_PK_PASN_256 = 32; // 0x20
Anton Hansson180d9562020-01-17 19:03:34 +0000942 field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_SK_128 = 1; // 0x1
943 field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_SK_256 = 2; // 0x2
Nate Jiang1050bea2022-01-21 19:03:50 -0800944 field public static final int WIFI_AWARE_CIPHER_SUITE_NONE = 0; // 0x0
Anton Hansson180d9562020-01-17 19:03:34 +0000945 }
946
947 public class DiscoverySession implements java.lang.AutoCloseable {
Nate Jiangb347ea62023-02-10 18:36:02 -0800948 method public void acceptPairingRequest(int, @NonNull android.net.wifi.aware.PeerHandle, @NonNull String, int, @Nullable String);
Anton Hansson180d9562020-01-17 19:03:34 +0000949 method public void close();
950 method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierOpen(@NonNull android.net.wifi.aware.PeerHandle);
951 method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPassphrase(@NonNull android.net.wifi.aware.PeerHandle, @NonNull String);
Nate(Qiang) Jianged671d52022-12-20 20:42:06 +0000952 method public void initiateBootstrappingRequest(@NonNull android.net.wifi.aware.PeerHandle, int);
Nate Jiangb347ea62023-02-10 18:36:02 -0800953 method public void initiatePairingRequest(@NonNull android.net.wifi.aware.PeerHandle, @NonNull String, int, @Nullable String);
Nate Jiangce0efe02023-01-25 11:22:38 -0800954 method public void rejectPairingRequest(int, @NonNull android.net.wifi.aware.PeerHandle);
Anton Hansson180d9562020-01-17 19:03:34 +0000955 method public void sendMessage(@NonNull android.net.wifi.aware.PeerHandle, int, @Nullable byte[]);
956 }
957
958 public class DiscoverySessionCallback {
959 ctor public DiscoverySessionCallback();
Nate Jiang91c6a432023-01-26 11:29:14 -0800960 method public void onBootstrappingFailed(@NonNull android.net.wifi.aware.PeerHandle);
Nate(Qiang) Jiang56bda152023-03-04 03:48:09 +0000961 method public void onBootstrappingSucceeded(@NonNull android.net.wifi.aware.PeerHandle, int);
Anton Hansson180d9562020-01-17 19:03:34 +0000962 method public void onMessageReceived(android.net.wifi.aware.PeerHandle, byte[]);
963 method public void onMessageSendFailed(int);
964 method public void onMessageSendSucceeded(int);
Nate Jiang91c6a432023-01-26 11:29:14 -0800965 method public void onPairingSetupFailed(@NonNull android.net.wifi.aware.PeerHandle);
Nate Jiangd4431612022-12-09 17:25:58 -0800966 method public void onPairingSetupRequestReceived(@NonNull android.net.wifi.aware.PeerHandle, int);
Nate Jiang91c6a432023-01-26 11:29:14 -0800967 method public void onPairingSetupSucceeded(@NonNull android.net.wifi.aware.PeerHandle, @NonNull String);
968 method public void onPairingVerificationFailed(@NonNull android.net.wifi.aware.PeerHandle);
969 method public void onPairingVerificationSucceed(@NonNull android.net.wifi.aware.PeerHandle, @NonNull String);
Anton Hansson180d9562020-01-17 19:03:34 +0000970 method public void onPublishStarted(@NonNull android.net.wifi.aware.PublishDiscoverySession);
971 method public void onServiceDiscovered(android.net.wifi.aware.PeerHandle, byte[], java.util.List<byte[]>);
Nate Jiang1050bea2022-01-21 19:03:50 -0800972 method public void onServiceDiscovered(@NonNull android.net.wifi.aware.ServiceDiscoveryInfo);
Anton Hansson180d9562020-01-17 19:03:34 +0000973 method public void onServiceDiscoveredWithinRange(android.net.wifi.aware.PeerHandle, byte[], java.util.List<byte[]>, int);
Nate Jiang1050bea2022-01-21 19:03:50 -0800974 method public void onServiceDiscoveredWithinRange(@NonNull android.net.wifi.aware.ServiceDiscoveryInfo, int);
Nate Jiangf9a50c02020-10-14 14:35:52 -0700975 method public void onServiceLost(@NonNull android.net.wifi.aware.PeerHandle, int);
Anton Hansson180d9562020-01-17 19:03:34 +0000976 method public void onSessionConfigFailed();
977 method public void onSessionConfigUpdated();
978 method public void onSessionTerminated();
979 method public void onSubscribeStarted(@NonNull android.net.wifi.aware.SubscribeDiscoverySession);
980 }
981
982 public class IdentityChangedListener {
983 ctor public IdentityChangedListener();
Sherri Linb5448a82022-12-27 16:29:20 +0100984 method public void onClusterIdChanged(int, @NonNull android.net.MacAddress);
Anton Hansson180d9562020-01-17 19:03:34 +0000985 method public void onIdentityChanged(byte[]);
Sherri Linb5448a82022-12-27 16:29:20 +0100986 field public static final int CLUSTER_CHANGE_EVENT_JOINED = 1; // 0x1
987 field public static final int CLUSTER_CHANGE_EVENT_STARTED = 0; // 0x0
Anton Hansson180d9562020-01-17 19:03:34 +0000988 }
989
990 public final class ParcelablePeerHandle extends android.net.wifi.aware.PeerHandle implements android.os.Parcelable {
991 ctor public ParcelablePeerHandle(@NonNull android.net.wifi.aware.PeerHandle);
992 method public int describeContents();
993 method public void writeToParcel(android.os.Parcel, int);
994 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.ParcelablePeerHandle> CREATOR;
995 }
996
997 public class PeerHandle {
998 }
999
1000 public final class PublishConfig implements android.os.Parcelable {
1001 method public int describeContents();
Nate Jiangef4f8f62022-01-21 00:11:51 -08001002 method public int getInstantCommunicationBand();
Nate Jiang9bda6122022-11-23 17:21:16 -08001003 method @Nullable public android.net.wifi.aware.AwarePairingConfig getPairingConfig();
Nate Jiang1050bea2022-01-21 19:03:50 -08001004 method @Nullable public android.net.wifi.aware.WifiAwareDataPathSecurityConfig getSecurityConfig();
Nate Jiang6dcd7bd2022-02-02 15:21:32 -08001005 method public boolean isInstantCommunicationModeEnabled();
Anton Hansson180d9562020-01-17 19:03:34 +00001006 method public void writeToParcel(android.os.Parcel, int);
1007 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.PublishConfig> CREATOR;
1008 field public static final int PUBLISH_TYPE_SOLICITED = 1; // 0x1
1009 field public static final int PUBLISH_TYPE_UNSOLICITED = 0; // 0x0
1010 }
1011
1012 public static final class PublishConfig.Builder {
1013 ctor public PublishConfig.Builder();
1014 method public android.net.wifi.aware.PublishConfig build();
Nate Jiang1050bea2022-01-21 19:03:50 -08001015 method @NonNull public android.net.wifi.aware.PublishConfig.Builder setDataPathSecurityConfig(@NonNull android.net.wifi.aware.WifiAwareDataPathSecurityConfig);
Nate Jiangef4f8f62022-01-21 00:11:51 -08001016 method @NonNull public android.net.wifi.aware.PublishConfig.Builder setInstantCommunicationModeEnabled(boolean, int);
Anton Hansson180d9562020-01-17 19:03:34 +00001017 method public android.net.wifi.aware.PublishConfig.Builder setMatchFilter(@Nullable java.util.List<byte[]>);
Nate Jiang9bda6122022-11-23 17:21:16 -08001018 method @NonNull public android.net.wifi.aware.PublishConfig.Builder setPairingConfig(@Nullable android.net.wifi.aware.AwarePairingConfig);
Anton Hansson180d9562020-01-17 19:03:34 +00001019 method public android.net.wifi.aware.PublishConfig.Builder setPublishType(int);
1020 method public android.net.wifi.aware.PublishConfig.Builder setRangingEnabled(boolean);
1021 method public android.net.wifi.aware.PublishConfig.Builder setServiceName(@NonNull String);
1022 method public android.net.wifi.aware.PublishConfig.Builder setServiceSpecificInfo(@Nullable byte[]);
1023 method public android.net.wifi.aware.PublishConfig.Builder setTerminateNotificationEnabled(boolean);
1024 method public android.net.wifi.aware.PublishConfig.Builder setTtlSec(int);
1025 }
1026
1027 public class PublishDiscoverySession extends android.net.wifi.aware.DiscoverySession {
1028 method public void updatePublish(@NonNull android.net.wifi.aware.PublishConfig);
1029 }
1030
Nate Jiang6dcd7bd2022-02-02 15:21:32 -08001031 public final class ServiceDiscoveryInfo {
Nate Jiang1050bea2022-01-21 19:03:50 -08001032 method @NonNull public java.util.List<byte[]> getMatchFilters();
Nate Jiang9bda6122022-11-23 17:21:16 -08001033 method @Nullable public String getPairedAlias();
1034 method @Nullable public android.net.wifi.aware.AwarePairingConfig getPairingConfig();
Nate Jiang1050bea2022-01-21 19:03:50 -08001035 method public int getPeerCipherSuite();
1036 method @NonNull public android.net.wifi.aware.PeerHandle getPeerHandle();
1037 method @Nullable public byte[] getScid();
1038 method @Nullable public byte[] getServiceSpecificInfo();
1039 }
1040
Anton Hansson180d9562020-01-17 19:03:34 +00001041 public final class SubscribeConfig implements android.os.Parcelable {
1042 method public int describeContents();
Nate Jiangef4f8f62022-01-21 00:11:51 -08001043 method public int getInstantCommunicationBand();
Nate Jiang9bda6122022-11-23 17:21:16 -08001044 method @Nullable public android.net.wifi.aware.AwarePairingConfig getPairingConfig();
Nate Jiang6dcd7bd2022-02-02 15:21:32 -08001045 method public boolean isInstantCommunicationModeEnabled();
Anton Hansson180d9562020-01-17 19:03:34 +00001046 method public void writeToParcel(android.os.Parcel, int);
1047 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.SubscribeConfig> CREATOR;
1048 field public static final int SUBSCRIBE_TYPE_ACTIVE = 1; // 0x1
1049 field public static final int SUBSCRIBE_TYPE_PASSIVE = 0; // 0x0
1050 }
1051
1052 public static final class SubscribeConfig.Builder {
1053 ctor public SubscribeConfig.Builder();
1054 method public android.net.wifi.aware.SubscribeConfig build();
Nate Jiangef4f8f62022-01-21 00:11:51 -08001055 method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setInstantCommunicationModeEnabled(boolean, int);
Anton Hansson180d9562020-01-17 19:03:34 +00001056 method public android.net.wifi.aware.SubscribeConfig.Builder setMatchFilter(@Nullable java.util.List<byte[]>);
1057 method public android.net.wifi.aware.SubscribeConfig.Builder setMaxDistanceMm(int);
1058 method public android.net.wifi.aware.SubscribeConfig.Builder setMinDistanceMm(int);
Nate Jiang9bda6122022-11-23 17:21:16 -08001059 method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setPairingConfig(@Nullable android.net.wifi.aware.AwarePairingConfig);
Anton Hansson180d9562020-01-17 19:03:34 +00001060 method public android.net.wifi.aware.SubscribeConfig.Builder setServiceName(@NonNull String);
1061 method public android.net.wifi.aware.SubscribeConfig.Builder setServiceSpecificInfo(@Nullable byte[]);
1062 method public android.net.wifi.aware.SubscribeConfig.Builder setSubscribeType(int);
1063 method public android.net.wifi.aware.SubscribeConfig.Builder setTerminateNotificationEnabled(boolean);
1064 method public android.net.wifi.aware.SubscribeConfig.Builder setTtlSec(int);
1065 }
1066
1067 public class SubscribeDiscoverySession extends android.net.wifi.aware.DiscoverySession {
1068 method public void updateSubscribe(@NonNull android.net.wifi.aware.SubscribeConfig);
1069 }
1070
Nate Jiangdcc6f022022-01-11 12:31:56 -08001071 public final class WifiAwareChannelInfo implements android.os.Parcelable {
1072 method public int describeContents();
1073 method @IntRange(from=0) public int getChannelBandwidth();
Nate Jianga8778d02022-01-31 13:24:45 -08001074 method @IntRange(from=0) public int getChannelFrequencyMhz();
1075 method @IntRange(from=0) public int getSpatialStreamCount();
Nate Jiangdcc6f022022-01-11 12:31:56 -08001076 method public void writeToParcel(@NonNull android.os.Parcel, int);
1077 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareChannelInfo> CREATOR;
1078 }
1079
Nate Jiang292e6632022-01-12 15:49:10 -08001080 public final class WifiAwareDataPathSecurityConfig implements android.os.Parcelable {
1081 method public int describeContents();
1082 method public int getCipherSuite();
1083 method @Nullable public byte[] getPmk();
1084 method @Nullable public byte[] getPmkId();
1085 method @Nullable public String getPskPassphrase();
1086 method public void writeToParcel(@NonNull android.os.Parcel, int);
1087 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareDataPathSecurityConfig> CREATOR;
1088 }
1089
1090 public static final class WifiAwareDataPathSecurityConfig.Builder {
1091 ctor public WifiAwareDataPathSecurityConfig.Builder(int);
1092 method @NonNull public android.net.wifi.aware.WifiAwareDataPathSecurityConfig build();
1093 method @NonNull public android.net.wifi.aware.WifiAwareDataPathSecurityConfig.Builder setPmk(@NonNull byte[]);
1094 method @NonNull public android.net.wifi.aware.WifiAwareDataPathSecurityConfig.Builder setPmkId(@NonNull byte[]);
1095 method @NonNull public android.net.wifi.aware.WifiAwareDataPathSecurityConfig.Builder setPskPassphrase(@NonNull String);
1096 }
1097
Anton Hansson180d9562020-01-17 19:03:34 +00001098 public class WifiAwareManager {
xshuc16c5d02021-11-17 18:47:57 -08001099 method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE}) public void attach(@NonNull android.net.wifi.aware.AttachCallback, @Nullable android.os.Handler);
1100 method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES}, conditional=true) public void attach(@NonNull android.net.wifi.aware.AttachCallback, @NonNull android.net.wifi.aware.IdentityChangedListener, @Nullable android.os.Handler);
Nate Jiang38b1ec22022-01-11 15:10:22 -08001101 method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.aware.AwareResources getAvailableAwareResources();
1102 method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.aware.Characteristics getCharacteristics();
Nate Jiangce0efe02023-01-25 11:22:38 -08001103 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 -08001104 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isAvailable();
1105 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isDeviceAttached();
1106 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isInstantCommunicationModeEnabled();
Nate Jiang580a0982023-02-02 15:54:02 -08001107 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 -08001108 method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isSetChannelOnDataPathSupported();
Nate Jiangd4431612022-12-09 17:25:58 -08001109 method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public void removePairedDevice(@NonNull String);
1110 method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public void resetPairedDevices();
Nate Jiang580a0982023-02-02 15:54:02 -08001111 method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public void setOpportunisticModeEnabled(boolean);
Nate Jiang59e3e022022-01-24 18:05:00 -08001112 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 +00001113 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 -08001114 field public static final String EXTRA_AWARE_RESOURCES = "android.net.wifi.aware.extra.AWARE_RESOURCES";
Anton Hansson180d9562020-01-17 19:03:34 +00001115 field public static final int WIFI_AWARE_DATA_PATH_ROLE_INITIATOR = 0; // 0x0
1116 field public static final int WIFI_AWARE_DATA_PATH_ROLE_RESPONDER = 1; // 0x1
Nate Jiangf9a50c02020-10-14 14:35:52 -07001117 field public static final int WIFI_AWARE_DISCOVERY_LOST_REASON_PEER_NOT_VISIBLE = 1; // 0x1
1118 field public static final int WIFI_AWARE_DISCOVERY_LOST_REASON_UNKNOWN = 0; // 0x0
Anton Hansson180d9562020-01-17 19:03:34 +00001119 }
1120
1121 public final class WifiAwareNetworkInfo implements android.os.Parcelable android.net.TransportInfo {
1122 method public int describeContents();
Nate Jianga8778d02022-01-31 13:24:45 -08001123 method @NonNull public java.util.List<android.net.wifi.aware.WifiAwareChannelInfo> getChannelInfoList();
Anton Hansson180d9562020-01-17 19:03:34 +00001124 method @Nullable public java.net.Inet6Address getPeerIpv6Addr();
1125 method public int getPort();
1126 method public int getTransportProtocol();
1127 method public void writeToParcel(android.os.Parcel, int);
1128 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkInfo> CREATOR;
1129 }
1130
1131 public final class WifiAwareNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
1132 method public int describeContents();
Nate Jianga8778d02022-01-31 13:24:45 -08001133 method @IntRange(from=0) public int getChannelFrequencyMhz();
Nate Jiang292e6632022-01-12 15:49:10 -08001134 method @Nullable public android.net.wifi.aware.WifiAwareDataPathSecurityConfig getWifiAwareDataPathSecurityConfig();
Nate Jiang38b1ec22022-01-11 15:10:22 -08001135 method public boolean isChannelRequired();
Anton Hansson180d9562020-01-17 19:03:34 +00001136 method public void writeToParcel(android.os.Parcel, int);
1137 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkSpecifier> CREATOR;
1138 }
1139
1140 public static final class WifiAwareNetworkSpecifier.Builder {
1141 ctor public WifiAwareNetworkSpecifier.Builder(@NonNull android.net.wifi.aware.DiscoverySession, @NonNull android.net.wifi.aware.PeerHandle);
Nate Jiangef614452021-01-11 16:23:01 -08001142 ctor public WifiAwareNetworkSpecifier.Builder(@NonNull android.net.wifi.aware.PublishDiscoverySession);
Anton Hansson180d9562020-01-17 19:03:34 +00001143 method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier build();
Nate Jianga8778d02022-01-31 13:24:45 -08001144 method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setChannelFrequencyMhz(@IntRange(from=0) int, boolean);
Nate Jiang1050bea2022-01-21 19:03:50 -08001145 method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setDataPathSecurityConfig(@NonNull android.net.wifi.aware.WifiAwareDataPathSecurityConfig);
Anton Hansson180d9562020-01-17 19:03:34 +00001146 method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPmk(@NonNull byte[]);
1147 method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPort(@IntRange(from=0, to=65535) int);
1148 method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPskPassphrase(@NonNull String);
1149 method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setTransportProtocol(@IntRange(from=0, to=255) int);
1150 }
1151
1152 public class WifiAwareSession implements java.lang.AutoCloseable {
1153 method public void close();
Nate Jiang6b3ae392021-03-01 15:16:18 -08001154 method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierOpen(int, @NonNull byte[]);
1155 method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPassphrase(int, @NonNull byte[], @NonNull String);
xshuc16c5d02021-11-17 18:47:57 -08001156 method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES}, conditional=true) public void publish(@NonNull android.net.wifi.aware.PublishConfig, @NonNull android.net.wifi.aware.DiscoverySessionCallback, @Nullable android.os.Handler);
1157 method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES}, conditional=true) public void subscribe(@NonNull android.net.wifi.aware.SubscribeConfig, @NonNull android.net.wifi.aware.DiscoverySessionCallback, @Nullable android.os.Handler);
Anton Hansson180d9562020-01-17 19:03:34 +00001158 }
1159
1160}
1161
1162package android.net.wifi.hotspot2 {
1163
1164 public final class ConfigParser {
1165 method public static android.net.wifi.hotspot2.PasspointConfiguration parsePasspointConfig(String, byte[]);
1166 }
1167
1168 public final class PasspointConfiguration implements android.os.Parcelable {
1169 ctor public PasspointConfiguration();
1170 ctor public PasspointConfiguration(android.net.wifi.hotspot2.PasspointConfiguration);
1171 method public int describeContents();
1172 method public android.net.wifi.hotspot2.pps.Credential getCredential();
Hai Shalom1d362632021-03-12 15:00:50 -08001173 method @Nullable public String getDecoratedIdentityPrefix();
Anton Hansson180d9562020-01-17 19:03:34 +00001174 method public android.net.wifi.hotspot2.pps.HomeSp getHomeSp();
1175 method public long getSubscriptionExpirationTimeMillis();
1176 method @NonNull public String getUniqueId();
1177 method public boolean isOsuProvisioned();
1178 method public void setCredential(android.net.wifi.hotspot2.pps.Credential);
Hai Shalom1d362632021-03-12 15:00:50 -08001179 method public void setDecoratedIdentityPrefix(@Nullable String);
Anton Hansson180d9562020-01-17 19:03:34 +00001180 method public void setHomeSp(android.net.wifi.hotspot2.pps.HomeSp);
Hai Shalom0e159412022-02-03 19:38:31 -08001181 method public void setSubscriptionExpirationTimeInMillis(long);
Anton Hansson180d9562020-01-17 19:03:34 +00001182 method public void writeToParcel(android.os.Parcel, int);
1183 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.PasspointConfiguration> CREATOR;
1184 }
1185
1186}
1187
1188package android.net.wifi.hotspot2.omadm {
1189
1190 public final class PpsMoParser {
1191 method public static android.net.wifi.hotspot2.PasspointConfiguration parseMoText(String);
1192 }
1193
1194}
1195
1196package android.net.wifi.hotspot2.pps {
1197
1198 public final class Credential implements android.os.Parcelable {
1199 ctor public Credential();
1200 ctor public Credential(android.net.wifi.hotspot2.pps.Credential);
1201 method public int describeContents();
1202 method public java.security.cert.X509Certificate getCaCertificate();
1203 method public android.net.wifi.hotspot2.pps.Credential.CertificateCredential getCertCredential();
1204 method public java.security.cert.X509Certificate[] getClientCertificateChain();
1205 method public java.security.PrivateKey getClientPrivateKey();
Jimmy Chencf2693c2022-10-06 15:39:02 +08001206 method public int getMinimumTlsVersion();
Anton Hansson180d9562020-01-17 19:03:34 +00001207 method public String getRealm();
1208 method public android.net.wifi.hotspot2.pps.Credential.SimCredential getSimCredential();
1209 method public android.net.wifi.hotspot2.pps.Credential.UserCredential getUserCredential();
1210 method public void setCaCertificate(java.security.cert.X509Certificate);
1211 method public void setCertCredential(android.net.wifi.hotspot2.pps.Credential.CertificateCredential);
1212 method public void setClientCertificateChain(java.security.cert.X509Certificate[]);
1213 method public void setClientPrivateKey(java.security.PrivateKey);
Jimmy Chencf2693c2022-10-06 15:39:02 +08001214 method public void setMinimumTlsVersion(int) throws java.lang.IllegalArgumentException;
Anton Hansson180d9562020-01-17 19:03:34 +00001215 method public void setRealm(String);
1216 method public void setSimCredential(android.net.wifi.hotspot2.pps.Credential.SimCredential);
1217 method public void setUserCredential(android.net.wifi.hotspot2.pps.Credential.UserCredential);
1218 method public void writeToParcel(android.os.Parcel, int);
1219 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential> CREATOR;
1220 }
1221
1222 public static final class Credential.CertificateCredential implements android.os.Parcelable {
1223 ctor public Credential.CertificateCredential();
1224 ctor public Credential.CertificateCredential(android.net.wifi.hotspot2.pps.Credential.CertificateCredential);
1225 method public int describeContents();
1226 method public byte[] getCertSha256Fingerprint();
1227 method public String getCertType();
1228 method public void setCertSha256Fingerprint(byte[]);
1229 method public void setCertType(String);
1230 method public void writeToParcel(android.os.Parcel, int);
1231 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.CertificateCredential> CREATOR;
1232 }
1233
1234 public static final class Credential.SimCredential implements android.os.Parcelable {
1235 ctor public Credential.SimCredential();
1236 ctor public Credential.SimCredential(android.net.wifi.hotspot2.pps.Credential.SimCredential);
1237 method public int describeContents();
1238 method public int getEapType();
1239 method public String getImsi();
1240 method public void setEapType(int);
1241 method public void setImsi(String);
1242 method public void writeToParcel(android.os.Parcel, int);
1243 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.SimCredential> CREATOR;
1244 }
1245
1246 public static final class Credential.UserCredential implements android.os.Parcelable {
1247 ctor public Credential.UserCredential();
1248 ctor public Credential.UserCredential(android.net.wifi.hotspot2.pps.Credential.UserCredential);
1249 method public int describeContents();
1250 method public int getEapType();
1251 method public String getNonEapInnerMethod();
1252 method public String getPassword();
1253 method public String getUsername();
1254 method public void setEapType(int);
1255 method public void setNonEapInnerMethod(String);
1256 method public void setPassword(String);
1257 method public void setUsername(String);
1258 method public void writeToParcel(android.os.Parcel, int);
1259 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.UserCredential> CREATOR;
1260 }
1261
1262 public final class HomeSp implements android.os.Parcelable {
1263 ctor public HomeSp();
1264 ctor public HomeSp(android.net.wifi.hotspot2.pps.HomeSp);
1265 method public int describeContents();
1266 method public String getFqdn();
1267 method public String getFriendlyName();
Hai Shalomac2e9dc2020-09-15 15:32:11 -07001268 method @Nullable public long[] getMatchAllOis();
1269 method @Nullable public long[] getMatchAnyOis();
Hai Shalome2853f12020-10-14 18:21:52 -07001270 method @NonNull public java.util.Collection<java.lang.String> getOtherHomePartnersList();
Anton Hansson180d9562020-01-17 19:03:34 +00001271 method public long[] getRoamingConsortiumOis();
1272 method public void setFqdn(String);
1273 method public void setFriendlyName(String);
Hai Shalomac2e9dc2020-09-15 15:32:11 -07001274 method public void setMatchAllOis(@Nullable long[]);
1275 method public void setMatchAnyOis(@Nullable long[]);
Hai Shalome2853f12020-10-14 18:21:52 -07001276 method public void setOtherHomePartnersList(@NonNull java.util.Collection<java.lang.String>);
Anton Hansson180d9562020-01-17 19:03:34 +00001277 method public void setRoamingConsortiumOis(long[]);
1278 method public void writeToParcel(android.os.Parcel, int);
1279 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.HomeSp> CREATOR;
1280 }
1281
1282}
1283
1284package android.net.wifi.p2p {
1285
1286 public class WifiP2pConfig implements android.os.Parcelable {
1287 ctor public WifiP2pConfig();
1288 ctor public WifiP2pConfig(android.net.wifi.p2p.WifiP2pConfig);
1289 method public int describeContents();
Biswarup Pal4d8f6182022-11-19 09:40:10 +00001290 method public int getGroupClientIpProvisioningMode();
Anton Hansson180d9562020-01-17 19:03:34 +00001291 method public int getGroupOwnerBand();
Sunil Ravi666f3e72024-10-24 00:20:14 +00001292 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public int getGroupOwnerVersion();
Anton Hansson180d9562020-01-17 19:03:34 +00001293 method public int getNetworkId();
1294 method @Nullable public String getNetworkName();
Sunil Ravi666f3e72024-10-24 00:20:14 +00001295 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") @Nullable public android.net.wifi.p2p.WifiP2pPairingBootstrappingConfig getPairingBootstrappingConfig();
Anton Hansson180d9562020-01-17 19:03:34 +00001296 method @Nullable public String getPassphrase();
Sunil Ravi3288c7c2024-09-26 00:34:57 +00001297 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public int getPccModeConnectionType();
Sunil Ravi5a4f1982024-12-16 22:51:14 +00001298 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public boolean isAuthorizeConnectionFromPeerEnabled();
Sunil Ravi666f3e72024-10-24 00:20:14 +00001299 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public void setGroupOwnerVersion(int);
Anton Hansson180d9562020-01-17 19:03:34 +00001300 method public void writeToParcel(android.os.Parcel, int);
1301 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pConfig> CREATOR;
Biswarup Pal4d8f6182022-11-19 09:40:10 +00001302 field public static final int GROUP_CLIENT_IP_PROVISIONING_MODE_IPV4_DHCP = 0; // 0x0
1303 field public static final int GROUP_CLIENT_IP_PROVISIONING_MODE_IPV6_LINK_LOCAL = 1; // 0x1
Anton Hansson180d9562020-01-17 19:03:34 +00001304 field public static final int GROUP_OWNER_BAND_2GHZ = 1; // 0x1
1305 field public static final int GROUP_OWNER_BAND_5GHZ = 2; // 0x2
Sunil Ravi3288c7c2024-09-26 00:34:57 +00001306 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 +00001307 field public static final int GROUP_OWNER_BAND_AUTO = 0; // 0x0
1308 field public static final int GROUP_OWNER_INTENT_AUTO = -1; // 0xffffffff
1309 field public static final int GROUP_OWNER_INTENT_MAX = 15; // 0xf
1310 field public static final int GROUP_OWNER_INTENT_MIN = 0; // 0x0
Sunil Ravi666f3e72024-10-24 00:20:14 +00001311 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int P2P_VERSION_1 = 0; // 0x0
1312 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int P2P_VERSION_2 = 1; // 0x1
Sunil Ravi3288c7c2024-09-26 00:34:57 +00001313 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int PCC_MODE_CONNECTION_TYPE_LEGACY_ONLY = 0; // 0x0
1314 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int PCC_MODE_CONNECTION_TYPE_LEGACY_OR_R2 = 1; // 0x1
1315 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int PCC_MODE_CONNECTION_TYPE_R2_ONLY = 2; // 0x2
Anton Hansson180d9562020-01-17 19:03:34 +00001316 field public String deviceAddress;
1317 field @IntRange(from=0, to=15) public int groupOwnerIntent;
1318 field public android.net.wifi.WpsInfo wps;
1319 }
1320
1321 public static final class WifiP2pConfig.Builder {
1322 ctor public WifiP2pConfig.Builder();
1323 method @NonNull public android.net.wifi.p2p.WifiP2pConfig build();
1324 method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder enablePersistentMode(boolean);
Sunil Ravi5a4f1982024-12-16 22:51:14 +00001325 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setAuthorizeConnectionFromPeerEnabled(boolean);
Anton Hansson180d9562020-01-17 19:03:34 +00001326 method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setDeviceAddress(@Nullable android.net.MacAddress);
Biswarup Pal4d8f6182022-11-19 09:40:10 +00001327 method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupClientIpProvisioningMode(int);
Anton Hansson180d9562020-01-17 19:03:34 +00001328 method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingBand(int);
1329 method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingFrequency(int);
1330 method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setNetworkName(@NonNull String);
Sunil Ravi666f3e72024-10-24 00:20:14 +00001331 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setPairingBootstrappingConfig(@NonNull android.net.wifi.p2p.WifiP2pPairingBootstrappingConfig);
Anton Hansson180d9562020-01-17 19:03:34 +00001332 method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setPassphrase(@NonNull String);
Sunil Ravi3288c7c2024-09-26 00:34:57 +00001333 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 +00001334 }
1335
1336 public class WifiP2pDevice implements android.os.Parcelable {
1337 ctor public WifiP2pDevice();
1338 ctor public WifiP2pDevice(android.net.wifi.p2p.WifiP2pDevice);
1339 method public int describeContents();
Sunil Ravi6d99d662024-02-05 07:38:13 +00001340 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @Nullable public java.net.InetAddress getIpAddress();
Jimmy Chen20bd0292022-02-09 13:45:10 +08001341 method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getVendorElements();
Anton Hansson180d9562020-01-17 19:03:34 +00001342 method @Nullable public android.net.wifi.p2p.WifiP2pWfdInfo getWfdInfo();
1343 method public boolean isGroupOwner();
Sunil Ravi666f3e72024-10-24 00:20:14 +00001344 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public boolean isOpportunisticBootstrappingMethodSupported();
1345 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public boolean isPassphraseDisplayBootstrappingMethodSupported();
1346 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public boolean isPassphraseKeypadBootstrappingMethodSupported();
1347 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public boolean isPinCodeDisplayBootstrappingMethodSupported();
1348 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public boolean isPinCodeKeypadBootstrappingMethodSupported();
Anton Hansson180d9562020-01-17 19:03:34 +00001349 method public boolean isServiceDiscoveryCapable();
1350 method public void update(@NonNull android.net.wifi.p2p.WifiP2pDevice);
1351 method public boolean wpsDisplaySupported();
1352 method public boolean wpsKeypadSupported();
1353 method public boolean wpsPbcSupported();
1354 method public void writeToParcel(android.os.Parcel, int);
1355 field public static final int AVAILABLE = 3; // 0x3
1356 field public static final int CONNECTED = 0; // 0x0
1357 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDevice> CREATOR;
1358 field public static final int FAILED = 2; // 0x2
1359 field public static final int INVITED = 1; // 0x1
1360 field public static final int UNAVAILABLE = 4; // 0x4
1361 field public String deviceAddress;
1362 field public String deviceName;
1363 field public String primaryDeviceType;
1364 field public String secondaryDeviceType;
1365 field public int status;
1366 }
1367
1368 public class WifiP2pDeviceList implements android.os.Parcelable {
1369 ctor public WifiP2pDeviceList();
1370 ctor public WifiP2pDeviceList(android.net.wifi.p2p.WifiP2pDeviceList);
1371 method public int describeContents();
1372 method public android.net.wifi.p2p.WifiP2pDevice get(String);
1373 method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getDeviceList();
1374 method public void writeToParcel(android.os.Parcel, int);
1375 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDeviceList> CREATOR;
1376 }
1377
Sunil Ravi4805ca22024-11-25 06:23:25 +00001378 @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public final class WifiP2pDirInfo implements android.os.Parcelable {
1379 ctor public WifiP2pDirInfo(@NonNull android.net.MacAddress, @NonNull byte[], @NonNull byte[]);
1380 method public int describeContents();
1381 method @NonNull public byte[] getDirTag();
1382 method @NonNull public android.net.MacAddress getMacAddress();
1383 method @NonNull public byte[] getNonce();
1384 method public void writeToParcel(@NonNull android.os.Parcel, int);
1385 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDirInfo> CREATOR;
1386 }
1387
Nate Jiang55141c52024-02-15 17:05:24 -08001388 @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public final class WifiP2pDiscoveryConfig implements android.os.Parcelable {
1389 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int describeContents();
1390 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int getFrequencyMhz();
1391 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int getScanType();
1392 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public void writeToParcel(@NonNull android.os.Parcel, int);
1393 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDiscoveryConfig> CREATOR;
Vinay Gannevaram6524d182023-12-04 11:06:26 +05301394 }
1395
Nate Jiang55141c52024-02-15 17:05:24 -08001396 @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final class WifiP2pDiscoveryConfig.Builder {
1397 ctor @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public WifiP2pDiscoveryConfig.Builder(int);
1398 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.p2p.WifiP2pDiscoveryConfig build();
1399 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.p2p.WifiP2pDiscoveryConfig.Builder setFrequencyMhz(@IntRange(from=0) int);
Vinay Gannevaram6524d182023-12-04 11:06:26 +05301400 }
1401
Anton Hansson180d9562020-01-17 19:03:34 +00001402 public class WifiP2pGroup implements android.os.Parcelable {
1403 ctor public WifiP2pGroup();
1404 ctor public WifiP2pGroup(android.net.wifi.p2p.WifiP2pGroup);
1405 method public int describeContents();
1406 method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getClientList();
1407 method public int getFrequency();
Sunil Ravi4805ca22024-11-25 06:23:25 +00001408 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") @Nullable public android.net.MacAddress getGroupOwnerBssid();
Anton Hansson180d9562020-01-17 19:03:34 +00001409 method public String getInterface();
1410 method public int getNetworkId();
1411 method public String getNetworkName();
1412 method public android.net.wifi.p2p.WifiP2pDevice getOwner();
1413 method public String getPassphrase();
Sunil Ravi3288c7c2024-09-26 00:34:57 +00001414 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public int getSecurityType();
Anton Hansson180d9562020-01-17 19:03:34 +00001415 method public boolean isGroupOwner();
1416 method public void writeToParcel(android.os.Parcel, int);
1417 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroup> CREATOR;
1418 field public static final int NETWORK_ID_PERSISTENT = -2; // 0xfffffffe
1419 field public static final int NETWORK_ID_TEMPORARY = -1; // 0xffffffff
Sunil Ravi3288c7c2024-09-26 00:34:57 +00001420 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int SECURITY_TYPE_UNKNOWN = -1; // 0xffffffff
1421 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int SECURITY_TYPE_WPA2_PSK = 0; // 0x0
1422 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int SECURITY_TYPE_WPA3_COMPATIBILITY = 1; // 0x1
1423 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int SECURITY_TYPE_WPA3_SAE = 2; // 0x2
Anton Hansson180d9562020-01-17 19:03:34 +00001424 }
1425
1426 public class WifiP2pInfo implements android.os.Parcelable {
1427 ctor public WifiP2pInfo();
1428 ctor public WifiP2pInfo(android.net.wifi.p2p.WifiP2pInfo);
1429 method public int describeContents();
1430 method public void writeToParcel(android.os.Parcel, int);
1431 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pInfo> CREATOR;
1432 field public boolean groupFormed;
1433 field public java.net.InetAddress groupOwnerAddress;
1434 field public boolean isGroupOwner;
1435 }
1436
1437 public class WifiP2pManager {
xshu4145f512022-03-07 19:14:46 -08001438 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 -08001439 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 +00001440 method public void addServiceRequest(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceRequest, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1441 method public void cancelConnect(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1442 method public void clearLocalServices(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1443 method public void clearServiceRequests(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
xshu34fe9862021-12-03 18:39:36 -08001444 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void connect(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pConfig, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1445 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void createGroup(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1446 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void createGroup(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pConfig, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1447 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void discoverPeers(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
Jimmy Chen3beccd52021-12-24 14:30:38 +08001448 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void discoverPeersOnSocialChannels(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1449 method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void discoverPeersOnSpecificFrequency(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
xshu34fe9862021-12-03 18:39:36 -08001450 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);
Sunil Ravi666f3e72024-10-24 00:20:14 +00001451 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void discoverUsdBasedServices(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pUsdBasedServiceDiscoveryConfig, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
Shuibing Dai725724d2023-01-18 10:24:26 -08001452 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 +08001453 method public static int getP2pMaxAllowedVendorElementsLengthBytes();
Anton Hansson180d9562020-01-17 19:03:34 +00001454 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 +08001455 method public boolean isChannelConstrainedDiscoverySupported();
1456 method public boolean isGroupClientRemovalSupported();
Biswarup Pal77ffa092023-02-28 13:19:15 +00001457 method public boolean isGroupOwnerIPv6LinkLocalAddressProvided();
Sunil Ravi3288c7c2024-09-26 00:34:57 +00001458 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public boolean isPccModeSupported();
Jimmy Chendd2c6f92022-02-10 21:10:53 +08001459 method public boolean isSetVendorElementsSupported();
Sunil Ravi3288c7c2024-09-26 00:34:57 +00001460 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public boolean isWiFiDirectR2Supported();
Shuibing Daid183a0e2023-11-21 13:59:29 -08001461 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 +00001462 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 -08001463 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 +00001464 method public void removeGroup(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1465 method public void removeLocalService(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceInfo, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1466 method public void removeServiceRequest(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceRequest, android.net.wifi.p2p.WifiP2pManager.ActionListener);
1467 method public void requestConnectionInfo(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ConnectionInfoListener);
xshu34fe9862021-12-03 18:39:36 -08001468 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);
Sunil Ravi4805ca22024-11-25 06:23:25 +00001469 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void requestDirInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.net.wifi.p2p.WifiP2pDirInfo,java.lang.Exception>);
Anton Hansson180d9562020-01-17 19:03:34 +00001470 method public void requestDiscoveryState(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.DiscoveryStateListener);
xshu34fe9862021-12-03 18:39:36 -08001471 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 +00001472 method public void requestNetworkInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.NetworkInfoListener);
1473 method public void requestP2pState(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.P2pStateListener);
xshu34fe9862021-12-03 18:39:36 -08001474 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 -08001475 method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void setConnectionRequestResult(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.MacAddress, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
1476 method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void setConnectionRequestResult(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.MacAddress, int, @Nullable String, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
Anton Hansson180d9562020-01-17 19:03:34 +00001477 method public void setDnsSdResponseListeners(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.DnsSdServiceResponseListener, android.net.wifi.p2p.WifiP2pManager.DnsSdTxtRecordListener);
1478 method public void setServiceResponseListener(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ServiceResponseListener);
1479 method public void setUpnpServiceResponseListener(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.UpnpServiceResponseListener);
Jimmy Chen20bd0292022-02-09 13:45:10 +08001480 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 +08001481 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 -08001482 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 +00001483 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);
Sunil Ravi666f3e72024-10-24 00:20:14 +00001484 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void startUsdBasedLocalServiceAdvertisement(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.nsd.WifiP2pServiceInfo, @NonNull android.net.wifi.p2p.WifiP2pUsdBasedLocalServiceAdvertisementConfig, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
Jimmy Chen4e68cbe2021-11-19 16:06:59 +08001485 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 +00001486 method public void stopPeerDiscovery(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
Shuibing Daid183a0e2023-11-21 13:59:29 -08001487 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public void unregisterWifiP2pListener(@NonNull android.net.wifi.p2p.WifiP2pManager.WifiP2pListener);
Sunil Ravi4805ca22024-11-25 06:23:25 +00001488 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void validateDirInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pDirInfo, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,java.lang.Exception>);
Shuibing Dai725724d2023-01-18 10:24:26 -08001489 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 +08001490 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 +00001491 field public static final int BUSY = 2; // 0x2
Jimmy Chen1cfdc7b2022-02-09 13:16:24 +08001492 field public static final int CONNECTION_REQUEST_ACCEPT = 0; // 0x0
1493 field public static final int CONNECTION_REQUEST_DEFER_SHOW_PIN_TO_SERVICE = 3; // 0x3
1494 field public static final int CONNECTION_REQUEST_DEFER_TO_SERVICE = 2; // 0x2
1495 field public static final int CONNECTION_REQUEST_REJECT = 1; // 0x1
Anton Hansson180d9562020-01-17 19:03:34 +00001496 field public static final int ERROR = 0; // 0x0
1497 field public static final String EXTRA_DISCOVERY_STATE = "discoveryState";
Shuibing Dai725724d2023-01-18 10:24:26 -08001498 field public static final String EXTRA_LISTEN_STATE = "android.net.wifi.p2p.extra.LISTEN_STATE";
Anton Hansson180d9562020-01-17 19:03:34 +00001499 field public static final String EXTRA_NETWORK_INFO = "networkInfo";
1500 field public static final String EXTRA_P2P_DEVICE_LIST = "wifiP2pDeviceList";
Jimmy Chen02b788e2022-03-09 10:53:01 +08001501 field public static final String EXTRA_REQUEST_CONFIG = "android.net.wifi.p2p.extra.REQUEST_CONFIG";
Jimmy Chen7e2c1f42022-02-24 10:25:33 +08001502 field public static final String EXTRA_REQUEST_RESPONSE = "android.net.wifi.p2p.extra.REQUEST_RESPONSE";
Anton Hansson180d9562020-01-17 19:03:34 +00001503 field public static final String EXTRA_WIFI_P2P_DEVICE = "wifiP2pDevice";
1504 field public static final String EXTRA_WIFI_P2P_GROUP = "p2pGroupInfo";
1505 field public static final String EXTRA_WIFI_P2P_INFO = "wifiP2pInfo";
1506 field public static final String EXTRA_WIFI_STATE = "wifi_p2p_state";
Shuibing Dai0da55e62024-03-04 17:51:52 -08001507 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_CONNECTION_CANCELLED = 0; // 0x0
1508 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_GROUP_REMOVED = 4; // 0x4
1509 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_INVITATION_FAILED = 5; // 0x5
1510 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_PROVISION_DISCOVERY_FAILED = 3; // 0x3
1511 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_TIMED_OUT = 1; // 0x1
1512 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int GROUP_CREATION_FAILURE_REASON_USER_REJECTED = 2; // 0x2
Sunil Ravi4805ca22024-11-25 06:23:25 +00001513 field @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public static final int NO_PERMISSION = 4; // 0x4
Anton Hansson180d9562020-01-17 19:03:34 +00001514 field public static final int NO_SERVICE_REQUESTS = 3; // 0x3
1515 field public static final int P2P_UNSUPPORTED = 1; // 0x1
1516 field public static final String WIFI_P2P_CONNECTION_CHANGED_ACTION = "android.net.wifi.p2p.CONNECTION_STATE_CHANGE";
1517 field public static final String WIFI_P2P_DISCOVERY_CHANGED_ACTION = "android.net.wifi.p2p.DISCOVERY_STATE_CHANGE";
1518 field public static final int WIFI_P2P_DISCOVERY_STARTED = 2; // 0x2
1519 field public static final int WIFI_P2P_DISCOVERY_STOPPED = 1; // 0x1
Shuibing Dai725724d2023-01-18 10:24:26 -08001520 field public static final int WIFI_P2P_LISTEN_STARTED = 2; // 0x2
1521 field public static final int WIFI_P2P_LISTEN_STOPPED = 1; // 0x1
Anton Hansson180d9562020-01-17 19:03:34 +00001522 field public static final String WIFI_P2P_PEERS_CHANGED_ACTION = "android.net.wifi.p2p.PEERS_CHANGED";
Nate Jiang55141c52024-02-15 17:05:24 -08001523 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int WIFI_P2P_SCAN_FULL = 0; // 0x0
1524 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int WIFI_P2P_SCAN_SINGLE_FREQ = 2; // 0x2
1525 field @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final int WIFI_P2P_SCAN_SOCIAL = 1; // 0x1
Anton Hansson180d9562020-01-17 19:03:34 +00001526 field public static final String WIFI_P2P_STATE_CHANGED_ACTION = "android.net.wifi.p2p.STATE_CHANGED";
1527 field public static final int WIFI_P2P_STATE_DISABLED = 1; // 0x1
1528 field public static final int WIFI_P2P_STATE_ENABLED = 2; // 0x2
1529 field public static final String WIFI_P2P_THIS_DEVICE_CHANGED_ACTION = "android.net.wifi.p2p.THIS_DEVICE_CHANGED";
1530 }
1531
1532 public static interface WifiP2pManager.ActionListener {
1533 method public void onFailure(int);
1534 method public void onSuccess();
1535 }
1536
1537 public static class WifiP2pManager.Channel implements java.lang.AutoCloseable {
1538 method public void close();
1539 }
1540
1541 public static interface WifiP2pManager.ChannelListener {
1542 method public void onChannelDisconnected();
1543 }
1544
1545 public static interface WifiP2pManager.ConnectionInfoListener {
1546 method public void onConnectionInfoAvailable(android.net.wifi.p2p.WifiP2pInfo);
1547 }
1548
1549 public static interface WifiP2pManager.DeviceInfoListener {
1550 method public void onDeviceInfoAvailable(@Nullable android.net.wifi.p2p.WifiP2pDevice);
1551 }
1552
1553 public static interface WifiP2pManager.DiscoveryStateListener {
1554 method public void onDiscoveryStateAvailable(int);
1555 }
1556
1557 public static interface WifiP2pManager.DnsSdServiceResponseListener {
1558 method public void onDnsSdServiceAvailable(String, String, android.net.wifi.p2p.WifiP2pDevice);
1559 }
1560
1561 public static interface WifiP2pManager.DnsSdTxtRecordListener {
1562 method public void onDnsSdTxtRecordAvailable(String, java.util.Map<java.lang.String,java.lang.String>, android.net.wifi.p2p.WifiP2pDevice);
1563 }
1564
Jimmy Chen1cfdc7b2022-02-09 13:16:24 +08001565 public static interface WifiP2pManager.ExternalApproverRequestListener {
1566 method public void onAttached(@NonNull android.net.MacAddress);
1567 method public void onConnectionRequested(int, @NonNull android.net.wifi.p2p.WifiP2pConfig, @NonNull android.net.wifi.p2p.WifiP2pDevice);
1568 method public void onDetached(@NonNull android.net.MacAddress, int);
1569 method public void onPinGenerated(@NonNull android.net.MacAddress, @NonNull String);
1570 field public static final int APPROVER_DETACH_REASON_CLOSE = 3; // 0x3
1571 field public static final int APPROVER_DETACH_REASON_FAILURE = 1; // 0x1
1572 field public static final int APPROVER_DETACH_REASON_REMOVE = 0; // 0x0
1573 field public static final int APPROVER_DETACH_REASON_REPLACE = 2; // 0x2
1574 field public static final int REQUEST_TYPE_INVITATION = 1; // 0x1
1575 field public static final int REQUEST_TYPE_JOIN = 2; // 0x2
1576 field public static final int REQUEST_TYPE_NEGOTIATION = 0; // 0x0
1577 }
1578
Anton Hansson180d9562020-01-17 19:03:34 +00001579 public static interface WifiP2pManager.GroupInfoListener {
1580 method public void onGroupInfoAvailable(android.net.wifi.p2p.WifiP2pGroup);
1581 }
1582
1583 public static interface WifiP2pManager.NetworkInfoListener {
1584 method public void onNetworkInfoAvailable(@NonNull android.net.NetworkInfo);
1585 }
1586
1587 public static interface WifiP2pManager.P2pStateListener {
1588 method public void onP2pStateAvailable(int);
1589 }
1590
1591 public static interface WifiP2pManager.PeerListListener {
1592 method public void onPeersAvailable(android.net.wifi.p2p.WifiP2pDeviceList);
1593 }
1594
1595 public static interface WifiP2pManager.ServiceResponseListener {
1596 method public void onServiceAvailable(int, byte[], android.net.wifi.p2p.WifiP2pDevice);
Sunil Ravi666f3e72024-10-24 00:20:14 +00001597 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public default void onUsdBasedServiceAvailable(@NonNull android.net.wifi.p2p.WifiP2pDevice, @NonNull android.net.wifi.p2p.nsd.WifiP2pUsdBasedServiceResponse);
Anton Hansson180d9562020-01-17 19:03:34 +00001598 }
1599
1600 public static interface WifiP2pManager.UpnpServiceResponseListener {
1601 method public void onUpnpServiceAvailable(java.util.List<java.lang.String>, android.net.wifi.p2p.WifiP2pDevice);
1602 }
1603
Shuibing Daid183a0e2023-11-21 13:59:29 -08001604 @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static interface WifiP2pManager.WifiP2pListener {
1605 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onDeviceConfigurationChanged(@Nullable android.net.wifi.p2p.WifiP2pDevice);
Shuibing Dai0da55e62024-03-04 17:51:52 -08001606 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onDiscoveryStateChanged(int);
Shuibing Daid183a0e2023-11-21 13:59:29 -08001607 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onFrequencyChanged(@NonNull android.net.wifi.p2p.WifiP2pInfo, @NonNull android.net.wifi.p2p.WifiP2pGroup);
1608 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onGroupCreated(@NonNull android.net.wifi.p2p.WifiP2pInfo, @NonNull android.net.wifi.p2p.WifiP2pGroup);
1609 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onGroupCreating();
Shuibing Dai0da55e62024-03-04 17:51:52 -08001610 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onGroupCreationFailed(int);
Shuibing Daid183a0e2023-11-21 13:59:29 -08001611 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onGroupNegotiationRejectedByUser();
1612 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onGroupRemoved();
Shuibing Dai0da55e62024-03-04 17:51:52 -08001613 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onListenStateChanged(int);
1614 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onP2pStateChanged(int);
Shuibing Daid183a0e2023-11-21 13:59:29 -08001615 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onPeerClientDisconnected(@NonNull android.net.wifi.p2p.WifiP2pInfo, @NonNull android.net.wifi.p2p.WifiP2pGroup);
1616 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onPeerClientJoined(@NonNull android.net.wifi.p2p.WifiP2pInfo, @NonNull android.net.wifi.p2p.WifiP2pGroup);
1617 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public default void onPeerListChanged(@NonNull android.net.wifi.p2p.WifiP2pDeviceList);
Shuibing Daid183a0e2023-11-21 13:59:29 -08001618 }
1619
Sunil Ravi666f3e72024-10-24 00:20:14 +00001620 @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public final class WifiP2pPairingBootstrappingConfig implements android.os.Parcelable {
1621 ctor public WifiP2pPairingBootstrappingConfig(int, @Nullable String);
1622 method public int describeContents();
1623 method public void writeToParcel(@NonNull android.os.Parcel, int);
1624 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pPairingBootstrappingConfig> CREATOR;
1625 field public static final int PAIRING_BOOTSTRAPPING_METHOD_DISPLAY_PASSPHRASE = 4; // 0x4
1626 field public static final int PAIRING_BOOTSTRAPPING_METHOD_DISPLAY_PINCODE = 2; // 0x2
1627 field public static final int PAIRING_BOOTSTRAPPING_METHOD_KEYPAD_PASSPHRASE = 16; // 0x10
1628 field public static final int PAIRING_BOOTSTRAPPING_METHOD_KEYPAD_PINCODE = 8; // 0x8
1629 field public static final int PAIRING_BOOTSTRAPPING_METHOD_OPPORTUNISTIC = 1; // 0x1
Sunil Ravi4805ca22024-11-25 06:23:25 +00001630 field public static final int PAIRING_BOOTSTRAPPING_METHOD_OUT_OF_BAND = 32; // 0x20
Sunil Ravi666f3e72024-10-24 00:20:14 +00001631 }
1632
1633 @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public final class WifiP2pUsdBasedLocalServiceAdvertisementConfig implements android.os.Parcelable {
1634 method public int describeContents();
1635 method @IntRange(from=0) public int getFrequencyMhz();
1636 method public void writeToParcel(@NonNull android.os.Parcel, int);
1637 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pUsdBasedLocalServiceAdvertisementConfig> CREATOR;
1638 }
1639
1640 public static final class WifiP2pUsdBasedLocalServiceAdvertisementConfig.Builder {
1641 ctor public WifiP2pUsdBasedLocalServiceAdvertisementConfig.Builder();
1642 method @NonNull public android.net.wifi.p2p.WifiP2pUsdBasedLocalServiceAdvertisementConfig build();
Sunil Ravib3edcc52024-12-17 07:35:30 +00001643 method @NonNull public android.net.wifi.p2p.WifiP2pUsdBasedLocalServiceAdvertisementConfig.Builder setFrequencyMhz(@IntRange(from=1) int);
Sunil Ravi666f3e72024-10-24 00:20:14 +00001644 }
1645
1646 @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public final class WifiP2pUsdBasedServiceDiscoveryConfig implements android.os.Parcelable {
1647 method public int describeContents();
1648 method public int getBand();
1649 method @Nullable public int[] getFrequenciesMhz();
1650 method public void writeToParcel(@NonNull android.os.Parcel, int);
1651 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pUsdBasedServiceDiscoveryConfig> CREATOR;
1652 }
1653
1654 public static final class WifiP2pUsdBasedServiceDiscoveryConfig.Builder {
1655 ctor public WifiP2pUsdBasedServiceDiscoveryConfig.Builder();
1656 method @NonNull public android.net.wifi.p2p.WifiP2pUsdBasedServiceDiscoveryConfig build();
1657 method @NonNull public android.net.wifi.p2p.WifiP2pUsdBasedServiceDiscoveryConfig.Builder setBand(int);
1658 method @NonNull public android.net.wifi.p2p.WifiP2pUsdBasedServiceDiscoveryConfig.Builder setFrequenciesMhz(@NonNull int[]);
1659 }
1660
Anton Hansson180d9562020-01-17 19:03:34 +00001661 public final class WifiP2pWfdInfo implements android.os.Parcelable {
1662 ctor public WifiP2pWfdInfo();
1663 ctor public WifiP2pWfdInfo(@Nullable android.net.wifi.p2p.WifiP2pWfdInfo);
1664 method public int describeContents();
1665 method public int getControlPort();
Jimmy Chen4ada7922021-03-23 14:31:03 +08001666 method public int getDeviceInfo();
Anton Hansson180d9562020-01-17 19:03:34 +00001667 method public int getDeviceType();
1668 method public int getMaxThroughput();
Jimmy Chen4ada7922021-03-23 14:31:03 +08001669 method public int getR2DeviceInfo();
Jimmy Chen7ddb4502021-03-18 12:30:13 +08001670 method public int getR2DeviceType();
Anton Hansson180d9562020-01-17 19:03:34 +00001671 method public boolean isContentProtectionSupported();
Jimmy Chena5e551b2021-03-05 16:42:39 +08001672 method public boolean isCoupledSinkSupportedAtSink();
1673 method public boolean isCoupledSinkSupportedAtSource();
Anton Hansson180d9562020-01-17 19:03:34 +00001674 method public boolean isEnabled();
Jimmy Chenec558292021-03-18 17:41:06 +08001675 method public boolean isR2Supported();
Anton Hansson180d9562020-01-17 19:03:34 +00001676 method public boolean isSessionAvailable();
1677 method public void setContentProtectionSupported(boolean);
1678 method public void setControlPort(@IntRange(from=0) int);
Jimmy Chena5e551b2021-03-05 16:42:39 +08001679 method public void setCoupledSinkSupportAtSink(boolean);
1680 method public void setCoupledSinkSupportAtSource(boolean);
Anton Hansson180d9562020-01-17 19:03:34 +00001681 method public boolean setDeviceType(int);
1682 method public void setEnabled(boolean);
1683 method public void setMaxThroughput(@IntRange(from=0) int);
Jimmy Chenec558292021-03-18 17:41:06 +08001684 method public boolean setR2DeviceType(int);
Anton Hansson180d9562020-01-17 19:03:34 +00001685 method public void setSessionAvailable(boolean);
1686 method public void writeToParcel(@NonNull android.os.Parcel, int);
1687 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pWfdInfo> CREATOR;
Jimmy Chen012448d2021-03-30 17:37:52 +08001688 field public static final int DEVICE_INFO_AUDIO_ONLY_SUPPORT_AT_SOURCE = 2048; // 0x800
1689 field public static final int DEVICE_INFO_AUDIO_UNSUPPORTED_AT_PRIMARY_SINK = 1024; // 0x400
1690 field public static final int DEVICE_INFO_CONTENT_PROTECTION_SUPPORT = 256; // 0x100
1691 field public static final int DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SINK = 8; // 0x8
1692 field public static final int DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SOURCE = 4; // 0x4
1693 field public static final int DEVICE_INFO_DEVICE_TYPE_MASK = 3; // 0x3
1694 field public static final int DEVICE_INFO_PREFERRED_CONNECTIVITY_MASK = 128; // 0x80
1695 field public static final int DEVICE_INFO_SESSION_AVAILABLE_MASK = 48; // 0x30
1696 field public static final int DEVICE_INFO_TDLS_PERSISTENT_GROUP = 4096; // 0x1000
1697 field public static final int DEVICE_INFO_TDLS_PERSISTENT_GROUP_REINVOKE = 8192; // 0x2000
1698 field public static final int DEVICE_INFO_TIME_SYNCHRONIZATION_SUPPORT = 512; // 0x200
1699 field public static final int DEVICE_INFO_WFD_SERVICE_DISCOVERY_SUPPORT = 64; // 0x40
Anton Hansson180d9562020-01-17 19:03:34 +00001700 field public static final int DEVICE_TYPE_PRIMARY_SINK = 1; // 0x1
1701 field public static final int DEVICE_TYPE_SECONDARY_SINK = 2; // 0x2
1702 field public static final int DEVICE_TYPE_SOURCE_OR_PRIMARY_SINK = 3; // 0x3
1703 field public static final int DEVICE_TYPE_WFD_SOURCE = 0; // 0x0
Jimmy Chen4ada7922021-03-23 14:31:03 +08001704 field public static final int PREFERRED_CONNECTIVITY_P2P = 0; // 0x0
1705 field public static final int PREFERRED_CONNECTIVITY_TDLS = 1; // 0x1
Anton Hansson180d9562020-01-17 19:03:34 +00001706 }
1707
1708}
1709
1710package android.net.wifi.p2p.nsd {
1711
1712 public class WifiP2pDnsSdServiceInfo extends android.net.wifi.p2p.nsd.WifiP2pServiceInfo {
1713 method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceInfo newInstance(String, String, java.util.Map<java.lang.String,java.lang.String>);
1714 }
1715
1716 public class WifiP2pDnsSdServiceRequest extends android.net.wifi.p2p.nsd.WifiP2pServiceRequest {
1717 method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance();
1718 method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance(String);
1719 method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance(String, String);
1720 }
1721
1722 public class WifiP2pServiceInfo implements android.os.Parcelable {
Sunil Ravi666f3e72024-10-24 00:20:14 +00001723 ctor @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public WifiP2pServiceInfo(@NonNull android.net.wifi.p2p.nsd.WifiP2pUsdBasedServiceConfig);
Anton Hansson180d9562020-01-17 19:03:34 +00001724 method public int describeContents();
Sunil Ravi666f3e72024-10-24 00:20:14 +00001725 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") @Nullable public android.net.wifi.p2p.nsd.WifiP2pUsdBasedServiceConfig getWifiP2pUsdBasedServiceConfig();
Anton Hansson180d9562020-01-17 19:03:34 +00001726 method public void writeToParcel(android.os.Parcel, int);
1727 field public static final int SERVICE_TYPE_ALL = 0; // 0x0
1728 field public static final int SERVICE_TYPE_BONJOUR = 1; // 0x1
1729 field public static final int SERVICE_TYPE_UPNP = 2; // 0x2
1730 field public static final int SERVICE_TYPE_VENDOR_SPECIFIC = 255; // 0xff
1731 }
1732
1733 public class WifiP2pServiceRequest implements android.os.Parcelable {
Sunil Ravi666f3e72024-10-24 00:20:14 +00001734 ctor @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public WifiP2pServiceRequest(@NonNull android.net.wifi.p2p.nsd.WifiP2pUsdBasedServiceConfig);
Anton Hansson180d9562020-01-17 19:03:34 +00001735 method public int describeContents();
Sunil Ravi666f3e72024-10-24 00:20:14 +00001736 method @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") @Nullable public android.net.wifi.p2p.nsd.WifiP2pUsdBasedServiceConfig getWifiP2pUsdBasedServiceConfig();
Anton Hansson180d9562020-01-17 19:03:34 +00001737 method public static android.net.wifi.p2p.nsd.WifiP2pServiceRequest newInstance(int, String);
1738 method public static android.net.wifi.p2p.nsd.WifiP2pServiceRequest newInstance(int);
1739 method public void writeToParcel(android.os.Parcel, int);
1740 }
1741
1742 public class WifiP2pUpnpServiceInfo extends android.net.wifi.p2p.nsd.WifiP2pServiceInfo {
1743 method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceInfo newInstance(String, String, java.util.List<java.lang.String>);
1744 }
1745
1746 public class WifiP2pUpnpServiceRequest extends android.net.wifi.p2p.nsd.WifiP2pServiceRequest {
1747 method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest newInstance();
1748 method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest newInstance(String);
1749 }
1750
Sunil Ravi666f3e72024-10-24 00:20:14 +00001751 @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public final class WifiP2pUsdBasedServiceConfig implements android.os.Parcelable {
1752 ctor public WifiP2pUsdBasedServiceConfig();
1753 method public int describeContents();
Sunil Ravib3edcc52024-12-17 07:35:30 +00001754 method public static int getMaxAllowedServiceSpecificInfoLength();
Sunil Ravi666f3e72024-10-24 00:20:14 +00001755 method @NonNull public String getServiceName();
1756 method @IntRange(from=0, to=255) public int getServiceProtocolType();
1757 method @Nullable public byte[] getServiceSpecificInfo();
1758 method public void writeToParcel(@NonNull android.os.Parcel, int);
1759 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.nsd.WifiP2pUsdBasedServiceConfig> CREATOR;
1760 field public static final int SERVICE_PROTOCOL_TYPE_BONJOUR = 1; // 0x1
1761 field public static final int SERVICE_PROTOCOL_TYPE_GENERIC = 2; // 0x2
1762 }
1763
1764 public static final class WifiP2pUsdBasedServiceConfig.Builder {
Sunil Ravib3edcc52024-12-17 07:35:30 +00001765 ctor public WifiP2pUsdBasedServiceConfig.Builder(@NonNull @Size(min=1) String);
Sunil Ravi666f3e72024-10-24 00:20:14 +00001766 method @NonNull public android.net.wifi.p2p.nsd.WifiP2pUsdBasedServiceConfig build();
1767 method @NonNull public android.net.wifi.p2p.nsd.WifiP2pUsdBasedServiceConfig.Builder setServiceProtocolType(@IntRange(from=0, to=255) int);
Sunil Ravib3edcc52024-12-17 07:35:30 +00001768 method @NonNull public android.net.wifi.p2p.nsd.WifiP2pUsdBasedServiceConfig.Builder setServiceSpecificInfo(@Nullable @Size(min=1) byte[]);
Sunil Ravi666f3e72024-10-24 00:20:14 +00001769 }
1770
1771 @FlaggedApi("com.android.wifi.flags.wifi_direct_r2") public final class WifiP2pUsdBasedServiceResponse implements android.os.Parcelable {
1772 method public int describeContents();
1773 method @IntRange(from=0, to=255) public int getServiceProtocolType();
1774 method @Nullable public byte[] getServiceSpecificInfo();
1775 method public void writeToParcel(@NonNull android.os.Parcel, int);
1776 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.nsd.WifiP2pUsdBasedServiceResponse> CREATOR;
1777 }
1778
Anton Hansson180d9562020-01-17 19:03:34 +00001779}
1780
1781package android.net.wifi.rtt {
1782
1783 public class CivicLocationKeys {
1784 field public static final int ADDITIONAL_CODE = 32; // 0x20
1785 field public static final int APT = 26; // 0x1a
1786 field public static final int BOROUGH = 4; // 0x4
1787 field public static final int BRANCH_ROAD_NAME = 36; // 0x24
1788 field public static final int BUILDING = 25; // 0x19
1789 field public static final int CITY = 3; // 0x3
1790 field public static final int COUNTY = 2; // 0x2
1791 field public static final int DESK = 33; // 0x21
1792 field public static final int FLOOR = 27; // 0x1b
1793 field public static final int GROUP_OF_STREETS = 6; // 0x6
1794 field public static final int HNO = 19; // 0x13
1795 field public static final int HNS = 20; // 0x14
1796 field public static final int LANGUAGE = 0; // 0x0
1797 field public static final int LMK = 21; // 0x15
1798 field public static final int LOC = 22; // 0x16
1799 field public static final int NAM = 23; // 0x17
1800 field public static final int NEIGHBORHOOD = 5; // 0x5
1801 field public static final int PCN = 30; // 0x1e
1802 field public static final int POD = 17; // 0x11
1803 field public static final int POSTAL_CODE = 24; // 0x18
1804 field public static final int PO_BOX = 31; // 0x1f
1805 field public static final int PRD = 16; // 0x10
1806 field public static final int PRIMARY_ROAD_NAME = 34; // 0x22
1807 field public static final int ROAD_SECTION = 35; // 0x23
1808 field public static final int ROOM = 28; // 0x1c
1809 field public static final int SCRIPT = 128; // 0x80
1810 field public static final int STATE = 1; // 0x1
1811 field public static final int STREET_NAME_POST_MODIFIER = 39; // 0x27
1812 field public static final int STREET_NAME_PRE_MODIFIER = 38; // 0x26
1813 field public static final int STS = 18; // 0x12
1814 field public static final int SUBBRANCH_ROAD_NAME = 37; // 0x25
1815 field public static final int TYPE_OF_PLACE = 29; // 0x1d
1816 }
1817
maheshkkv5256ea92024-10-04 16:29:58 -07001818 @FlaggedApi("com.android.wifi.flags.secure_ranging") public final class PasnConfig implements android.os.Parcelable {
1819 method public int describeContents();
1820 method public int getBaseAkms();
1821 method public int getCiphers();
maheshkkv5d47b032024-11-13 12:11:02 -08001822 method @Nullable public byte[] getPasnComebackCookie();
maheshkkv5256ea92024-10-04 16:29:58 -07001823 method @Nullable public String getPassword();
1824 method @Nullable public android.net.wifi.WifiSsid getWifiSsid();
1825 method public void writeToParcel(@NonNull android.os.Parcel, int);
1826 field public static final int AKM_FILS_EAP_SHA256 = 64; // 0x40
1827 field public static final int AKM_FILS_EAP_SHA384 = 128; // 0x80
1828 field public static final int AKM_FT_EAP_SHA256 = 4; // 0x4
1829 field public static final int AKM_FT_EAP_SHA384 = 16; // 0x10
1830 field public static final int AKM_FT_PSK_SHA256 = 8; // 0x8
1831 field public static final int AKM_FT_PSK_SHA384 = 32; // 0x20
1832 field public static final int AKM_NONE = 0; // 0x0
1833 field public static final int AKM_PASN = 1; // 0x1
1834 field public static final int AKM_SAE = 2; // 0x2
1835 field public static final int CIPHER_CCMP_128 = 1; // 0x1
1836 field public static final int CIPHER_CCMP_256 = 2; // 0x2
1837 field public static final int CIPHER_GCMP_128 = 4; // 0x4
1838 field public static final int CIPHER_GCMP_256 = 8; // 0x8
1839 field public static final int CIPHER_NONE = 0; // 0x0
1840 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.PasnConfig> CREATOR;
1841 }
1842
1843 @FlaggedApi("com.android.wifi.flags.secure_ranging") public static final class PasnConfig.Builder {
1844 ctor public PasnConfig.Builder(int, int);
1845 method @NonNull public android.net.wifi.rtt.PasnConfig build();
maheshkkv5d47b032024-11-13 12:11:02 -08001846 method @NonNull public android.net.wifi.rtt.PasnConfig.Builder setPasnComebackCookie(@NonNull byte[]);
maheshkkv5256ea92024-10-04 16:29:58 -07001847 method @NonNull public android.net.wifi.rtt.PasnConfig.Builder setPassword(@NonNull String);
1848 method @NonNull public android.net.wifi.rtt.PasnConfig.Builder setWifiSsid(@NonNull android.net.wifi.WifiSsid);
1849 }
1850
Anton Hansson180d9562020-01-17 19:03:34 +00001851 public final class RangingRequest implements android.os.Parcelable {
1852 method public int describeContents();
Roy Wantdd5825e2020-12-08 21:24:04 -08001853 method public static int getDefaultRttBurstSize();
Anton Hansson180d9562020-01-17 19:03:34 +00001854 method public static int getMaxPeers();
Roy Wantdd5825e2020-12-08 21:24:04 -08001855 method public static int getMaxRttBurstSize();
1856 method public static int getMinRttBurstSize();
1857 method public int getRttBurstSize();
maheshkkv5256ea92024-10-04 16:29:58 -07001858 method @FlaggedApi("com.android.wifi.flags.secure_ranging") public int getSecurityMode();
Anton Hansson180d9562020-01-17 19:03:34 +00001859 method public void writeToParcel(android.os.Parcel, int);
1860 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingRequest> CREATOR;
maheshkkv5256ea92024-10-04 16:29:58 -07001861 field @FlaggedApi("com.android.wifi.flags.secure_ranging") public static final int SECURITY_MODE_OPEN = 0; // 0x0
1862 field @FlaggedApi("com.android.wifi.flags.secure_ranging") public static final int SECURITY_MODE_OPPORTUNISTIC = 1; // 0x1
1863 field @FlaggedApi("com.android.wifi.flags.secure_ranging") public static final int SECURITY_MODE_SECURE_AUTH = 2; // 0x2
Anton Hansson180d9562020-01-17 19:03:34 +00001864 }
1865
1866 public static final class RangingRequest.Builder {
1867 ctor public RangingRequest.Builder();
Roy Want50deac12021-12-19 15:15:35 -08001868 method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addAccessPoint(@NonNull android.net.wifi.ScanResult);
1869 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 -08001870 method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addNon80211mcCapableAccessPoint(@NonNull android.net.wifi.ScanResult);
1871 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 -08001872 method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addResponder(@NonNull android.net.wifi.rtt.ResponderConfig);
1873 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 +00001874 method public android.net.wifi.rtt.RangingRequest.Builder addWifiAwarePeer(@NonNull android.net.MacAddress);
1875 method public android.net.wifi.rtt.RangingRequest.Builder addWifiAwarePeer(@NonNull android.net.wifi.aware.PeerHandle);
1876 method public android.net.wifi.rtt.RangingRequest build();
Roy Wantdd5825e2020-12-08 21:24:04 -08001877 method @NonNull public android.net.wifi.rtt.RangingRequest.Builder setRttBurstSize(int);
maheshkkv5256ea92024-10-04 16:29:58 -07001878 method @FlaggedApi("com.android.wifi.flags.secure_ranging") @NonNull public android.net.wifi.rtt.RangingRequest.Builder setSecurityMode(int);
Anton Hansson180d9562020-01-17 19:03:34 +00001879 }
1880
1881 public final class RangingResult implements android.os.Parcelable {
1882 method public int describeContents();
Nate Jiang55141c52024-02-15 17:05:24 -08001883 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int get80211azInitiatorTxLtfRepetitionsCount();
1884 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int get80211azNumberOfRxSpatialStreams();
1885 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int get80211azNumberOfTxSpatialStreams();
1886 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public int get80211azResponderTxLtfRepetitionsCount();
Anton Hansson180d9562020-01-17 19:03:34 +00001887 method public int getDistanceMm();
1888 method public int getDistanceStdDevMm();
Jeff Hamilton473f6ad2024-01-19 22:34:28 +00001889 method @NonNull public byte[] getLci();
1890 method @NonNull public byte[] getLcr();
Anton Hansson180d9562020-01-17 19:03:34 +00001891 method @Nullable public android.net.MacAddress getMacAddress();
Nate Jiang55141c52024-02-15 17:05:24 -08001892 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public long getMaxTimeBetweenNtbMeasurementsMicros();
Sunil Ravie3215c22022-11-10 18:26:53 +00001893 method public int getMeasurementBandwidth();
1894 method public int getMeasurementChannelFrequencyMHz();
Nate Jiang55141c52024-02-15 17:05:24 -08001895 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public long getMinTimeBetweenNtbMeasurementsMicros();
Anton Hansson180d9562020-01-17 19:03:34 +00001896 method public int getNumAttemptedMeasurements();
1897 method public int getNumSuccessfulMeasurements();
maheshkkv5d47b032024-11-13 12:11:02 -08001898 method @FlaggedApi("com.android.wifi.flags.secure_ranging") public long getPasnComebackAfterMillis();
1899 method @FlaggedApi("com.android.wifi.flags.secure_ranging") @Nullable public byte[] getPasnComebackCookie();
Anton Hansson180d9562020-01-17 19:03:34 +00001900 method @Nullable public android.net.wifi.aware.PeerHandle getPeerHandle();
1901 method public long getRangingTimestampMillis();
1902 method public int getRssi();
maheshkkv87c59f92024-10-29 13:42:06 -07001903 method @FlaggedApi("com.android.wifi.flags.secure_ranging") @IntRange(from=0, to=7) public int getSecureHeLtfProtocolVersion();
Anton Hansson180d9562020-01-17 19:03:34 +00001904 method public int getStatus();
1905 method @Nullable public android.net.wifi.rtt.ResponderLocation getUnverifiedResponderLocation();
Nate Jiang55141c52024-02-15 17:05:24 -08001906 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean is80211azNtbMeasurement();
Roy Want8e5dea02020-12-18 19:56:30 -08001907 method public boolean is80211mcMeasurement();
maheshkkv87c59f92024-10-29 13:42:06 -07001908 method @FlaggedApi("com.android.wifi.flags.secure_ranging") public boolean isRangingAuthenticated();
1909 method @FlaggedApi("com.android.wifi.flags.secure_ranging") public boolean isRangingFrameProtected();
1910 method @FlaggedApi("com.android.wifi.flags.secure_ranging") public boolean isSecureHeLtfEnabled();
Anton Hansson180d9562020-01-17 19:03:34 +00001911 method public void writeToParcel(android.os.Parcel, int);
1912 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingResult> CREATOR;
1913 field public static final int STATUS_FAIL = 1; // 0x1
1914 field public static final int STATUS_RESPONDER_DOES_NOT_SUPPORT_IEEE80211MC = 2; // 0x2
1915 field public static final int STATUS_SUCCESS = 0; // 0x0
Sunil Ravie3215c22022-11-10 18:26:53 +00001916 field public static final int UNSPECIFIED = -1; // 0xffffffff
Anton Hansson180d9562020-01-17 19:03:34 +00001917 }
1918
Nate Jiang55141c52024-02-15 17:05:24 -08001919 @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public static final class RangingResult.Builder {
Mahesh KKVd4b9afa2024-01-04 17:49:59 -08001920 ctor public RangingResult.Builder();
Nate Jiang55141c52024-02-15 17:05:24 -08001921 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult build();
1922 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211azInitiatorTxLtfRepetitionsCount(int);
1923 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211azNtbMeasurement(boolean);
1924 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211azNumberOfRxSpatialStreams(int);
1925 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211azNumberOfTxSpatialStreams(int);
1926 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211azResponderTxLtfRepetitionsCount(int);
1927 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder set80211mcMeasurement(boolean);
1928 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setDistanceMm(int);
1929 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setDistanceStdDevMm(int);
1930 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setLci(@Nullable byte[]);
1931 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setLcr(@Nullable byte[]);
1932 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setMacAddress(@Nullable android.net.MacAddress);
1933 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setMaxTimeBetweenNtbMeasurementsMicros(long);
1934 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setMeasurementBandwidth(int);
1935 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setMeasurementChannelFrequencyMHz(int);
1936 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setMinTimeBetweenNtbMeasurementsMicros(long);
1937 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setNumAttemptedMeasurements(int);
1938 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setNumSuccessfulMeasurements(int);
maheshkkv5d47b032024-11-13 12:11:02 -08001939 method @FlaggedApi("com.android.wifi.flags.secure_ranging") @NonNull public android.net.wifi.rtt.RangingResult.Builder setPasnComebackAfterMillis(long);
1940 method @FlaggedApi("com.android.wifi.flags.secure_ranging") @NonNull public android.net.wifi.rtt.RangingResult.Builder setPasnComebackCookie(@NonNull byte[]);
Nate Jiang55141c52024-02-15 17:05:24 -08001941 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);
maheshkkv87c59f92024-10-29 13:42:06 -07001942 method @FlaggedApi("com.android.wifi.flags.secure_ranging") @NonNull public android.net.wifi.rtt.RangingResult.Builder setRangingAuthenticated(boolean);
1943 method @FlaggedApi("com.android.wifi.flags.secure_ranging") @NonNull public android.net.wifi.rtt.RangingResult.Builder setRangingFrameProtected(boolean);
Nate Jiang55141c52024-02-15 17:05:24 -08001944 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setRangingTimestampMillis(long);
1945 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setRssi(int);
maheshkkv87c59f92024-10-29 13:42:06 -07001946 method @FlaggedApi("com.android.wifi.flags.secure_ranging") @NonNull public android.net.wifi.rtt.RangingResult.Builder setSecureHeLtfEnabled(boolean);
1947 method @FlaggedApi("com.android.wifi.flags.secure_ranging") @NonNull public android.net.wifi.rtt.RangingResult.Builder setSecureHeLtfProtocolVersion(@IntRange(from=0, to=7) int);
Nate Jiang55141c52024-02-15 17:05:24 -08001948 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") @NonNull public android.net.wifi.rtt.RangingResult.Builder setStatus(int);
1949 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 -08001950 }
1951
Anton Hansson180d9562020-01-17 19:03:34 +00001952 public abstract class RangingResultCallback {
1953 ctor public RangingResultCallback();
1954 method public abstract void onRangingFailure(int);
1955 method public abstract void onRangingResults(@NonNull java.util.List<android.net.wifi.rtt.RangingResult>);
1956 field public static final int STATUS_CODE_FAIL = 1; // 0x1
1957 field public static final int STATUS_CODE_FAIL_RTT_NOT_AVAILABLE = 2; // 0x2
1958 }
1959
Roy Want50deac12021-12-19 15:15:35 -08001960 public final class ResponderConfig implements android.os.Parcelable {
1961 method public int describeContents();
1962 method @NonNull public static android.net.wifi.rtt.ResponderConfig fromScanResult(@NonNull android.net.wifi.ScanResult);
Roy Want749cf1b2022-03-03 16:10:39 -08001963 method @IntRange(from=0) public int getCenterFreq0Mhz();
1964 method @IntRange(from=0) public int getCenterFreq1Mhz();
Roy Want50deac12021-12-19 15:15:35 -08001965 method public int getChannelWidth();
Roy Want749cf1b2022-03-03 16:10:39 -08001966 method @IntRange(from=0) public int getFrequencyMhz();
Roy Want50deac12021-12-19 15:15:35 -08001967 method @Nullable public android.net.MacAddress getMacAddress();
1968 method public int getPreamble();
Nate Jiang833b32a2023-01-04 14:58:12 -08001969 method public int getResponderType();
maheshkkv5256ea92024-10-04 16:29:58 -07001970 method @FlaggedApi("com.android.wifi.flags.secure_ranging") @Nullable public android.net.wifi.rtt.SecureRangingConfig getSecureRangingConfig();
Nate Jiang55141c52024-02-15 17:05:24 -08001971 method @FlaggedApi("com.android.wifi.flags.android_v_wifi_api") public boolean is80211azNtbSupported();
Roy Want50deac12021-12-19 15:15:35 -08001972 method public boolean is80211mcSupported();
1973 method public void writeToParcel(@NonNull android.os.Parcel, int);
1974 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderConfig> CREATOR;
Nate Jiang833b32a2023-01-04 14:58:12 -08001975 field public static final int RESPONDER_AP = 0; // 0x0
1976 field public static final int RESPONDER_STA = 1; // 0x1
Roy Want50deac12021-12-19 15:15:35 -08001977 }
1978
1979 public static final class ResponderConfig.Builder {
1980 ctor public ResponderConfig.Builder();
1981 method @NonNull public android.net.wifi.rtt.ResponderConfig build();
Nate Jiang55141c52024-02-15 17:05:24 -08001982 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 -08001983 method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder set80211mcSupported(boolean);
Roy Want749cf1b2022-03-03 16:10:39 -08001984 method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setCenterFreq0Mhz(@IntRange(from=0) int);
1985 method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setCenterFreq1Mhz(@IntRange(from=0) int);
Roy Want50deac12021-12-19 15:15:35 -08001986 method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setChannelWidth(int);
Roy Want749cf1b2022-03-03 16:10:39 -08001987 method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setFrequencyMhz(@IntRange(from=0) int);
Roy Want50deac12021-12-19 15:15:35 -08001988 method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setMacAddress(@NonNull android.net.MacAddress);
1989 method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setPreamble(int);
Nate Jiang833b32a2023-01-04 14:58:12 -08001990 method @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setResponderType(int);
maheshkkv5256ea92024-10-04 16:29:58 -07001991 method @FlaggedApi("com.android.wifi.flags.secure_ranging") @NonNull public android.net.wifi.rtt.ResponderConfig.Builder setSecureRangingConfig(@NonNull android.net.wifi.rtt.SecureRangingConfig);
Roy Want50deac12021-12-19 15:15:35 -08001992 }
1993
Anton Hansson180d9562020-01-17 19:03:34 +00001994 public final class ResponderLocation implements android.os.Parcelable {
1995 method public int describeContents();
1996 method public double getAltitude();
1997 method public int getAltitudeType();
1998 method public double getAltitudeUncertainty();
1999 method public java.util.List<android.net.MacAddress> getColocatedBssids();
2000 method public int getDatum();
2001 method public int getExpectedToMove();
2002 method public double getFloorNumber();
2003 method public double getHeightAboveFloorMeters();
2004 method public double getHeightAboveFloorUncertaintyMeters();
2005 method public double getLatitude();
2006 method public double getLatitudeUncertainty();
2007 method public int getLciVersion();
2008 method public double getLongitude();
2009 method public double getLongitudeUncertainty();
2010 method @Nullable public String getMapImageMimeType();
2011 method @Nullable public android.net.Uri getMapImageUri();
2012 method public boolean getRegisteredLocationAgreementIndication();
2013 method public boolean isLciSubelementValid();
2014 method public boolean isZaxisSubelementValid();
2015 method @Nullable public android.location.Address toCivicLocationAddress();
2016 method @Nullable public android.util.SparseArray<java.lang.String> toCivicLocationSparseArray();
2017 method @NonNull public android.location.Location toLocation();
2018 method public void writeToParcel(android.os.Parcel, int);
2019 field public static final int ALTITUDE_FLOORS = 2; // 0x2
2020 field public static final int ALTITUDE_METERS = 1; // 0x1
2021 field public static final int ALTITUDE_UNDEFINED = 0; // 0x0
2022 field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderLocation> CREATOR;
2023 field public static final int DATUM_NAD83_MLLW = 3; // 0x3
2024 field public static final int DATUM_NAD83_NAV88 = 2; // 0x2
2025 field public static final int DATUM_UNDEFINED = 0; // 0x0
2026 field public static final int DATUM_WGS84 = 1; // 0x1
2027 field public static final int LCI_VERSION_1 = 1; // 0x1
2028 field public static final int LOCATION_FIXED = 0; // 0x0
2029 field public static final int LOCATION_MOVEMENT_UNKNOWN = 2; // 0x2
2030 field public static final int LOCATION_RESERVED = 3; // 0x3
2031 field public static final int LOCATION_VARIABLE = 1; // 0x1
2032 }
2033
maheshkkv5256ea92024-10-04 16:29:58 -07002034 @FlaggedApi("com.android.wifi.flags.secure_ranging") public final class SecureRangingConfig implements android.os.Parcelable {
2035 method @FlaggedApi("com.android.wifi.flags.secure_ranging") public int describeContents();
2036 method @FlaggedApi("com.android.wifi.flags.secure_ranging") @NonNull public android.net.wifi.rtt.PasnConfig getPasnConfig();
2037 method @FlaggedApi("com.android.wifi.flags.secure_ranging") public boolean isRangingFrameProtectionEnabled();
2038 method @FlaggedApi("com.android.wifi.flags.secure_ranging") public boolean isSecureHeLtfEnabled();
2039 method @FlaggedApi("com.android.wifi.flags.secure_ranging") public void writeToParcel(@NonNull android.os.Parcel, int);
2040 field @FlaggedApi("com.android.wifi.flags.secure_ranging") @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.SecureRangingConfig> CREATOR;
2041 }
2042
2043 @FlaggedApi("com.android.wifi.flags.secure_ranging") public static final class SecureRangingConfig.Builder {
2044 ctor @FlaggedApi("com.android.wifi.flags.secure_ranging") public SecureRangingConfig.Builder(@NonNull android.net.wifi.rtt.PasnConfig);
2045 method @FlaggedApi("com.android.wifi.flags.secure_ranging") @NonNull public android.net.wifi.rtt.SecureRangingConfig build();
2046 method @FlaggedApi("com.android.wifi.flags.secure_ranging") @NonNull public android.net.wifi.rtt.SecureRangingConfig.Builder setRangingFrameProtectionEnabled(boolean);
2047 method @FlaggedApi("com.android.wifi.flags.secure_ranging") @NonNull public android.net.wifi.rtt.SecureRangingConfig.Builder setSecureHeLtfEnabled(boolean);
2048 }
2049
Anton Hansson180d9562020-01-17 19:03:34 +00002050 public class WifiRttManager {
Nate Jiang1b3c6bd2022-09-13 17:58:05 -07002051 method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.os.Bundle getRttCharacteristics();
Anton Hansson180d9562020-01-17 19:03:34 +00002052 method public boolean isAvailable();
xshu9d932842021-11-18 17:20:38 -08002053 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 +00002054 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 -07002055 field public static final String CHARACTERISTICS_KEY_BOOLEAN_LCI = "key_lci";
2056 field public static final String CHARACTERISTICS_KEY_BOOLEAN_LCR = "key_lcr";
Nate Jiang55141c52024-02-15 17:05:24 -08002057 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 -07002058 field public static final String CHARACTERISTICS_KEY_BOOLEAN_ONE_SIDED_RTT = "key_one_sided_rtt";
maheshkkv499a8662024-10-04 10:23:07 -07002059 field @FlaggedApi("com.android.wifi.flags.secure_ranging") public static final String CHARACTERISTICS_KEY_BOOLEAN_RANGING_FRAME_PROTECTION_SUPPORTED = "key_rnm_mfp_supported";
2060 field @FlaggedApi("com.android.wifi.flags.secure_ranging") public static final String CHARACTERISTICS_KEY_BOOLEAN_SECURE_HE_LTF_SUPPORTED = "key_secure_he_ltf_supported";
Nate Jiang833b32a2023-01-04 14:58:12 -08002061 field public static final String CHARACTERISTICS_KEY_BOOLEAN_STA_RESPONDER = "key_sta_responder";
maheshkkv8848e272024-11-10 23:30:01 -08002062 field @FlaggedApi("com.android.wifi.flags.secure_ranging") public static final String CHARACTERISTICS_KEY_INT_MAX_SUPPORTED_SECURE_HE_LTF_PROTO_VERSION = "key_max_supported_secure_he_ltf_proto_ver";
Anton Hansson180d9562020-01-17 19:03:34 +00002063 }
2064
2065}
2066