• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// 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();
73    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.Network[] getAllNetworks();
74    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);
90    method public void registerBestMatchingNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
91    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);
106    method public void reserveNetwork(@NonNull android.net.NetworkRequest, @NonNull android.os.Handler, @NonNull android.net.ConnectivityManager.NetworkCallback);
107    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();
148    ctor public ConnectivityManager.NetworkCallback(int);
149    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);
155    method public void onReserved(@NonNull android.net.NetworkCapabilities);
156    method public void onUnavailable();
157    field public static final int FLAG_INCLUDE_LOCATION_INFO = 1; // 0x1
158  }
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 {
201    ctor public DnsResolver.DnsException(int, @Nullable Throwable);
202    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
210  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
225  public final class IpPrefix implements android.os.Parcelable {
226    ctor public IpPrefix(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
227    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
236  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 = 0; // 0x0
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(@IntRange(from=0, to=255) int);
258    method @NonNull public android.net.L2capNetworkSpecifier.Builder setRemoteAddress(@Nullable android.net.MacAddress);
259    method @NonNull public android.net.L2capNetworkSpecifier.Builder setRole(int);
260  }
261
262  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();
339    method @NonNull public int[] getCapabilities();
340    method @NonNull public int[] getEnterpriseIds();
341    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();
346    method @NonNull public java.util.Set<java.lang.Integer> getSubscriptionIds();
347    method @Nullable public android.net.TransportInfo getTransportInfo();
348    method public boolean hasCapability(int);
349    method public boolean hasEnterpriseId(int);
350    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
357    field public static final int NET_CAPABILITY_ENTERPRISE = 29; // 0x1d
358    field public static final int NET_CAPABILITY_FOREGROUND = 19; // 0x13
359    field public static final int NET_CAPABILITY_FOTA = 3; // 0x3
360    field public static final int NET_CAPABILITY_HEAD_UNIT = 32; // 0x20
361    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
364    field public static final int NET_CAPABILITY_LOCAL_NETWORK = 36; // 0x24
365    field public static final int NET_CAPABILITY_MCX = 23; // 0x17
366    field public static final int NET_CAPABILITY_MMS = 0; // 0x0
367    field public static final int NET_CAPABILITY_MMTEL = 33; // 0x21
368    field public static final int NET_CAPABILITY_NOT_BANDWIDTH_CONSTRAINED = 37; // 0x25
369    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
375    field public static final int NET_CAPABILITY_PRIORITIZE_BANDWIDTH = 35; // 0x23
376    field public static final int NET_CAPABILITY_PRIORITIZE_LATENCY = 34; // 0x22
377    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
384    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
389    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
394    field public static final int TRANSPORT_SATELLITE = 10; // 0xa
395    field public static final int TRANSPORT_THREAD = 9; // 0x9
396    field public static final int TRANSPORT_USB = 8; // 0x8
397    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();
451    method @NonNull public int[] getCapabilities();
452    method @Nullable public android.net.NetworkSpecifier getNetworkSpecifier();
453    method @NonNull public java.util.Set<java.lang.Integer> getSubscriptionIds();
454    method @NonNull public int[] getTransportTypes();
455    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();
463    ctor public NetworkRequest.Builder(@NonNull android.net.NetworkRequest);
464    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);
470    method @NonNull public android.net.NetworkRequest.Builder setIncludeOtherUidNetworks(boolean);
471    method @Deprecated public android.net.NetworkRequest.Builder setNetworkSpecifier(String);
472    method public android.net.NetworkRequest.Builder setNetworkSpecifier(android.net.NetworkSpecifier);
473    method @NonNull public android.net.NetworkRequest.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
474  }
475
476  public class ParseException extends java.lang.RuntimeException {
477    ctor public ParseException(@NonNull String);
478    ctor public ParseException(@NonNull String, @NonNull Throwable);
479    field public String response;
480  }
481
482  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();
503    method public int getType();
504    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;
509    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
512  }
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
538  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
557  public interface TransportInfo {
558  }
559
560}
561
562package 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
851