blob: a9d156961c1b3cf7df11c2eda801d2b7439c2b37 [file] [log] [blame]
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +09001// Signature format: 2.0
2package android.net {
3
4 public class CaptivePortal implements android.os.Parcelable {
5 method public int describeContents();
6 method public void ignoreNetwork();
7 method public void reportCaptivePortalDismissed();
8 method public void writeToParcel(android.os.Parcel, int);
9 field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortal> CREATOR;
10 }
11
12 public class ConnectivityDiagnosticsManager {
13 method public void registerConnectivityDiagnosticsCallback(@NonNull android.net.NetworkRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback);
14 method public void unregisterConnectivityDiagnosticsCallback(@NonNull android.net.ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback);
15 }
16
17 public abstract static class ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback {
18 ctor public ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback();
19 method public void onConnectivityReportAvailable(@NonNull android.net.ConnectivityDiagnosticsManager.ConnectivityReport);
20 method public void onDataStallSuspected(@NonNull android.net.ConnectivityDiagnosticsManager.DataStallReport);
21 method public void onNetworkConnectivityReported(@NonNull android.net.Network, boolean);
22 }
23
24 public static final class ConnectivityDiagnosticsManager.ConnectivityReport implements android.os.Parcelable {
25 ctor public ConnectivityDiagnosticsManager.ConnectivityReport(@NonNull android.net.Network, long, @NonNull android.net.LinkProperties, @NonNull android.net.NetworkCapabilities, @NonNull android.os.PersistableBundle);
26 method public int describeContents();
27 method @NonNull public android.os.PersistableBundle getAdditionalInfo();
28 method @NonNull public android.net.LinkProperties getLinkProperties();
29 method @NonNull public android.net.Network getNetwork();
30 method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
31 method public long getReportTimestamp();
32 method public void writeToParcel(@NonNull android.os.Parcel, int);
33 field @NonNull public static final android.os.Parcelable.Creator<android.net.ConnectivityDiagnosticsManager.ConnectivityReport> CREATOR;
34 field public static final String KEY_NETWORK_PROBES_ATTEMPTED_BITMASK = "networkProbesAttempted";
35 field public static final String KEY_NETWORK_PROBES_SUCCEEDED_BITMASK = "networkProbesSucceeded";
36 field public static final String KEY_NETWORK_VALIDATION_RESULT = "networkValidationResult";
37 field public static final int NETWORK_PROBE_DNS = 4; // 0x4
38 field public static final int NETWORK_PROBE_FALLBACK = 32; // 0x20
39 field public static final int NETWORK_PROBE_HTTP = 8; // 0x8
40 field public static final int NETWORK_PROBE_HTTPS = 16; // 0x10
41 field public static final int NETWORK_PROBE_PRIVATE_DNS = 64; // 0x40
42 field public static final int NETWORK_VALIDATION_RESULT_INVALID = 0; // 0x0
43 field public static final int NETWORK_VALIDATION_RESULT_PARTIALLY_VALID = 2; // 0x2
44 field public static final int NETWORK_VALIDATION_RESULT_SKIPPED = 3; // 0x3
45 field public static final int NETWORK_VALIDATION_RESULT_VALID = 1; // 0x1
46 }
47
48 public static final class ConnectivityDiagnosticsManager.DataStallReport implements android.os.Parcelable {
49 ctor public ConnectivityDiagnosticsManager.DataStallReport(@NonNull android.net.Network, long, int, @NonNull android.net.LinkProperties, @NonNull android.net.NetworkCapabilities, @NonNull android.os.PersistableBundle);
50 method public int describeContents();
51 method public int getDetectionMethod();
52 method @NonNull public android.net.LinkProperties getLinkProperties();
53 method @NonNull public android.net.Network getNetwork();
54 method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
55 method public long getReportTimestamp();
56 method @NonNull public android.os.PersistableBundle getStallDetails();
57 method public void writeToParcel(@NonNull android.os.Parcel, int);
58 field @NonNull public static final android.os.Parcelable.Creator<android.net.ConnectivityDiagnosticsManager.DataStallReport> CREATOR;
59 field public static final int DETECTION_METHOD_DNS_EVENTS = 1; // 0x1
60 field public static final int DETECTION_METHOD_TCP_METRICS = 2; // 0x2
61 field public static final String KEY_DNS_CONSECUTIVE_TIMEOUTS = "dnsConsecutiveTimeouts";
62 field public static final String KEY_TCP_METRICS_COLLECTION_PERIOD_MILLIS = "tcpMetricsCollectionPeriodMillis";
63 field public static final String KEY_TCP_PACKET_FAIL_RATE = "tcpPacketFailRate";
64 }
65
66 public class ConnectivityManager {
67 method public void addDefaultNetworkActiveListener(android.net.ConnectivityManager.OnNetworkActiveListener);
68 method public boolean bindProcessToNetwork(@Nullable android.net.Network);
69 method @NonNull public android.net.SocketKeepalive createSocketKeepalive(@NonNull android.net.Network, @NonNull android.net.IpSecManager.UdpEncapsulationSocket, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback);
70 method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.Network getActiveNetwork();
71 method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo getActiveNetworkInfo();
72 method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo[] getAllNetworkInfo();
Lorenzo Colitti86714b12021-05-17 20:31:21 +090073 method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.Network[] getAllNetworks();
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +090074 method @Deprecated public boolean getBackgroundDataSetting();
75 method @Nullable public android.net.Network getBoundNetworkForProcess();
76 method public int getConnectionOwnerUid(int, @NonNull java.net.InetSocketAddress, @NonNull java.net.InetSocketAddress);
77 method @Nullable public android.net.ProxyInfo getDefaultProxy();
78 method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.LinkProperties getLinkProperties(@Nullable android.net.Network);
79 method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public int getMultipathPreference(@Nullable android.net.Network);
80 method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkCapabilities getNetworkCapabilities(@Nullable android.net.Network);
81 method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo getNetworkInfo(int);
82 method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo getNetworkInfo(@Nullable android.net.Network);
83 method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public int getNetworkPreference();
84 method @Nullable public byte[] getNetworkWatchlistConfigHash();
85 method @Deprecated @Nullable public static android.net.Network getProcessDefaultNetwork();
86 method public int getRestrictBackgroundStatus();
87 method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public boolean isActiveNetworkMetered();
88 method public boolean isDefaultNetworkActive();
89 method @Deprecated public static boolean isNetworkTypeValid(int);
junyulaibd123062021-03-15 11:48:48 +080090 method public void registerBestMatchingNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +090091 method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback);
92 method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
93 method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback);
94 method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
95 method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.app.PendingIntent);
96 method public void releaseNetworkRequest(@NonNull android.app.PendingIntent);
97 method public void removeDefaultNetworkActiveListener(@NonNull android.net.ConnectivityManager.OnNetworkActiveListener);
98 method @Deprecated public void reportBadNetwork(@Nullable android.net.Network);
99 method public void reportNetworkConnectivity(@Nullable android.net.Network, boolean);
100 method public boolean requestBandwidthUpdate(@NonNull android.net.Network);
101 method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback);
102 method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
103 method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, int);
104 method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler, int);
105 method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.app.PendingIntent);
Patrick Rohr73eee542024-12-06 12:29:29 -0800106 method @FlaggedApi("com.android.net.flags.ipv6_over_ble") public void reserveNetwork(@NonNull android.net.NetworkRequest, @NonNull android.os.Handler, @NonNull android.net.ConnectivityManager.NetworkCallback);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900107 method @Deprecated public void setNetworkPreference(int);
108 method @Deprecated public static boolean setProcessDefaultNetwork(@Nullable android.net.Network);
109 method public void unregisterNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback);
110 method public void unregisterNetworkCallback(@NonNull android.app.PendingIntent);
111 field @Deprecated public static final String ACTION_BACKGROUND_DATA_SETTING_CHANGED = "android.net.conn.BACKGROUND_DATA_SETTING_CHANGED";
112 field public static final String ACTION_CAPTIVE_PORTAL_SIGN_IN = "android.net.conn.CAPTIVE_PORTAL";
113 field public static final String ACTION_RESTRICT_BACKGROUND_CHANGED = "android.net.conn.RESTRICT_BACKGROUND_CHANGED";
114 field @Deprecated public static final String CONNECTIVITY_ACTION = "android.net.conn.CONNECTIVITY_CHANGE";
115 field @Deprecated public static final int DEFAULT_NETWORK_PREFERENCE = 1; // 0x1
116 field public static final String EXTRA_CAPTIVE_PORTAL = "android.net.extra.CAPTIVE_PORTAL";
117 field public static final String EXTRA_CAPTIVE_PORTAL_URL = "android.net.extra.CAPTIVE_PORTAL_URL";
118 field @Deprecated public static final String EXTRA_EXTRA_INFO = "extraInfo";
119 field @Deprecated public static final String EXTRA_IS_FAILOVER = "isFailover";
120 field public static final String EXTRA_NETWORK = "android.net.extra.NETWORK";
121 field @Deprecated public static final String EXTRA_NETWORK_INFO = "networkInfo";
122 field public static final String EXTRA_NETWORK_REQUEST = "android.net.extra.NETWORK_REQUEST";
123 field @Deprecated public static final String EXTRA_NETWORK_TYPE = "networkType";
124 field public static final String EXTRA_NO_CONNECTIVITY = "noConnectivity";
125 field @Deprecated public static final String EXTRA_OTHER_NETWORK_INFO = "otherNetwork";
126 field public static final String EXTRA_REASON = "reason";
127 field public static final int MULTIPATH_PREFERENCE_HANDOVER = 1; // 0x1
128 field public static final int MULTIPATH_PREFERENCE_PERFORMANCE = 4; // 0x4
129 field public static final int MULTIPATH_PREFERENCE_RELIABILITY = 2; // 0x2
130 field public static final int RESTRICT_BACKGROUND_STATUS_DISABLED = 1; // 0x1
131 field public static final int RESTRICT_BACKGROUND_STATUS_ENABLED = 3; // 0x3
132 field public static final int RESTRICT_BACKGROUND_STATUS_WHITELISTED = 2; // 0x2
133 field @Deprecated public static final int TYPE_BLUETOOTH = 7; // 0x7
134 field @Deprecated public static final int TYPE_DUMMY = 8; // 0x8
135 field @Deprecated public static final int TYPE_ETHERNET = 9; // 0x9
136 field @Deprecated public static final int TYPE_MOBILE = 0; // 0x0
137 field @Deprecated public static final int TYPE_MOBILE_DUN = 4; // 0x4
138 field @Deprecated public static final int TYPE_MOBILE_HIPRI = 5; // 0x5
139 field @Deprecated public static final int TYPE_MOBILE_MMS = 2; // 0x2
140 field @Deprecated public static final int TYPE_MOBILE_SUPL = 3; // 0x3
141 field @Deprecated public static final int TYPE_VPN = 17; // 0x11
142 field @Deprecated public static final int TYPE_WIFI = 1; // 0x1
143 field @Deprecated public static final int TYPE_WIMAX = 6; // 0x6
144 }
145
146 public static class ConnectivityManager.NetworkCallback {
147 ctor public ConnectivityManager.NetworkCallback();
Roshan Piuse08bc182020-12-22 15:10:42 -0800148 ctor public ConnectivityManager.NetworkCallback(int);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900149 method public void onAvailable(@NonNull android.net.Network);
150 method public void onBlockedStatusChanged(@NonNull android.net.Network, boolean);
151 method public void onCapabilitiesChanged(@NonNull android.net.Network, @NonNull android.net.NetworkCapabilities);
152 method public void onLinkPropertiesChanged(@NonNull android.net.Network, @NonNull android.net.LinkProperties);
153 method public void onLosing(@NonNull android.net.Network, int);
154 method public void onLost(@NonNull android.net.Network);
Patrick Rohr93136f12024-12-02 15:46:48 -0800155 method @FlaggedApi("com.android.net.flags.ipv6_over_ble") public void onReserved(@NonNull android.net.NetworkCapabilities);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900156 method public void onUnavailable();
Roshan Piuse08bc182020-12-22 15:10:42 -0800157 field public static final int FLAG_INCLUDE_LOCATION_INFO = 1; // 0x1
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900158 }
159
160 public static interface ConnectivityManager.OnNetworkActiveListener {
161 method public void onNetworkActive();
162 }
163
164 public class DhcpInfo implements android.os.Parcelable {
165 ctor public DhcpInfo();
166 method public int describeContents();
167 method public void writeToParcel(android.os.Parcel, int);
168 field @NonNull public static final android.os.Parcelable.Creator<android.net.DhcpInfo> CREATOR;
169 field public int dns1;
170 field public int dns2;
171 field public int gateway;
172 field public int ipAddress;
173 field public int leaseDuration;
174 field public int netmask;
175 field public int serverAddress;
176 }
177
178 public final class DnsResolver {
179 method @NonNull public static android.net.DnsResolver getInstance();
180 method public void query(@Nullable android.net.Network, @NonNull String, int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super java.util.List<java.net.InetAddress>>);
181 method public void query(@Nullable android.net.Network, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super java.util.List<java.net.InetAddress>>);
182 method public void rawQuery(@Nullable android.net.Network, @NonNull byte[], int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super byte[]>);
183 method public void rawQuery(@Nullable android.net.Network, @NonNull String, int, int, int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super byte[]>);
184 field public static final int CLASS_IN = 1; // 0x1
185 field public static final int ERROR_PARSE = 0; // 0x0
186 field public static final int ERROR_SYSTEM = 1; // 0x1
187 field public static final int FLAG_EMPTY = 0; // 0x0
188 field public static final int FLAG_NO_CACHE_LOOKUP = 4; // 0x4
189 field public static final int FLAG_NO_CACHE_STORE = 2; // 0x2
190 field public static final int FLAG_NO_RETRY = 1; // 0x1
191 field public static final int TYPE_A = 1; // 0x1
192 field public static final int TYPE_AAAA = 28; // 0x1c
193 }
194
195 public static interface DnsResolver.Callback<T> {
196 method public void onAnswer(@NonNull T, int);
197 method public void onError(@NonNull android.net.DnsResolver.DnsException);
198 }
199
200 public static class DnsResolver.DnsException extends java.lang.Exception {
Aswin Sankar74cbfd52021-12-02 04:25:08 +0000201 ctor public DnsResolver.DnsException(int, @Nullable Throwable);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900202 field public final int code;
203 }
204
205 public class InetAddresses {
206 method public static boolean isNumericAddress(@NonNull String);
207 method @NonNull public static java.net.InetAddress parseNumericAddress(@NonNull String);
208 }
209
Etan Cohen1e86b3a2021-12-12 02:14:06 +0000210 public final class IpConfiguration implements android.os.Parcelable {
211 method public int describeContents();
212 method @Nullable public android.net.ProxyInfo getHttpProxy();
213 method @Nullable public android.net.StaticIpConfiguration getStaticIpConfiguration();
214 method public void writeToParcel(@NonNull android.os.Parcel, int);
215 field @NonNull public static final android.os.Parcelable.Creator<android.net.IpConfiguration> CREATOR;
216 }
217
218 public static final class IpConfiguration.Builder {
219 ctor public IpConfiguration.Builder();
220 method @NonNull public android.net.IpConfiguration build();
221 method @NonNull public android.net.IpConfiguration.Builder setHttpProxy(@Nullable android.net.ProxyInfo);
222 method @NonNull public android.net.IpConfiguration.Builder setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
223 }
224
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900225 public final class IpPrefix implements android.os.Parcelable {
Taras Antoshchuk3bbbffe2021-12-19 11:54:56 +0000226 ctor public IpPrefix(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900227 method public boolean contains(@NonNull java.net.InetAddress);
228 method public int describeContents();
229 method @NonNull public java.net.InetAddress getAddress();
230 method @IntRange(from=0, to=128) public int getPrefixLength();
231 method @NonNull public byte[] getRawAddress();
232 method public void writeToParcel(android.os.Parcel, int);
233 field @NonNull public static final android.os.Parcelable.Creator<android.net.IpPrefix> CREATOR;
234 }
235
Patrick Rohr961528d2024-12-20 15:44:29 -0800236 @FlaggedApi("com.android.net.flags.ipv6_over_ble") public final class L2capNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
237 method public int describeContents();
238 method public int getHeaderCompression();
239 method public int getPsm();
240 method @Nullable public android.net.MacAddress getRemoteAddress();
241 method public int getRole();
242 method public void writeToParcel(@NonNull android.os.Parcel, int);
243 field @NonNull public static final android.os.Parcelable.Creator<android.net.L2capNetworkSpecifier> CREATOR;
244 field public static final int HEADER_COMPRESSION_6LOWPAN = 2; // 0x2
245 field public static final int HEADER_COMPRESSION_ANY = 0; // 0x0
246 field public static final int HEADER_COMPRESSION_NONE = 1; // 0x1
247 field public static final int PSM_ANY = -1; // 0xffffffff
248 field public static final int ROLE_ANY = 0; // 0x0
249 field public static final int ROLE_CLIENT = 1; // 0x1
250 field public static final int ROLE_SERVER = 2; // 0x2
251 }
252
253 public static final class L2capNetworkSpecifier.Builder {
254 ctor public L2capNetworkSpecifier.Builder();
255 method @NonNull public android.net.L2capNetworkSpecifier build();
256 method @NonNull public android.net.L2capNetworkSpecifier.Builder setHeaderCompression(int);
257 method @NonNull public android.net.L2capNetworkSpecifier.Builder setPsm(int);
258 method @NonNull public android.net.L2capNetworkSpecifier.Builder setRemoteAddress(@NonNull android.net.MacAddress);
259 method @NonNull public android.net.L2capNetworkSpecifier.Builder setRole(int);
260 }
261
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900262 public class LinkAddress implements android.os.Parcelable {
263 method public int describeContents();
264 method public java.net.InetAddress getAddress();
265 method public int getFlags();
266 method @IntRange(from=0, to=128) public int getPrefixLength();
267 method public int getScope();
268 method public void writeToParcel(android.os.Parcel, int);
269 field @NonNull public static final android.os.Parcelable.Creator<android.net.LinkAddress> CREATOR;
270 }
271
272 public final class LinkProperties implements android.os.Parcelable {
273 ctor public LinkProperties();
274 method public boolean addRoute(@NonNull android.net.RouteInfo);
275 method public void clear();
276 method public int describeContents();
277 method @Nullable public java.net.Inet4Address getDhcpServerAddress();
278 method @NonNull public java.util.List<java.net.InetAddress> getDnsServers();
279 method @Nullable public String getDomains();
280 method @Nullable public android.net.ProxyInfo getHttpProxy();
281 method @Nullable public String getInterfaceName();
282 method @NonNull public java.util.List<android.net.LinkAddress> getLinkAddresses();
283 method public int getMtu();
284 method @Nullable public android.net.IpPrefix getNat64Prefix();
285 method @Nullable public String getPrivateDnsServerName();
286 method @NonNull public java.util.List<android.net.RouteInfo> getRoutes();
287 method public boolean isPrivateDnsActive();
288 method public boolean isWakeOnLanSupported();
289 method public void setDhcpServerAddress(@Nullable java.net.Inet4Address);
290 method public void setDnsServers(@NonNull java.util.Collection<java.net.InetAddress>);
291 method public void setDomains(@Nullable String);
292 method public void setHttpProxy(@Nullable android.net.ProxyInfo);
293 method public void setInterfaceName(@Nullable String);
294 method public void setLinkAddresses(@NonNull java.util.Collection<android.net.LinkAddress>);
295 method public void setMtu(int);
296 method public void setNat64Prefix(@Nullable android.net.IpPrefix);
297 method public void writeToParcel(android.os.Parcel, int);
298 field @NonNull public static final android.os.Parcelable.Creator<android.net.LinkProperties> CREATOR;
299 }
300
301 public final class MacAddress implements android.os.Parcelable {
302 method public int describeContents();
303 method @NonNull public static android.net.MacAddress fromBytes(@NonNull byte[]);
304 method @NonNull public static android.net.MacAddress fromString(@NonNull String);
305 method public int getAddressType();
306 method @Nullable public java.net.Inet6Address getLinkLocalIpv6FromEui48Mac();
307 method public boolean isLocallyAssigned();
308 method public boolean matches(@NonNull android.net.MacAddress, @NonNull android.net.MacAddress);
309 method @NonNull public byte[] toByteArray();
310 method @NonNull public String toOuiString();
311 method public void writeToParcel(android.os.Parcel, int);
312 field public static final android.net.MacAddress BROADCAST_ADDRESS;
313 field @NonNull public static final android.os.Parcelable.Creator<android.net.MacAddress> CREATOR;
314 field public static final int TYPE_BROADCAST = 3; // 0x3
315 field public static final int TYPE_MULTICAST = 2; // 0x2
316 field public static final int TYPE_UNICAST = 1; // 0x1
317 }
318
319 public class Network implements android.os.Parcelable {
320 method public void bindSocket(java.net.DatagramSocket) throws java.io.IOException;
321 method public void bindSocket(java.net.Socket) throws java.io.IOException;
322 method public void bindSocket(java.io.FileDescriptor) throws java.io.IOException;
323 method public int describeContents();
324 method public static android.net.Network fromNetworkHandle(long);
325 method public java.net.InetAddress[] getAllByName(String) throws java.net.UnknownHostException;
326 method public java.net.InetAddress getByName(String) throws java.net.UnknownHostException;
327 method public long getNetworkHandle();
328 method public javax.net.SocketFactory getSocketFactory();
329 method public java.net.URLConnection openConnection(java.net.URL) throws java.io.IOException;
330 method public java.net.URLConnection openConnection(java.net.URL, java.net.Proxy) throws java.io.IOException;
331 method public void writeToParcel(android.os.Parcel, int);
332 field @NonNull public static final android.os.Parcelable.Creator<android.net.Network> CREATOR;
333 }
334
335 public final class NetworkCapabilities implements android.os.Parcelable {
336 ctor public NetworkCapabilities();
337 ctor public NetworkCapabilities(android.net.NetworkCapabilities);
338 method public int describeContents();
lucaslin8e0c1f02021-03-18 20:30:22 +0800339 method @NonNull public int[] getCapabilities();
Sooraj Sasindranf4a58dc2022-01-21 13:37:08 -0800340 method @NonNull public int[] getEnterpriseIds();
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900341 method public int getLinkDownstreamBandwidthKbps();
342 method public int getLinkUpstreamBandwidthKbps();
343 method @Nullable public android.net.NetworkSpecifier getNetworkSpecifier();
344 method public int getOwnerUid();
345 method public int getSignalStrength();
Ying Xu7cabd322024-01-15 18:40:15 -0800346 method @FlaggedApi("com.android.net.flags.request_restricted_wifi") @NonNull public java.util.Set<java.lang.Integer> getSubscriptionIds();
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900347 method @Nullable public android.net.TransportInfo getTransportInfo();
348 method public boolean hasCapability(int);
Sooraj Sasindranf4a58dc2022-01-21 13:37:08 -0800349 method public boolean hasEnterpriseId(int);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900350 method public boolean hasTransport(int);
351 method public void writeToParcel(android.os.Parcel, int);
352 field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkCapabilities> CREATOR;
353 field public static final int NET_CAPABILITY_CAPTIVE_PORTAL = 17; // 0x11
354 field public static final int NET_CAPABILITY_CBS = 5; // 0x5
355 field public static final int NET_CAPABILITY_DUN = 2; // 0x2
356 field public static final int NET_CAPABILITY_EIMS = 10; // 0xa
Sarah Chinae9a64d2021-02-03 12:00:20 -0800357 field public static final int NET_CAPABILITY_ENTERPRISE = 29; // 0x1d
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900358 field public static final int NET_CAPABILITY_FOREGROUND = 19; // 0x13
359 field public static final int NET_CAPABILITY_FOTA = 3; // 0x3
lucaslin593a1b42021-03-29 18:56:47 +0800360 field public static final int NET_CAPABILITY_HEAD_UNIT = 32; // 0x20
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900361 field public static final int NET_CAPABILITY_IA = 7; // 0x7
362 field public static final int NET_CAPABILITY_IMS = 4; // 0x4
363 field public static final int NET_CAPABILITY_INTERNET = 12; // 0xc
Handa Wang21005ed2023-12-11 11:18:14 +0800364 field @FlaggedApi("com.android.net.flags.net_capability_local_network") public static final int NET_CAPABILITY_LOCAL_NETWORK = 36; // 0x24
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900365 field public static final int NET_CAPABILITY_MCX = 23; // 0x17
366 field public static final int NET_CAPABILITY_MMS = 0; // 0x0
Jack Yu04bbc5b2021-12-16 13:15:25 -0800367 field public static final int NET_CAPABILITY_MMTEL = 33; // 0x21
Motomu Utsumi154ce632024-05-31 13:01:06 +0900368 field @FlaggedApi("com.android.net.flags.net_capability_not_bandwidth_constrained") public static final int NET_CAPABILITY_NOT_BANDWIDTH_CONSTRAINED = 37; // 0x25
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900369 field public static final int NET_CAPABILITY_NOT_CONGESTED = 20; // 0x14
370 field public static final int NET_CAPABILITY_NOT_METERED = 11; // 0xb
371 field public static final int NET_CAPABILITY_NOT_RESTRICTED = 13; // 0xd
372 field public static final int NET_CAPABILITY_NOT_ROAMING = 18; // 0x12
373 field public static final int NET_CAPABILITY_NOT_SUSPENDED = 21; // 0x15
374 field public static final int NET_CAPABILITY_NOT_VPN = 15; // 0xf
Sooraj Sasindranf8eb7132022-01-17 14:37:19 -0800375 field public static final int NET_CAPABILITY_PRIORITIZE_BANDWIDTH = 35; // 0x23
376 field public static final int NET_CAPABILITY_PRIORITIZE_LATENCY = 34; // 0x22
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900377 field public static final int NET_CAPABILITY_RCS = 8; // 0x8
378 field public static final int NET_CAPABILITY_SUPL = 1; // 0x1
379 field public static final int NET_CAPABILITY_TEMPORARILY_NOT_METERED = 25; // 0x19
380 field public static final int NET_CAPABILITY_TRUSTED = 14; // 0xe
381 field public static final int NET_CAPABILITY_VALIDATED = 16; // 0x10
382 field public static final int NET_CAPABILITY_WIFI_P2P = 6; // 0x6
383 field public static final int NET_CAPABILITY_XCAP = 9; // 0x9
Sooraj Sasindranf4a58dc2022-01-21 13:37:08 -0800384 field public static final int NET_ENTERPRISE_ID_1 = 1; // 0x1
385 field public static final int NET_ENTERPRISE_ID_2 = 2; // 0x2
386 field public static final int NET_ENTERPRISE_ID_3 = 3; // 0x3
387 field public static final int NET_ENTERPRISE_ID_4 = 4; // 0x4
388 field public static final int NET_ENTERPRISE_ID_5 = 5; // 0x5
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900389 field public static final int SIGNAL_STRENGTH_UNSPECIFIED = -2147483648; // 0x80000000
390 field public static final int TRANSPORT_BLUETOOTH = 2; // 0x2
391 field public static final int TRANSPORT_CELLULAR = 0; // 0x0
392 field public static final int TRANSPORT_ETHERNET = 3; // 0x3
393 field public static final int TRANSPORT_LOWPAN = 6; // 0x6
Nagendra Prasad Nagarle Basavaraju1fa6f092024-01-31 13:39:15 +0000394 field @FlaggedApi("com.android.net.flags.support_transport_satellite") public static final int TRANSPORT_SATELLITE = 10; // 0xa
Kangping Dong707a9962022-12-19 16:33:55 +0800395 field public static final int TRANSPORT_THREAD = 9; // 0x9
lucaslin593a1b42021-03-29 18:56:47 +0800396 field public static final int TRANSPORT_USB = 8; // 0x8
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900397 field public static final int TRANSPORT_VPN = 4; // 0x4
398 field public static final int TRANSPORT_WIFI = 1; // 0x1
399 field public static final int TRANSPORT_WIFI_AWARE = 5; // 0x5
400 }
401
402 @Deprecated public class NetworkInfo implements android.os.Parcelable {
403 ctor @Deprecated public NetworkInfo(int, int, @Nullable String, @Nullable String);
404 method @Deprecated public int describeContents();
405 method @Deprecated @NonNull public android.net.NetworkInfo.DetailedState getDetailedState();
406 method @Deprecated public String getExtraInfo();
407 method @Deprecated public String getReason();
408 method @Deprecated public android.net.NetworkInfo.State getState();
409 method @Deprecated public int getSubtype();
410 method @Deprecated public String getSubtypeName();
411 method @Deprecated public int getType();
412 method @Deprecated public String getTypeName();
413 method @Deprecated public boolean isAvailable();
414 method @Deprecated public boolean isConnected();
415 method @Deprecated public boolean isConnectedOrConnecting();
416 method @Deprecated public boolean isFailover();
417 method @Deprecated public boolean isRoaming();
418 method @Deprecated public void setDetailedState(@NonNull android.net.NetworkInfo.DetailedState, @Nullable String, @Nullable String);
419 method @Deprecated public void writeToParcel(android.os.Parcel, int);
420 field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkInfo> CREATOR;
421 }
422
423 @Deprecated public enum NetworkInfo.DetailedState {
424 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState AUTHENTICATING;
425 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState BLOCKED;
426 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CAPTIVE_PORTAL_CHECK;
427 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CONNECTED;
428 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CONNECTING;
429 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState DISCONNECTED;
430 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState DISCONNECTING;
431 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState FAILED;
432 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState IDLE;
433 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState OBTAINING_IPADDR;
434 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState SCANNING;
435 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState SUSPENDED;
436 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState VERIFYING_POOR_LINK;
437 }
438
439 @Deprecated public enum NetworkInfo.State {
440 enum_constant @Deprecated public static final android.net.NetworkInfo.State CONNECTED;
441 enum_constant @Deprecated public static final android.net.NetworkInfo.State CONNECTING;
442 enum_constant @Deprecated public static final android.net.NetworkInfo.State DISCONNECTED;
443 enum_constant @Deprecated public static final android.net.NetworkInfo.State DISCONNECTING;
444 enum_constant @Deprecated public static final android.net.NetworkInfo.State SUSPENDED;
445 enum_constant @Deprecated public static final android.net.NetworkInfo.State UNKNOWN;
446 }
447
448 public class NetworkRequest implements android.os.Parcelable {
449 method public boolean canBeSatisfiedBy(@Nullable android.net.NetworkCapabilities);
450 method public int describeContents();
lifr308bccc2021-03-11 20:11:09 +0800451 method @NonNull public int[] getCapabilities();
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900452 method @Nullable public android.net.NetworkSpecifier getNetworkSpecifier();
Ying Xu7cabd322024-01-15 18:40:15 -0800453 method @FlaggedApi("com.android.net.flags.request_restricted_wifi") @NonNull public java.util.Set<java.lang.Integer> getSubscriptionIds();
lifr308bccc2021-03-11 20:11:09 +0800454 method @NonNull public int[] getTransportTypes();
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900455 method public boolean hasCapability(int);
456 method public boolean hasTransport(int);
457 method public void writeToParcel(android.os.Parcel, int);
458 field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkRequest> CREATOR;
459 }
460
461 public static class NetworkRequest.Builder {
462 ctor public NetworkRequest.Builder();
Chiachang Wang76254982021-03-22 17:24:11 +0800463 ctor public NetworkRequest.Builder(@NonNull android.net.NetworkRequest);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900464 method public android.net.NetworkRequest.Builder addCapability(int);
465 method public android.net.NetworkRequest.Builder addTransportType(int);
466 method public android.net.NetworkRequest build();
467 method @NonNull public android.net.NetworkRequest.Builder clearCapabilities();
468 method public android.net.NetworkRequest.Builder removeCapability(int);
469 method public android.net.NetworkRequest.Builder removeTransportType(int);
Lorenzo Colitti86714b12021-05-17 20:31:21 +0900470 method @NonNull public android.net.NetworkRequest.Builder setIncludeOtherUidNetworks(boolean);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900471 method @Deprecated public android.net.NetworkRequest.Builder setNetworkSpecifier(String);
472 method public android.net.NetworkRequest.Builder setNetworkSpecifier(android.net.NetworkSpecifier);
Ying Xu7cabd322024-01-15 18:40:15 -0800473 method @FlaggedApi("com.android.net.flags.request_restricted_wifi") @NonNull public android.net.NetworkRequest.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900474 }
475
Remi NGUYEN VAN5a4c7352021-03-11 17:19:18 +0900476 public class ParseException extends java.lang.RuntimeException {
Remi NGUYEN VAN84a217a2021-04-08 15:56:28 +0900477 ctor public ParseException(@NonNull String);
478 ctor public ParseException(@NonNull String, @NonNull Throwable);
Remi NGUYEN VAN5a4c7352021-03-11 17:19:18 +0900479 field public String response;
480 }
481
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900482 public class ProxyInfo implements android.os.Parcelable {
483 ctor public ProxyInfo(@Nullable android.net.ProxyInfo);
484 method public static android.net.ProxyInfo buildDirectProxy(String, int);
485 method public static android.net.ProxyInfo buildDirectProxy(String, int, java.util.List<java.lang.String>);
486 method public static android.net.ProxyInfo buildPacProxy(android.net.Uri);
487 method @NonNull public static android.net.ProxyInfo buildPacProxy(@NonNull android.net.Uri, int);
488 method public int describeContents();
489 method public String[] getExclusionList();
490 method public String getHost();
491 method public android.net.Uri getPacFileUrl();
492 method public int getPort();
493 method public boolean isValid();
494 method public void writeToParcel(android.os.Parcel, int);
495 field @NonNull public static final android.os.Parcelable.Creator<android.net.ProxyInfo> CREATOR;
496 }
497
498 public final class RouteInfo implements android.os.Parcelable {
499 method public int describeContents();
500 method @NonNull public android.net.IpPrefix getDestination();
501 method @Nullable public java.net.InetAddress getGateway();
502 method @Nullable public String getInterface();
Taras Antoshchuk2b3d62f2021-12-19 11:51:39 +0000503 method public int getType();
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900504 method public boolean hasGateway();
505 method public boolean isDefaultRoute();
506 method public boolean matches(java.net.InetAddress);
507 method public void writeToParcel(android.os.Parcel, int);
508 field @NonNull public static final android.os.Parcelable.Creator<android.net.RouteInfo> CREATOR;
Taras Antoshchuk2b3d62f2021-12-19 11:51:39 +0000509 field public static final int RTN_THROW = 9; // 0x9
510 field public static final int RTN_UNICAST = 1; // 0x1
511 field public static final int RTN_UNREACHABLE = 7; // 0x7
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900512 }
513
514 public abstract class SocketKeepalive implements java.lang.AutoCloseable {
515 method public final void close();
516 method public final void start(@IntRange(from=0xa, to=0xe10) int);
517 method public final void stop();
518 field public static final int ERROR_HARDWARE_ERROR = -31; // 0xffffffe1
519 field public static final int ERROR_INSUFFICIENT_RESOURCES = -32; // 0xffffffe0
520 field public static final int ERROR_INVALID_INTERVAL = -24; // 0xffffffe8
521 field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb
522 field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9
523 field public static final int ERROR_INVALID_NETWORK = -20; // 0xffffffec
524 field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea
525 field public static final int ERROR_INVALID_SOCKET = -25; // 0xffffffe7
526 field public static final int ERROR_SOCKET_NOT_IDLE = -26; // 0xffffffe6
527 field public static final int ERROR_UNSUPPORTED = -30; // 0xffffffe2
528 }
529
530 public static class SocketKeepalive.Callback {
531 ctor public SocketKeepalive.Callback();
532 method public void onDataReceived();
533 method public void onError(int);
534 method public void onStarted();
535 method public void onStopped();
536 }
537
Etan Cohen1e86b3a2021-12-12 02:14:06 +0000538 public final class StaticIpConfiguration implements android.os.Parcelable {
539 method public int describeContents();
540 method @NonNull public java.util.List<java.net.InetAddress> getDnsServers();
541 method @Nullable public String getDomains();
542 method @Nullable public java.net.InetAddress getGateway();
543 method @NonNull public android.net.LinkAddress getIpAddress();
544 method public void writeToParcel(@NonNull android.os.Parcel, int);
545 field @NonNull public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR;
546 }
547
548 public static final class StaticIpConfiguration.Builder {
549 ctor public StaticIpConfiguration.Builder();
550 method @NonNull public android.net.StaticIpConfiguration build();
551 method @NonNull public android.net.StaticIpConfiguration.Builder setDnsServers(@NonNull Iterable<java.net.InetAddress>);
552 method @NonNull public android.net.StaticIpConfiguration.Builder setDomains(@Nullable String);
553 method @NonNull public android.net.StaticIpConfiguration.Builder setGateway(@Nullable java.net.InetAddress);
554 method @NonNull public android.net.StaticIpConfiguration.Builder setIpAddress(@NonNull android.net.LinkAddress);
555 }
556
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900557 public interface TransportInfo {
558 }
559
560}
561
Motomu Utsumi73e2e872023-04-14 19:22:42 +0900562package android.net.http {
563
564 public abstract class BidirectionalStream {
565 ctor public BidirectionalStream();
566 method public abstract void cancel();
567 method public abstract void flush();
568 method @NonNull public abstract android.net.http.HeaderBlock getHeaders();
569 method @NonNull public abstract String getHttpMethod();
570 method public abstract int getPriority();
571 method public abstract int getTrafficStatsTag();
572 method public abstract int getTrafficStatsUid();
573 method public abstract boolean hasTrafficStatsTag();
574 method public abstract boolean hasTrafficStatsUid();
575 method public abstract boolean isDelayRequestHeadersUntilFirstFlushEnabled();
576 method public abstract boolean isDone();
577 method public abstract void read(@NonNull java.nio.ByteBuffer);
578 method public abstract void start();
579 method public abstract void write(@NonNull java.nio.ByteBuffer, boolean);
580 field public static final int STREAM_PRIORITY_HIGHEST = 4; // 0x4
581 field public static final int STREAM_PRIORITY_IDLE = 0; // 0x0
582 field public static final int STREAM_PRIORITY_LOW = 2; // 0x2
583 field public static final int STREAM_PRIORITY_LOWEST = 1; // 0x1
584 field public static final int STREAM_PRIORITY_MEDIUM = 3; // 0x3
585 }
586
587 public abstract static class BidirectionalStream.Builder {
588 ctor public BidirectionalStream.Builder();
589 method @NonNull public abstract android.net.http.BidirectionalStream.Builder addHeader(@NonNull String, @NonNull String);
590 method @NonNull public abstract android.net.http.BidirectionalStream build();
591 method @NonNull public abstract android.net.http.BidirectionalStream.Builder setDelayRequestHeadersUntilFirstFlushEnabled(boolean);
592 method @NonNull public abstract android.net.http.BidirectionalStream.Builder setHttpMethod(@NonNull String);
593 method @NonNull public abstract android.net.http.BidirectionalStream.Builder setPriority(int);
594 method @NonNull public abstract android.net.http.BidirectionalStream.Builder setTrafficStatsTag(int);
595 method @NonNull public abstract android.net.http.BidirectionalStream.Builder setTrafficStatsUid(int);
596 }
597
598 public static interface BidirectionalStream.Callback {
599 method public void onCanceled(@NonNull android.net.http.BidirectionalStream, @Nullable android.net.http.UrlResponseInfo);
600 method public void onFailed(@NonNull android.net.http.BidirectionalStream, @Nullable android.net.http.UrlResponseInfo, @NonNull android.net.http.HttpException);
601 method public void onReadCompleted(@NonNull android.net.http.BidirectionalStream, @NonNull android.net.http.UrlResponseInfo, @NonNull java.nio.ByteBuffer, boolean);
602 method public void onResponseHeadersReceived(@NonNull android.net.http.BidirectionalStream, @NonNull android.net.http.UrlResponseInfo);
603 method public void onResponseTrailersReceived(@NonNull android.net.http.BidirectionalStream, @NonNull android.net.http.UrlResponseInfo, @NonNull android.net.http.HeaderBlock);
604 method public void onStreamReady(@NonNull android.net.http.BidirectionalStream);
605 method public void onSucceeded(@NonNull android.net.http.BidirectionalStream, @NonNull android.net.http.UrlResponseInfo);
606 method public void onWriteCompleted(@NonNull android.net.http.BidirectionalStream, @NonNull android.net.http.UrlResponseInfo, @NonNull java.nio.ByteBuffer, boolean);
607 }
608
609 public abstract class CallbackException extends android.net.http.HttpException {
610 ctor protected CallbackException(@Nullable String, @Nullable Throwable);
611 }
612
613 public class ConnectionMigrationOptions {
614 method public int getAllowNonDefaultNetworkUsage();
615 method public int getDefaultNetworkMigration();
616 method public int getPathDegradationMigration();
617 field public static final int MIGRATION_OPTION_DISABLED = 2; // 0x2
618 field public static final int MIGRATION_OPTION_ENABLED = 1; // 0x1
619 field public static final int MIGRATION_OPTION_UNSPECIFIED = 0; // 0x0
620 }
621
622 public static final class ConnectionMigrationOptions.Builder {
623 ctor public ConnectionMigrationOptions.Builder();
624 method @NonNull public android.net.http.ConnectionMigrationOptions build();
625 method @NonNull public android.net.http.ConnectionMigrationOptions.Builder setAllowNonDefaultNetworkUsage(int);
626 method @NonNull public android.net.http.ConnectionMigrationOptions.Builder setDefaultNetworkMigration(int);
627 method @NonNull public android.net.http.ConnectionMigrationOptions.Builder setPathDegradationMigration(int);
628 }
629
630 public final class DnsOptions {
631 method public int getPersistHostCache();
632 method @Nullable public java.time.Duration getPersistHostCachePeriod();
633 method public int getPreestablishConnectionsToStaleDnsResults();
634 method public int getStaleDns();
635 method @Nullable public android.net.http.DnsOptions.StaleDnsOptions getStaleDnsOptions();
636 method public int getUseHttpStackDnsResolver();
637 field public static final int DNS_OPTION_DISABLED = 2; // 0x2
638 field public static final int DNS_OPTION_ENABLED = 1; // 0x1
639 field public static final int DNS_OPTION_UNSPECIFIED = 0; // 0x0
640 }
641
642 public static final class DnsOptions.Builder {
643 ctor public DnsOptions.Builder();
644 method @NonNull public android.net.http.DnsOptions build();
645 method @NonNull public android.net.http.DnsOptions.Builder setPersistHostCache(int);
646 method @NonNull public android.net.http.DnsOptions.Builder setPersistHostCachePeriod(@NonNull java.time.Duration);
647 method @NonNull public android.net.http.DnsOptions.Builder setPreestablishConnectionsToStaleDnsResults(int);
648 method @NonNull public android.net.http.DnsOptions.Builder setStaleDns(int);
649 method @NonNull public android.net.http.DnsOptions.Builder setStaleDnsOptions(@NonNull android.net.http.DnsOptions.StaleDnsOptions);
650 method @NonNull public android.net.http.DnsOptions.Builder setUseHttpStackDnsResolver(int);
651 }
652
653 public static class DnsOptions.StaleDnsOptions {
654 method public int getAllowCrossNetworkUsage();
655 method @Nullable public java.time.Duration getFreshLookupTimeout();
656 method @Nullable public java.time.Duration getMaxExpiredDelay();
657 method public int getUseStaleOnNameNotResolved();
658 }
659
660 public static final class DnsOptions.StaleDnsOptions.Builder {
661 ctor public DnsOptions.StaleDnsOptions.Builder();
662 method @NonNull public android.net.http.DnsOptions.StaleDnsOptions build();
663 method @NonNull public android.net.http.DnsOptions.StaleDnsOptions.Builder setAllowCrossNetworkUsage(int);
664 method @NonNull public android.net.http.DnsOptions.StaleDnsOptions.Builder setFreshLookupTimeout(@NonNull java.time.Duration);
665 method @NonNull public android.net.http.DnsOptions.StaleDnsOptions.Builder setMaxExpiredDelay(@NonNull java.time.Duration);
666 method @NonNull public android.net.http.DnsOptions.StaleDnsOptions.Builder setUseStaleOnNameNotResolved(int);
667 }
668
669 public abstract class HeaderBlock {
670 ctor public HeaderBlock();
671 method @NonNull public abstract java.util.List<java.util.Map.Entry<java.lang.String,java.lang.String>> getAsList();
672 method @NonNull public abstract java.util.Map<java.lang.String,java.util.List<java.lang.String>> getAsMap();
673 }
674
675 public abstract class HttpEngine {
676 method public void bindToNetwork(@Nullable android.net.Network);
677 method @NonNull public abstract java.net.URLStreamHandlerFactory createUrlStreamHandlerFactory();
678 method @NonNull public static String getVersionString();
679 method @NonNull public abstract android.net.http.BidirectionalStream.Builder newBidirectionalStreamBuilder(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.http.BidirectionalStream.Callback);
680 method @NonNull public abstract android.net.http.UrlRequest.Builder newUrlRequestBuilder(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.http.UrlRequest.Callback);
681 method @NonNull public abstract java.net.URLConnection openConnection(@NonNull java.net.URL) throws java.io.IOException;
682 method public abstract void shutdown();
683 }
684
685 public static class HttpEngine.Builder {
686 ctor public HttpEngine.Builder(@NonNull android.content.Context);
687 method @NonNull public android.net.http.HttpEngine.Builder addPublicKeyPins(@NonNull String, @NonNull java.util.Set<byte[]>, boolean, @NonNull java.time.Instant);
688 method @NonNull public android.net.http.HttpEngine.Builder addQuicHint(@NonNull String, int, int);
689 method @NonNull public android.net.http.HttpEngine build();
690 method @NonNull public String getDefaultUserAgent();
691 method @NonNull public android.net.http.HttpEngine.Builder setConnectionMigrationOptions(@NonNull android.net.http.ConnectionMigrationOptions);
692 method @NonNull public android.net.http.HttpEngine.Builder setDnsOptions(@NonNull android.net.http.DnsOptions);
693 method @NonNull public android.net.http.HttpEngine.Builder setEnableBrotli(boolean);
694 method @NonNull public android.net.http.HttpEngine.Builder setEnableHttp2(boolean);
695 method @NonNull public android.net.http.HttpEngine.Builder setEnableHttpCache(int, long);
696 method @NonNull public android.net.http.HttpEngine.Builder setEnablePublicKeyPinningBypassForLocalTrustAnchors(boolean);
697 method @NonNull public android.net.http.HttpEngine.Builder setEnableQuic(boolean);
698 method @NonNull public android.net.http.HttpEngine.Builder setQuicOptions(@NonNull android.net.http.QuicOptions);
699 method @NonNull public android.net.http.HttpEngine.Builder setStoragePath(@NonNull String);
700 method @NonNull public android.net.http.HttpEngine.Builder setUserAgent(@NonNull String);
701 field public static final int HTTP_CACHE_DISABLED = 0; // 0x0
702 field public static final int HTTP_CACHE_DISK = 3; // 0x3
703 field public static final int HTTP_CACHE_DISK_NO_HTTP = 2; // 0x2
704 field public static final int HTTP_CACHE_IN_MEMORY = 1; // 0x1
705 }
706
707 public class HttpException extends java.io.IOException {
708 ctor public HttpException(@Nullable String, @Nullable Throwable);
709 }
710
711 public final class InlineExecutionProhibitedException extends java.util.concurrent.RejectedExecutionException {
712 ctor public InlineExecutionProhibitedException();
713 }
714
715 public abstract class NetworkException extends android.net.http.HttpException {
716 ctor public NetworkException(@Nullable String, @Nullable Throwable);
717 method public abstract int getErrorCode();
718 method public abstract boolean isImmediatelyRetryable();
719 field public static final int ERROR_ADDRESS_UNREACHABLE = 9; // 0x9
720 field public static final int ERROR_CONNECTION_CLOSED = 5; // 0x5
721 field public static final int ERROR_CONNECTION_REFUSED = 7; // 0x7
722 field public static final int ERROR_CONNECTION_RESET = 8; // 0x8
723 field public static final int ERROR_CONNECTION_TIMED_OUT = 6; // 0x6
724 field public static final int ERROR_HOSTNAME_NOT_RESOLVED = 1; // 0x1
725 field public static final int ERROR_INTERNET_DISCONNECTED = 2; // 0x2
726 field public static final int ERROR_NETWORK_CHANGED = 3; // 0x3
727 field public static final int ERROR_OTHER = 11; // 0xb
728 field public static final int ERROR_QUIC_PROTOCOL_FAILED = 10; // 0xa
729 field public static final int ERROR_TIMED_OUT = 4; // 0x4
730 }
731
732 public abstract class QuicException extends android.net.http.NetworkException {
733 ctor protected QuicException(@Nullable String, @Nullable Throwable);
734 }
735
736 public class QuicOptions {
737 method @NonNull public java.util.Set<java.lang.String> getAllowedQuicHosts();
738 method @Nullable public String getHandshakeUserAgent();
739 method @Nullable public java.time.Duration getIdleConnectionTimeout();
740 method public int getInMemoryServerConfigsCacheSize();
741 method public boolean hasInMemoryServerConfigsCacheSize();
742 }
743
744 public static final class QuicOptions.Builder {
745 ctor public QuicOptions.Builder();
746 method @NonNull public android.net.http.QuicOptions.Builder addAllowedQuicHost(@NonNull String);
747 method @NonNull public android.net.http.QuicOptions build();
748 method @NonNull public android.net.http.QuicOptions.Builder setHandshakeUserAgent(@NonNull String);
749 method @NonNull public android.net.http.QuicOptions.Builder setIdleConnectionTimeout(@NonNull java.time.Duration);
750 method @NonNull public android.net.http.QuicOptions.Builder setInMemoryServerConfigsCacheSize(int);
751 }
752
753 public abstract class UploadDataProvider implements java.io.Closeable {
754 ctor public UploadDataProvider();
755 method public void close() throws java.io.IOException;
756 method public abstract long getLength() throws java.io.IOException;
757 method public abstract void read(@NonNull android.net.http.UploadDataSink, @NonNull java.nio.ByteBuffer) throws java.io.IOException;
758 method public abstract void rewind(@NonNull android.net.http.UploadDataSink) throws java.io.IOException;
759 }
760
761 public abstract class UploadDataSink {
762 ctor public UploadDataSink();
763 method public abstract void onReadError(@NonNull Exception);
764 method public abstract void onReadSucceeded(boolean);
765 method public abstract void onRewindError(@NonNull Exception);
766 method public abstract void onRewindSucceeded();
767 }
768
769 public abstract class UrlRequest {
770 method public abstract void cancel();
771 method public abstract void followRedirect();
772 method @NonNull public abstract android.net.http.HeaderBlock getHeaders();
773 method @Nullable public abstract String getHttpMethod();
774 method public abstract int getPriority();
775 method public abstract void getStatus(@NonNull android.net.http.UrlRequest.StatusListener);
776 method public abstract int getTrafficStatsTag();
777 method public abstract int getTrafficStatsUid();
778 method public abstract boolean hasTrafficStatsTag();
779 method public abstract boolean hasTrafficStatsUid();
780 method public abstract boolean isCacheDisabled();
781 method public abstract boolean isDirectExecutorAllowed();
782 method public abstract boolean isDone();
783 method public abstract void read(@NonNull java.nio.ByteBuffer);
784 method public abstract void start();
785 field public static final int REQUEST_PRIORITY_HIGHEST = 4; // 0x4
786 field public static final int REQUEST_PRIORITY_IDLE = 0; // 0x0
787 field public static final int REQUEST_PRIORITY_LOW = 2; // 0x2
788 field public static final int REQUEST_PRIORITY_LOWEST = 1; // 0x1
789 field public static final int REQUEST_PRIORITY_MEDIUM = 3; // 0x3
790 }
791
792 public abstract static class UrlRequest.Builder {
793 method @NonNull public abstract android.net.http.UrlRequest.Builder addHeader(@NonNull String, @NonNull String);
794 method @NonNull public abstract android.net.http.UrlRequest.Builder bindToNetwork(@Nullable android.net.Network);
795 method @NonNull public abstract android.net.http.UrlRequest build();
796 method @NonNull public abstract android.net.http.UrlRequest.Builder setCacheDisabled(boolean);
797 method @NonNull public abstract android.net.http.UrlRequest.Builder setDirectExecutorAllowed(boolean);
798 method @NonNull public abstract android.net.http.UrlRequest.Builder setHttpMethod(@NonNull String);
799 method @NonNull public abstract android.net.http.UrlRequest.Builder setPriority(int);
800 method @NonNull public abstract android.net.http.UrlRequest.Builder setTrafficStatsTag(int);
801 method @NonNull public abstract android.net.http.UrlRequest.Builder setTrafficStatsUid(int);
802 method @NonNull public abstract android.net.http.UrlRequest.Builder setUploadDataProvider(@NonNull android.net.http.UploadDataProvider, @NonNull java.util.concurrent.Executor);
803 }
804
805 public static interface UrlRequest.Callback {
806 method public void onCanceled(@NonNull android.net.http.UrlRequest, @Nullable android.net.http.UrlResponseInfo);
807 method public void onFailed(@NonNull android.net.http.UrlRequest, @Nullable android.net.http.UrlResponseInfo, @NonNull android.net.http.HttpException);
808 method public void onReadCompleted(@NonNull android.net.http.UrlRequest, @NonNull android.net.http.UrlResponseInfo, @NonNull java.nio.ByteBuffer) throws java.lang.Exception;
809 method public void onRedirectReceived(@NonNull android.net.http.UrlRequest, @NonNull android.net.http.UrlResponseInfo, @NonNull String) throws java.lang.Exception;
810 method public void onResponseStarted(@NonNull android.net.http.UrlRequest, @NonNull android.net.http.UrlResponseInfo) throws java.lang.Exception;
811 method public void onSucceeded(@NonNull android.net.http.UrlRequest, @NonNull android.net.http.UrlResponseInfo);
812 }
813
814 public static class UrlRequest.Status {
815 field public static final int CONNECTING = 10; // 0xa
816 field public static final int DOWNLOADING_PAC_FILE = 5; // 0x5
817 field public static final int ESTABLISHING_PROXY_TUNNEL = 8; // 0x8
818 field public static final int IDLE = 0; // 0x0
819 field public static final int INVALID = -1; // 0xffffffff
820 field public static final int READING_RESPONSE = 14; // 0xe
821 field public static final int RESOLVING_HOST = 9; // 0x9
822 field public static final int RESOLVING_HOST_IN_PAC_FILE = 7; // 0x7
823 field public static final int RESOLVING_PROXY_FOR_URL = 6; // 0x6
824 field public static final int SENDING_REQUEST = 12; // 0xc
825 field public static final int SSL_HANDSHAKE = 11; // 0xb
826 field public static final int WAITING_FOR_AVAILABLE_SOCKET = 2; // 0x2
827 field public static final int WAITING_FOR_CACHE = 4; // 0x4
828 field public static final int WAITING_FOR_DELEGATE = 3; // 0x3
829 field public static final int WAITING_FOR_RESPONSE = 13; // 0xd
830 field public static final int WAITING_FOR_STALLED_SOCKET_POOL = 1; // 0x1
831 }
832
833 public static interface UrlRequest.StatusListener {
834 method public void onStatus(int);
835 }
836
837 public abstract class UrlResponseInfo {
838 ctor public UrlResponseInfo();
839 method @NonNull public abstract android.net.http.HeaderBlock getHeaders();
840 method public abstract int getHttpStatusCode();
841 method @NonNull public abstract String getHttpStatusText();
842 method @NonNull public abstract String getNegotiatedProtocol();
843 method public abstract long getReceivedByteCount();
844 method @NonNull public abstract String getUrl();
845 method @NonNull public abstract java.util.List<java.lang.String> getUrlChain();
846 method public abstract boolean wasCached();
847 }
848
849}
850