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 @Deprecated public void setNetworkPreference(int); 107 method @Deprecated public static boolean setProcessDefaultNetwork(@Nullable android.net.Network); 108 method public void unregisterNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback); 109 method public void unregisterNetworkCallback(@NonNull android.app.PendingIntent); 110 field @Deprecated public static final String ACTION_BACKGROUND_DATA_SETTING_CHANGED = "android.net.conn.BACKGROUND_DATA_SETTING_CHANGED"; 111 field public static final String ACTION_CAPTIVE_PORTAL_SIGN_IN = "android.net.conn.CAPTIVE_PORTAL"; 112 field public static final String ACTION_RESTRICT_BACKGROUND_CHANGED = "android.net.conn.RESTRICT_BACKGROUND_CHANGED"; 113 field @Deprecated public static final String CONNECTIVITY_ACTION = "android.net.conn.CONNECTIVITY_CHANGE"; 114 field @Deprecated public static final int DEFAULT_NETWORK_PREFERENCE = 1; // 0x1 115 field public static final String EXTRA_CAPTIVE_PORTAL = "android.net.extra.CAPTIVE_PORTAL"; 116 field public static final String EXTRA_CAPTIVE_PORTAL_URL = "android.net.extra.CAPTIVE_PORTAL_URL"; 117 field @Deprecated public static final String EXTRA_EXTRA_INFO = "extraInfo"; 118 field @Deprecated public static final String EXTRA_IS_FAILOVER = "isFailover"; 119 field public static final String EXTRA_NETWORK = "android.net.extra.NETWORK"; 120 field @Deprecated public static final String EXTRA_NETWORK_INFO = "networkInfo"; 121 field public static final String EXTRA_NETWORK_REQUEST = "android.net.extra.NETWORK_REQUEST"; 122 field @Deprecated public static final String EXTRA_NETWORK_TYPE = "networkType"; 123 field public static final String EXTRA_NO_CONNECTIVITY = "noConnectivity"; 124 field @Deprecated public static final String EXTRA_OTHER_NETWORK_INFO = "otherNetwork"; 125 field public static final String EXTRA_REASON = "reason"; 126 field public static final int MULTIPATH_PREFERENCE_HANDOVER = 1; // 0x1 127 field public static final int MULTIPATH_PREFERENCE_PERFORMANCE = 4; // 0x4 128 field public static final int MULTIPATH_PREFERENCE_RELIABILITY = 2; // 0x2 129 field public static final int RESTRICT_BACKGROUND_STATUS_DISABLED = 1; // 0x1 130 field public static final int RESTRICT_BACKGROUND_STATUS_ENABLED = 3; // 0x3 131 field public static final int RESTRICT_BACKGROUND_STATUS_WHITELISTED = 2; // 0x2 132 field @Deprecated public static final int TYPE_BLUETOOTH = 7; // 0x7 133 field @Deprecated public static final int TYPE_DUMMY = 8; // 0x8 134 field @Deprecated public static final int TYPE_ETHERNET = 9; // 0x9 135 field @Deprecated public static final int TYPE_MOBILE = 0; // 0x0 136 field @Deprecated public static final int TYPE_MOBILE_DUN = 4; // 0x4 137 field @Deprecated public static final int TYPE_MOBILE_HIPRI = 5; // 0x5 138 field @Deprecated public static final int TYPE_MOBILE_MMS = 2; // 0x2 139 field @Deprecated public static final int TYPE_MOBILE_SUPL = 3; // 0x3 140 field @Deprecated public static final int TYPE_VPN = 17; // 0x11 141 field @Deprecated public static final int TYPE_WIFI = 1; // 0x1 142 field @Deprecated public static final int TYPE_WIMAX = 6; // 0x6 143 } 144 145 public static class ConnectivityManager.NetworkCallback { 146 ctor public ConnectivityManager.NetworkCallback(); 147 ctor public ConnectivityManager.NetworkCallback(int); 148 method public void onAvailable(@NonNull android.net.Network); 149 method public void onBlockedStatusChanged(@NonNull android.net.Network, boolean); 150 method public void onCapabilitiesChanged(@NonNull android.net.Network, @NonNull android.net.NetworkCapabilities); 151 method public void onLinkPropertiesChanged(@NonNull android.net.Network, @NonNull android.net.LinkProperties); 152 method public void onLosing(@NonNull android.net.Network, int); 153 method public void onLost(@NonNull android.net.Network); 154 method public void onUnavailable(); 155 field public static final int FLAG_INCLUDE_LOCATION_INFO = 1; // 0x1 156 } 157 158 public static interface ConnectivityManager.OnNetworkActiveListener { 159 method public void onNetworkActive(); 160 } 161 162 public class DhcpInfo implements android.os.Parcelable { 163 ctor public DhcpInfo(); 164 method public int describeContents(); 165 method public void writeToParcel(android.os.Parcel, int); 166 field @NonNull public static final android.os.Parcelable.Creator<android.net.DhcpInfo> CREATOR; 167 field public int dns1; 168 field public int dns2; 169 field public int gateway; 170 field public int ipAddress; 171 field public int leaseDuration; 172 field public int netmask; 173 field public int serverAddress; 174 } 175 176 public final class DnsResolver { 177 method @NonNull public static android.net.DnsResolver getInstance(); 178 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>>); 179 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>>); 180 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[]>); 181 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[]>); 182 field public static final int CLASS_IN = 1; // 0x1 183 field public static final int ERROR_PARSE = 0; // 0x0 184 field public static final int ERROR_SYSTEM = 1; // 0x1 185 field public static final int FLAG_EMPTY = 0; // 0x0 186 field public static final int FLAG_NO_CACHE_LOOKUP = 4; // 0x4 187 field public static final int FLAG_NO_CACHE_STORE = 2; // 0x2 188 field public static final int FLAG_NO_RETRY = 1; // 0x1 189 field public static final int TYPE_A = 1; // 0x1 190 field public static final int TYPE_AAAA = 28; // 0x1c 191 } 192 193 public static interface DnsResolver.Callback<T> { 194 method public void onAnswer(@NonNull T, int); 195 method public void onError(@NonNull android.net.DnsResolver.DnsException); 196 } 197 198 public static class DnsResolver.DnsException extends java.lang.Exception { 199 ctor public DnsResolver.DnsException(int, @Nullable Throwable); 200 field public final int code; 201 } 202 203 public class InetAddresses { 204 method public static boolean isNumericAddress(@NonNull String); 205 method @NonNull public static java.net.InetAddress parseNumericAddress(@NonNull String); 206 } 207 208 public final class IpConfiguration implements android.os.Parcelable { 209 method public int describeContents(); 210 method @Nullable public android.net.ProxyInfo getHttpProxy(); 211 method @Nullable public android.net.StaticIpConfiguration getStaticIpConfiguration(); 212 method public void writeToParcel(@NonNull android.os.Parcel, int); 213 field @NonNull public static final android.os.Parcelable.Creator<android.net.IpConfiguration> CREATOR; 214 } 215 216 public static final class IpConfiguration.Builder { 217 ctor public IpConfiguration.Builder(); 218 method @NonNull public android.net.IpConfiguration build(); 219 method @NonNull public android.net.IpConfiguration.Builder setHttpProxy(@Nullable android.net.ProxyInfo); 220 method @NonNull public android.net.IpConfiguration.Builder setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration); 221 } 222 223 public final class IpPrefix implements android.os.Parcelable { 224 ctor public IpPrefix(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int); 225 method public boolean contains(@NonNull java.net.InetAddress); 226 method public int describeContents(); 227 method @NonNull public java.net.InetAddress getAddress(); 228 method @IntRange(from=0, to=128) public int getPrefixLength(); 229 method @NonNull public byte[] getRawAddress(); 230 method public void writeToParcel(android.os.Parcel, int); 231 field @NonNull public static final android.os.Parcelable.Creator<android.net.IpPrefix> CREATOR; 232 } 233 234 public class LinkAddress implements android.os.Parcelable { 235 method public int describeContents(); 236 method public java.net.InetAddress getAddress(); 237 method public int getFlags(); 238 method @IntRange(from=0, to=128) public int getPrefixLength(); 239 method public int getScope(); 240 method public void writeToParcel(android.os.Parcel, int); 241 field @NonNull public static final android.os.Parcelable.Creator<android.net.LinkAddress> CREATOR; 242 } 243 244 public final class LinkProperties implements android.os.Parcelable { 245 ctor public LinkProperties(); 246 method public boolean addRoute(@NonNull android.net.RouteInfo); 247 method public void clear(); 248 method public int describeContents(); 249 method @Nullable public java.net.Inet4Address getDhcpServerAddress(); 250 method @NonNull public java.util.List<java.net.InetAddress> getDnsServers(); 251 method @Nullable public String getDomains(); 252 method @Nullable public android.net.ProxyInfo getHttpProxy(); 253 method @Nullable public String getInterfaceName(); 254 method @NonNull public java.util.List<android.net.LinkAddress> getLinkAddresses(); 255 method public int getMtu(); 256 method @Nullable public android.net.IpPrefix getNat64Prefix(); 257 method @Nullable public String getPrivateDnsServerName(); 258 method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(); 259 method public boolean isPrivateDnsActive(); 260 method public boolean isWakeOnLanSupported(); 261 method public void setDhcpServerAddress(@Nullable java.net.Inet4Address); 262 method public void setDnsServers(@NonNull java.util.Collection<java.net.InetAddress>); 263 method public void setDomains(@Nullable String); 264 method public void setHttpProxy(@Nullable android.net.ProxyInfo); 265 method public void setInterfaceName(@Nullable String); 266 method public void setLinkAddresses(@NonNull java.util.Collection<android.net.LinkAddress>); 267 method public void setMtu(int); 268 method public void setNat64Prefix(@Nullable android.net.IpPrefix); 269 method public void writeToParcel(android.os.Parcel, int); 270 field @NonNull public static final android.os.Parcelable.Creator<android.net.LinkProperties> CREATOR; 271 } 272 273 public final class MacAddress implements android.os.Parcelable { 274 method public int describeContents(); 275 method @NonNull public static android.net.MacAddress fromBytes(@NonNull byte[]); 276 method @NonNull public static android.net.MacAddress fromString(@NonNull String); 277 method public int getAddressType(); 278 method @Nullable public java.net.Inet6Address getLinkLocalIpv6FromEui48Mac(); 279 method public boolean isLocallyAssigned(); 280 method public boolean matches(@NonNull android.net.MacAddress, @NonNull android.net.MacAddress); 281 method @NonNull public byte[] toByteArray(); 282 method @NonNull public String toOuiString(); 283 method public void writeToParcel(android.os.Parcel, int); 284 field public static final android.net.MacAddress BROADCAST_ADDRESS; 285 field @NonNull public static final android.os.Parcelable.Creator<android.net.MacAddress> CREATOR; 286 field public static final int TYPE_BROADCAST = 3; // 0x3 287 field public static final int TYPE_MULTICAST = 2; // 0x2 288 field public static final int TYPE_UNICAST = 1; // 0x1 289 } 290 291 public class Network implements android.os.Parcelable { 292 method public void bindSocket(java.net.DatagramSocket) throws java.io.IOException; 293 method public void bindSocket(java.net.Socket) throws java.io.IOException; 294 method public void bindSocket(java.io.FileDescriptor) throws java.io.IOException; 295 method public int describeContents(); 296 method public static android.net.Network fromNetworkHandle(long); 297 method public java.net.InetAddress[] getAllByName(String) throws java.net.UnknownHostException; 298 method public java.net.InetAddress getByName(String) throws java.net.UnknownHostException; 299 method public long getNetworkHandle(); 300 method public javax.net.SocketFactory getSocketFactory(); 301 method public java.net.URLConnection openConnection(java.net.URL) throws java.io.IOException; 302 method public java.net.URLConnection openConnection(java.net.URL, java.net.Proxy) throws java.io.IOException; 303 method public void writeToParcel(android.os.Parcel, int); 304 field @NonNull public static final android.os.Parcelable.Creator<android.net.Network> CREATOR; 305 } 306 307 public final class NetworkCapabilities implements android.os.Parcelable { 308 ctor public NetworkCapabilities(); 309 ctor public NetworkCapabilities(android.net.NetworkCapabilities); 310 method public int describeContents(); 311 method @NonNull public int[] getCapabilities(); 312 method @NonNull public int[] getEnterpriseIds(); 313 method public int getLinkDownstreamBandwidthKbps(); 314 method public int getLinkUpstreamBandwidthKbps(); 315 method @Nullable public android.net.NetworkSpecifier getNetworkSpecifier(); 316 method public int getOwnerUid(); 317 method public int getSignalStrength(); 318 method @NonNull public java.util.Set<java.lang.Integer> getSubscriptionIds(); 319 method @Nullable public android.net.TransportInfo getTransportInfo(); 320 method public boolean hasCapability(int); 321 method public boolean hasEnterpriseId(int); 322 method public boolean hasTransport(int); 323 method public void writeToParcel(android.os.Parcel, int); 324 field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkCapabilities> CREATOR; 325 field public static final int NET_CAPABILITY_CAPTIVE_PORTAL = 17; // 0x11 326 field public static final int NET_CAPABILITY_CBS = 5; // 0x5 327 field public static final int NET_CAPABILITY_DUN = 2; // 0x2 328 field public static final int NET_CAPABILITY_EIMS = 10; // 0xa 329 field public static final int NET_CAPABILITY_ENTERPRISE = 29; // 0x1d 330 field public static final int NET_CAPABILITY_FOREGROUND = 19; // 0x13 331 field public static final int NET_CAPABILITY_FOTA = 3; // 0x3 332 field public static final int NET_CAPABILITY_HEAD_UNIT = 32; // 0x20 333 field public static final int NET_CAPABILITY_IA = 7; // 0x7 334 field public static final int NET_CAPABILITY_IMS = 4; // 0x4 335 field public static final int NET_CAPABILITY_INTERNET = 12; // 0xc 336 field public static final int NET_CAPABILITY_LOCAL_NETWORK = 36; // 0x24 337 field public static final int NET_CAPABILITY_MCX = 23; // 0x17 338 field public static final int NET_CAPABILITY_MMS = 0; // 0x0 339 field public static final int NET_CAPABILITY_MMTEL = 33; // 0x21 340 field public static final int NET_CAPABILITY_NOT_CONGESTED = 20; // 0x14 341 field public static final int NET_CAPABILITY_NOT_METERED = 11; // 0xb 342 field public static final int NET_CAPABILITY_NOT_RESTRICTED = 13; // 0xd 343 field public static final int NET_CAPABILITY_NOT_ROAMING = 18; // 0x12 344 field public static final int NET_CAPABILITY_NOT_SUSPENDED = 21; // 0x15 345 field public static final int NET_CAPABILITY_NOT_VPN = 15; // 0xf 346 field public static final int NET_CAPABILITY_PRIORITIZE_BANDWIDTH = 35; // 0x23 347 field public static final int NET_CAPABILITY_PRIORITIZE_LATENCY = 34; // 0x22 348 field public static final int NET_CAPABILITY_RCS = 8; // 0x8 349 field public static final int NET_CAPABILITY_SUPL = 1; // 0x1 350 field public static final int NET_CAPABILITY_TEMPORARILY_NOT_METERED = 25; // 0x19 351 field public static final int NET_CAPABILITY_TRUSTED = 14; // 0xe 352 field public static final int NET_CAPABILITY_VALIDATED = 16; // 0x10 353 field public static final int NET_CAPABILITY_WIFI_P2P = 6; // 0x6 354 field public static final int NET_CAPABILITY_XCAP = 9; // 0x9 355 field public static final int NET_ENTERPRISE_ID_1 = 1; // 0x1 356 field public static final int NET_ENTERPRISE_ID_2 = 2; // 0x2 357 field public static final int NET_ENTERPRISE_ID_3 = 3; // 0x3 358 field public static final int NET_ENTERPRISE_ID_4 = 4; // 0x4 359 field public static final int NET_ENTERPRISE_ID_5 = 5; // 0x5 360 field public static final int SIGNAL_STRENGTH_UNSPECIFIED = -2147483648; // 0x80000000 361 field public static final int TRANSPORT_BLUETOOTH = 2; // 0x2 362 field public static final int TRANSPORT_CELLULAR = 0; // 0x0 363 field public static final int TRANSPORT_ETHERNET = 3; // 0x3 364 field public static final int TRANSPORT_LOWPAN = 6; // 0x6 365 field public static final int TRANSPORT_SATELLITE = 10; // 0xa 366 field public static final int TRANSPORT_THREAD = 9; // 0x9 367 field public static final int TRANSPORT_USB = 8; // 0x8 368 field public static final int TRANSPORT_VPN = 4; // 0x4 369 field public static final int TRANSPORT_WIFI = 1; // 0x1 370 field public static final int TRANSPORT_WIFI_AWARE = 5; // 0x5 371 } 372 373 @Deprecated public class NetworkInfo implements android.os.Parcelable { 374 ctor @Deprecated public NetworkInfo(int, int, @Nullable String, @Nullable String); 375 method @Deprecated public int describeContents(); 376 method @Deprecated @NonNull public android.net.NetworkInfo.DetailedState getDetailedState(); 377 method @Deprecated public String getExtraInfo(); 378 method @Deprecated public String getReason(); 379 method @Deprecated public android.net.NetworkInfo.State getState(); 380 method @Deprecated public int getSubtype(); 381 method @Deprecated public String getSubtypeName(); 382 method @Deprecated public int getType(); 383 method @Deprecated public String getTypeName(); 384 method @Deprecated public boolean isAvailable(); 385 method @Deprecated public boolean isConnected(); 386 method @Deprecated public boolean isConnectedOrConnecting(); 387 method @Deprecated public boolean isFailover(); 388 method @Deprecated public boolean isRoaming(); 389 method @Deprecated public void setDetailedState(@NonNull android.net.NetworkInfo.DetailedState, @Nullable String, @Nullable String); 390 method @Deprecated public void writeToParcel(android.os.Parcel, int); 391 field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkInfo> CREATOR; 392 } 393 394 @Deprecated public enum NetworkInfo.DetailedState { 395 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState AUTHENTICATING; 396 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState BLOCKED; 397 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CAPTIVE_PORTAL_CHECK; 398 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CONNECTED; 399 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CONNECTING; 400 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState DISCONNECTED; 401 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState DISCONNECTING; 402 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState FAILED; 403 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState IDLE; 404 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState OBTAINING_IPADDR; 405 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState SCANNING; 406 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState SUSPENDED; 407 enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState VERIFYING_POOR_LINK; 408 } 409 410 @Deprecated public enum NetworkInfo.State { 411 enum_constant @Deprecated public static final android.net.NetworkInfo.State CONNECTED; 412 enum_constant @Deprecated public static final android.net.NetworkInfo.State CONNECTING; 413 enum_constant @Deprecated public static final android.net.NetworkInfo.State DISCONNECTED; 414 enum_constant @Deprecated public static final android.net.NetworkInfo.State DISCONNECTING; 415 enum_constant @Deprecated public static final android.net.NetworkInfo.State SUSPENDED; 416 enum_constant @Deprecated public static final android.net.NetworkInfo.State UNKNOWN; 417 } 418 419 public class NetworkRequest implements android.os.Parcelable { 420 method public boolean canBeSatisfiedBy(@Nullable android.net.NetworkCapabilities); 421 method public int describeContents(); 422 method @NonNull public int[] getCapabilities(); 423 method @Nullable public android.net.NetworkSpecifier getNetworkSpecifier(); 424 method @NonNull public java.util.Set<java.lang.Integer> getSubscriptionIds(); 425 method @NonNull public int[] getTransportTypes(); 426 method public boolean hasCapability(int); 427 method public boolean hasTransport(int); 428 method public void writeToParcel(android.os.Parcel, int); 429 field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkRequest> CREATOR; 430 } 431 432 public static class NetworkRequest.Builder { 433 ctor public NetworkRequest.Builder(); 434 ctor public NetworkRequest.Builder(@NonNull android.net.NetworkRequest); 435 method public android.net.NetworkRequest.Builder addCapability(int); 436 method public android.net.NetworkRequest.Builder addTransportType(int); 437 method public android.net.NetworkRequest build(); 438 method @NonNull public android.net.NetworkRequest.Builder clearCapabilities(); 439 method public android.net.NetworkRequest.Builder removeCapability(int); 440 method public android.net.NetworkRequest.Builder removeTransportType(int); 441 method @NonNull public android.net.NetworkRequest.Builder setIncludeOtherUidNetworks(boolean); 442 method @Deprecated public android.net.NetworkRequest.Builder setNetworkSpecifier(String); 443 method public android.net.NetworkRequest.Builder setNetworkSpecifier(android.net.NetworkSpecifier); 444 method @NonNull public android.net.NetworkRequest.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>); 445 } 446 447 public class ParseException extends java.lang.RuntimeException { 448 ctor public ParseException(@NonNull String); 449 ctor public ParseException(@NonNull String, @NonNull Throwable); 450 field public String response; 451 } 452 453 public class ProxyInfo implements android.os.Parcelable { 454 ctor public ProxyInfo(@Nullable android.net.ProxyInfo); 455 method public static android.net.ProxyInfo buildDirectProxy(String, int); 456 method public static android.net.ProxyInfo buildDirectProxy(String, int, java.util.List<java.lang.String>); 457 method public static android.net.ProxyInfo buildPacProxy(android.net.Uri); 458 method @NonNull public static android.net.ProxyInfo buildPacProxy(@NonNull android.net.Uri, int); 459 method public int describeContents(); 460 method public String[] getExclusionList(); 461 method public String getHost(); 462 method public android.net.Uri getPacFileUrl(); 463 method public int getPort(); 464 method public boolean isValid(); 465 method public void writeToParcel(android.os.Parcel, int); 466 field @NonNull public static final android.os.Parcelable.Creator<android.net.ProxyInfo> CREATOR; 467 } 468 469 public final class RouteInfo implements android.os.Parcelable { 470 method public int describeContents(); 471 method @NonNull public android.net.IpPrefix getDestination(); 472 method @Nullable public java.net.InetAddress getGateway(); 473 method @Nullable public String getInterface(); 474 method public int getType(); 475 method public boolean hasGateway(); 476 method public boolean isDefaultRoute(); 477 method public boolean matches(java.net.InetAddress); 478 method public void writeToParcel(android.os.Parcel, int); 479 field @NonNull public static final android.os.Parcelable.Creator<android.net.RouteInfo> CREATOR; 480 field public static final int RTN_THROW = 9; // 0x9 481 field public static final int RTN_UNICAST = 1; // 0x1 482 field public static final int RTN_UNREACHABLE = 7; // 0x7 483 } 484 485 public abstract class SocketKeepalive implements java.lang.AutoCloseable { 486 method public final void close(); 487 method public final void start(@IntRange(from=0xa, to=0xe10) int); 488 method public final void stop(); 489 field public static final int ERROR_HARDWARE_ERROR = -31; // 0xffffffe1 490 field public static final int ERROR_INSUFFICIENT_RESOURCES = -32; // 0xffffffe0 491 field public static final int ERROR_INVALID_INTERVAL = -24; // 0xffffffe8 492 field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb 493 field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9 494 field public static final int ERROR_INVALID_NETWORK = -20; // 0xffffffec 495 field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea 496 field public static final int ERROR_INVALID_SOCKET = -25; // 0xffffffe7 497 field public static final int ERROR_SOCKET_NOT_IDLE = -26; // 0xffffffe6 498 field public static final int ERROR_UNSUPPORTED = -30; // 0xffffffe2 499 } 500 501 public static class SocketKeepalive.Callback { 502 ctor public SocketKeepalive.Callback(); 503 method public void onDataReceived(); 504 method public void onError(int); 505 method public void onStarted(); 506 method public void onStopped(); 507 } 508 509 public final class StaticIpConfiguration implements android.os.Parcelable { 510 method public int describeContents(); 511 method @NonNull public java.util.List<java.net.InetAddress> getDnsServers(); 512 method @Nullable public String getDomains(); 513 method @Nullable public java.net.InetAddress getGateway(); 514 method @NonNull public android.net.LinkAddress getIpAddress(); 515 method public void writeToParcel(@NonNull android.os.Parcel, int); 516 field @NonNull public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR; 517 } 518 519 public static final class StaticIpConfiguration.Builder { 520 ctor public StaticIpConfiguration.Builder(); 521 method @NonNull public android.net.StaticIpConfiguration build(); 522 method @NonNull public android.net.StaticIpConfiguration.Builder setDnsServers(@NonNull Iterable<java.net.InetAddress>); 523 method @NonNull public android.net.StaticIpConfiguration.Builder setDomains(@Nullable String); 524 method @NonNull public android.net.StaticIpConfiguration.Builder setGateway(@Nullable java.net.InetAddress); 525 method @NonNull public android.net.StaticIpConfiguration.Builder setIpAddress(@NonNull android.net.LinkAddress); 526 } 527 528 public interface TransportInfo { 529 } 530 531} 532 533package android.net.http { 534 535 public abstract class BidirectionalStream { 536 ctor public BidirectionalStream(); 537 method public abstract void cancel(); 538 method public abstract void flush(); 539 method @NonNull public abstract android.net.http.HeaderBlock getHeaders(); 540 method @NonNull public abstract String getHttpMethod(); 541 method public abstract int getPriority(); 542 method public abstract int getTrafficStatsTag(); 543 method public abstract int getTrafficStatsUid(); 544 method public abstract boolean hasTrafficStatsTag(); 545 method public abstract boolean hasTrafficStatsUid(); 546 method public abstract boolean isDelayRequestHeadersUntilFirstFlushEnabled(); 547 method public abstract boolean isDone(); 548 method public abstract void read(@NonNull java.nio.ByteBuffer); 549 method public abstract void start(); 550 method public abstract void write(@NonNull java.nio.ByteBuffer, boolean); 551 field public static final int STREAM_PRIORITY_HIGHEST = 4; // 0x4 552 field public static final int STREAM_PRIORITY_IDLE = 0; // 0x0 553 field public static final int STREAM_PRIORITY_LOW = 2; // 0x2 554 field public static final int STREAM_PRIORITY_LOWEST = 1; // 0x1 555 field public static final int STREAM_PRIORITY_MEDIUM = 3; // 0x3 556 } 557 558 public abstract static class BidirectionalStream.Builder { 559 ctor public BidirectionalStream.Builder(); 560 method @NonNull public abstract android.net.http.BidirectionalStream.Builder addHeader(@NonNull String, @NonNull String); 561 method @NonNull public abstract android.net.http.BidirectionalStream build(); 562 method @NonNull public abstract android.net.http.BidirectionalStream.Builder setDelayRequestHeadersUntilFirstFlushEnabled(boolean); 563 method @NonNull public abstract android.net.http.BidirectionalStream.Builder setHttpMethod(@NonNull String); 564 method @NonNull public abstract android.net.http.BidirectionalStream.Builder setPriority(int); 565 method @NonNull public abstract android.net.http.BidirectionalStream.Builder setTrafficStatsTag(int); 566 method @NonNull public abstract android.net.http.BidirectionalStream.Builder setTrafficStatsUid(int); 567 } 568 569 public static interface BidirectionalStream.Callback { 570 method public void onCanceled(@NonNull android.net.http.BidirectionalStream, @Nullable android.net.http.UrlResponseInfo); 571 method public void onFailed(@NonNull android.net.http.BidirectionalStream, @Nullable android.net.http.UrlResponseInfo, @NonNull android.net.http.HttpException); 572 method public void onReadCompleted(@NonNull android.net.http.BidirectionalStream, @NonNull android.net.http.UrlResponseInfo, @NonNull java.nio.ByteBuffer, boolean); 573 method public void onResponseHeadersReceived(@NonNull android.net.http.BidirectionalStream, @NonNull android.net.http.UrlResponseInfo); 574 method public void onResponseTrailersReceived(@NonNull android.net.http.BidirectionalStream, @NonNull android.net.http.UrlResponseInfo, @NonNull android.net.http.HeaderBlock); 575 method public void onStreamReady(@NonNull android.net.http.BidirectionalStream); 576 method public void onSucceeded(@NonNull android.net.http.BidirectionalStream, @NonNull android.net.http.UrlResponseInfo); 577 method public void onWriteCompleted(@NonNull android.net.http.BidirectionalStream, @NonNull android.net.http.UrlResponseInfo, @NonNull java.nio.ByteBuffer, boolean); 578 } 579 580 public abstract class CallbackException extends android.net.http.HttpException { 581 ctor protected CallbackException(@Nullable String, @Nullable Throwable); 582 } 583 584 public class ConnectionMigrationOptions { 585 method public int getAllowNonDefaultNetworkUsage(); 586 method public int getDefaultNetworkMigration(); 587 method public int getPathDegradationMigration(); 588 field public static final int MIGRATION_OPTION_DISABLED = 2; // 0x2 589 field public static final int MIGRATION_OPTION_ENABLED = 1; // 0x1 590 field public static final int MIGRATION_OPTION_UNSPECIFIED = 0; // 0x0 591 } 592 593 public static final class ConnectionMigrationOptions.Builder { 594 ctor public ConnectionMigrationOptions.Builder(); 595 method @NonNull public android.net.http.ConnectionMigrationOptions build(); 596 method @NonNull public android.net.http.ConnectionMigrationOptions.Builder setAllowNonDefaultNetworkUsage(int); 597 method @NonNull public android.net.http.ConnectionMigrationOptions.Builder setDefaultNetworkMigration(int); 598 method @NonNull public android.net.http.ConnectionMigrationOptions.Builder setPathDegradationMigration(int); 599 } 600 601 public final class DnsOptions { 602 method public int getPersistHostCache(); 603 method @Nullable public java.time.Duration getPersistHostCachePeriod(); 604 method public int getPreestablishConnectionsToStaleDnsResults(); 605 method public int getStaleDns(); 606 method @Nullable public android.net.http.DnsOptions.StaleDnsOptions getStaleDnsOptions(); 607 method public int getUseHttpStackDnsResolver(); 608 field public static final int DNS_OPTION_DISABLED = 2; // 0x2 609 field public static final int DNS_OPTION_ENABLED = 1; // 0x1 610 field public static final int DNS_OPTION_UNSPECIFIED = 0; // 0x0 611 } 612 613 public static final class DnsOptions.Builder { 614 ctor public DnsOptions.Builder(); 615 method @NonNull public android.net.http.DnsOptions build(); 616 method @NonNull public android.net.http.DnsOptions.Builder setPersistHostCache(int); 617 method @NonNull public android.net.http.DnsOptions.Builder setPersistHostCachePeriod(@NonNull java.time.Duration); 618 method @NonNull public android.net.http.DnsOptions.Builder setPreestablishConnectionsToStaleDnsResults(int); 619 method @NonNull public android.net.http.DnsOptions.Builder setStaleDns(int); 620 method @NonNull public android.net.http.DnsOptions.Builder setStaleDnsOptions(@NonNull android.net.http.DnsOptions.StaleDnsOptions); 621 method @NonNull public android.net.http.DnsOptions.Builder setUseHttpStackDnsResolver(int); 622 } 623 624 public static class DnsOptions.StaleDnsOptions { 625 method public int getAllowCrossNetworkUsage(); 626 method @Nullable public java.time.Duration getFreshLookupTimeout(); 627 method @Nullable public java.time.Duration getMaxExpiredDelay(); 628 method public int getUseStaleOnNameNotResolved(); 629 } 630 631 public static final class DnsOptions.StaleDnsOptions.Builder { 632 ctor public DnsOptions.StaleDnsOptions.Builder(); 633 method @NonNull public android.net.http.DnsOptions.StaleDnsOptions build(); 634 method @NonNull public android.net.http.DnsOptions.StaleDnsOptions.Builder setAllowCrossNetworkUsage(int); 635 method @NonNull public android.net.http.DnsOptions.StaleDnsOptions.Builder setFreshLookupTimeout(@NonNull java.time.Duration); 636 method @NonNull public android.net.http.DnsOptions.StaleDnsOptions.Builder setMaxExpiredDelay(@NonNull java.time.Duration); 637 method @NonNull public android.net.http.DnsOptions.StaleDnsOptions.Builder setUseStaleOnNameNotResolved(int); 638 } 639 640 public abstract class HeaderBlock { 641 ctor public HeaderBlock(); 642 method @NonNull public abstract java.util.List<java.util.Map.Entry<java.lang.String,java.lang.String>> getAsList(); 643 method @NonNull public abstract java.util.Map<java.lang.String,java.util.List<java.lang.String>> getAsMap(); 644 } 645 646 public abstract class HttpEngine { 647 method public void bindToNetwork(@Nullable android.net.Network); 648 method @NonNull public abstract java.net.URLStreamHandlerFactory createUrlStreamHandlerFactory(); 649 method @NonNull public static String getVersionString(); 650 method @NonNull public abstract android.net.http.BidirectionalStream.Builder newBidirectionalStreamBuilder(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.http.BidirectionalStream.Callback); 651 method @NonNull public abstract android.net.http.UrlRequest.Builder newUrlRequestBuilder(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.http.UrlRequest.Callback); 652 method @NonNull public abstract java.net.URLConnection openConnection(@NonNull java.net.URL) throws java.io.IOException; 653 method public abstract void shutdown(); 654 } 655 656 public static class HttpEngine.Builder { 657 ctor public HttpEngine.Builder(@NonNull android.content.Context); 658 method @NonNull public android.net.http.HttpEngine.Builder addPublicKeyPins(@NonNull String, @NonNull java.util.Set<byte[]>, boolean, @NonNull java.time.Instant); 659 method @NonNull public android.net.http.HttpEngine.Builder addQuicHint(@NonNull String, int, int); 660 method @NonNull public android.net.http.HttpEngine build(); 661 method @NonNull public String getDefaultUserAgent(); 662 method @NonNull public android.net.http.HttpEngine.Builder setConnectionMigrationOptions(@NonNull android.net.http.ConnectionMigrationOptions); 663 method @NonNull public android.net.http.HttpEngine.Builder setDnsOptions(@NonNull android.net.http.DnsOptions); 664 method @NonNull public android.net.http.HttpEngine.Builder setEnableBrotli(boolean); 665 method @NonNull public android.net.http.HttpEngine.Builder setEnableHttp2(boolean); 666 method @NonNull public android.net.http.HttpEngine.Builder setEnableHttpCache(int, long); 667 method @NonNull public android.net.http.HttpEngine.Builder setEnablePublicKeyPinningBypassForLocalTrustAnchors(boolean); 668 method @NonNull public android.net.http.HttpEngine.Builder setEnableQuic(boolean); 669 method @NonNull public android.net.http.HttpEngine.Builder setQuicOptions(@NonNull android.net.http.QuicOptions); 670 method @NonNull public android.net.http.HttpEngine.Builder setStoragePath(@NonNull String); 671 method @NonNull public android.net.http.HttpEngine.Builder setUserAgent(@NonNull String); 672 field public static final int HTTP_CACHE_DISABLED = 0; // 0x0 673 field public static final int HTTP_CACHE_DISK = 3; // 0x3 674 field public static final int HTTP_CACHE_DISK_NO_HTTP = 2; // 0x2 675 field public static final int HTTP_CACHE_IN_MEMORY = 1; // 0x1 676 } 677 678 public class HttpException extends java.io.IOException { 679 ctor public HttpException(@Nullable String, @Nullable Throwable); 680 } 681 682 public final class InlineExecutionProhibitedException extends java.util.concurrent.RejectedExecutionException { 683 ctor public InlineExecutionProhibitedException(); 684 } 685 686 public abstract class NetworkException extends android.net.http.HttpException { 687 ctor public NetworkException(@Nullable String, @Nullable Throwable); 688 method public abstract int getErrorCode(); 689 method public abstract boolean isImmediatelyRetryable(); 690 field public static final int ERROR_ADDRESS_UNREACHABLE = 9; // 0x9 691 field public static final int ERROR_CONNECTION_CLOSED = 5; // 0x5 692 field public static final int ERROR_CONNECTION_REFUSED = 7; // 0x7 693 field public static final int ERROR_CONNECTION_RESET = 8; // 0x8 694 field public static final int ERROR_CONNECTION_TIMED_OUT = 6; // 0x6 695 field public static final int ERROR_HOSTNAME_NOT_RESOLVED = 1; // 0x1 696 field public static final int ERROR_INTERNET_DISCONNECTED = 2; // 0x2 697 field public static final int ERROR_NETWORK_CHANGED = 3; // 0x3 698 field public static final int ERROR_OTHER = 11; // 0xb 699 field public static final int ERROR_QUIC_PROTOCOL_FAILED = 10; // 0xa 700 field public static final int ERROR_TIMED_OUT = 4; // 0x4 701 } 702 703 public abstract class QuicException extends android.net.http.NetworkException { 704 ctor protected QuicException(@Nullable String, @Nullable Throwable); 705 } 706 707 public class QuicOptions { 708 method @NonNull public java.util.Set<java.lang.String> getAllowedQuicHosts(); 709 method @Nullable public String getHandshakeUserAgent(); 710 method @Nullable public java.time.Duration getIdleConnectionTimeout(); 711 method public int getInMemoryServerConfigsCacheSize(); 712 method public boolean hasInMemoryServerConfigsCacheSize(); 713 } 714 715 public static final class QuicOptions.Builder { 716 ctor public QuicOptions.Builder(); 717 method @NonNull public android.net.http.QuicOptions.Builder addAllowedQuicHost(@NonNull String); 718 method @NonNull public android.net.http.QuicOptions build(); 719 method @NonNull public android.net.http.QuicOptions.Builder setHandshakeUserAgent(@NonNull String); 720 method @NonNull public android.net.http.QuicOptions.Builder setIdleConnectionTimeout(@NonNull java.time.Duration); 721 method @NonNull public android.net.http.QuicOptions.Builder setInMemoryServerConfigsCacheSize(int); 722 } 723 724 public abstract class UploadDataProvider implements java.io.Closeable { 725 ctor public UploadDataProvider(); 726 method public void close() throws java.io.IOException; 727 method public abstract long getLength() throws java.io.IOException; 728 method public abstract void read(@NonNull android.net.http.UploadDataSink, @NonNull java.nio.ByteBuffer) throws java.io.IOException; 729 method public abstract void rewind(@NonNull android.net.http.UploadDataSink) throws java.io.IOException; 730 } 731 732 public abstract class UploadDataSink { 733 ctor public UploadDataSink(); 734 method public abstract void onReadError(@NonNull Exception); 735 method public abstract void onReadSucceeded(boolean); 736 method public abstract void onRewindError(@NonNull Exception); 737 method public abstract void onRewindSucceeded(); 738 } 739 740 public abstract class UrlRequest { 741 method public abstract void cancel(); 742 method public abstract void followRedirect(); 743 method @NonNull public abstract android.net.http.HeaderBlock getHeaders(); 744 method @Nullable public abstract String getHttpMethod(); 745 method public abstract int getPriority(); 746 method public abstract void getStatus(@NonNull android.net.http.UrlRequest.StatusListener); 747 method public abstract int getTrafficStatsTag(); 748 method public abstract int getTrafficStatsUid(); 749 method public abstract boolean hasTrafficStatsTag(); 750 method public abstract boolean hasTrafficStatsUid(); 751 method public abstract boolean isCacheDisabled(); 752 method public abstract boolean isDirectExecutorAllowed(); 753 method public abstract boolean isDone(); 754 method public abstract void read(@NonNull java.nio.ByteBuffer); 755 method public abstract void start(); 756 field public static final int REQUEST_PRIORITY_HIGHEST = 4; // 0x4 757 field public static final int REQUEST_PRIORITY_IDLE = 0; // 0x0 758 field public static final int REQUEST_PRIORITY_LOW = 2; // 0x2 759 field public static final int REQUEST_PRIORITY_LOWEST = 1; // 0x1 760 field public static final int REQUEST_PRIORITY_MEDIUM = 3; // 0x3 761 } 762 763 public abstract static class UrlRequest.Builder { 764 method @NonNull public abstract android.net.http.UrlRequest.Builder addHeader(@NonNull String, @NonNull String); 765 method @NonNull public abstract android.net.http.UrlRequest.Builder bindToNetwork(@Nullable android.net.Network); 766 method @NonNull public abstract android.net.http.UrlRequest build(); 767 method @NonNull public abstract android.net.http.UrlRequest.Builder setCacheDisabled(boolean); 768 method @NonNull public abstract android.net.http.UrlRequest.Builder setDirectExecutorAllowed(boolean); 769 method @NonNull public abstract android.net.http.UrlRequest.Builder setHttpMethod(@NonNull String); 770 method @NonNull public abstract android.net.http.UrlRequest.Builder setPriority(int); 771 method @NonNull public abstract android.net.http.UrlRequest.Builder setTrafficStatsTag(int); 772 method @NonNull public abstract android.net.http.UrlRequest.Builder setTrafficStatsUid(int); 773 method @NonNull public abstract android.net.http.UrlRequest.Builder setUploadDataProvider(@NonNull android.net.http.UploadDataProvider, @NonNull java.util.concurrent.Executor); 774 } 775 776 public static interface UrlRequest.Callback { 777 method public void onCanceled(@NonNull android.net.http.UrlRequest, @Nullable android.net.http.UrlResponseInfo); 778 method public void onFailed(@NonNull android.net.http.UrlRequest, @Nullable android.net.http.UrlResponseInfo, @NonNull android.net.http.HttpException); 779 method public void onReadCompleted(@NonNull android.net.http.UrlRequest, @NonNull android.net.http.UrlResponseInfo, @NonNull java.nio.ByteBuffer) throws java.lang.Exception; 780 method public void onRedirectReceived(@NonNull android.net.http.UrlRequest, @NonNull android.net.http.UrlResponseInfo, @NonNull String) throws java.lang.Exception; 781 method public void onResponseStarted(@NonNull android.net.http.UrlRequest, @NonNull android.net.http.UrlResponseInfo) throws java.lang.Exception; 782 method public void onSucceeded(@NonNull android.net.http.UrlRequest, @NonNull android.net.http.UrlResponseInfo); 783 } 784 785 public static class UrlRequest.Status { 786 field public static final int CONNECTING = 10; // 0xa 787 field public static final int DOWNLOADING_PAC_FILE = 5; // 0x5 788 field public static final int ESTABLISHING_PROXY_TUNNEL = 8; // 0x8 789 field public static final int IDLE = 0; // 0x0 790 field public static final int INVALID = -1; // 0xffffffff 791 field public static final int READING_RESPONSE = 14; // 0xe 792 field public static final int RESOLVING_HOST = 9; // 0x9 793 field public static final int RESOLVING_HOST_IN_PAC_FILE = 7; // 0x7 794 field public static final int RESOLVING_PROXY_FOR_URL = 6; // 0x6 795 field public static final int SENDING_REQUEST = 12; // 0xc 796 field public static final int SSL_HANDSHAKE = 11; // 0xb 797 field public static final int WAITING_FOR_AVAILABLE_SOCKET = 2; // 0x2 798 field public static final int WAITING_FOR_CACHE = 4; // 0x4 799 field public static final int WAITING_FOR_DELEGATE = 3; // 0x3 800 field public static final int WAITING_FOR_RESPONSE = 13; // 0xd 801 field public static final int WAITING_FOR_STALLED_SOCKET_POOL = 1; // 0x1 802 } 803 804 public static interface UrlRequest.StatusListener { 805 method public void onStatus(int); 806 } 807 808 public abstract class UrlResponseInfo { 809 ctor public UrlResponseInfo(); 810 method @NonNull public abstract android.net.http.HeaderBlock getHeaders(); 811 method public abstract int getHttpStatusCode(); 812 method @NonNull public abstract String getHttpStatusText(); 813 method @NonNull public abstract String getNegotiatedProtocol(); 814 method public abstract long getReceivedByteCount(); 815 method @NonNull public abstract String getUrl(); 816 method @NonNull public abstract java.util.List<java.lang.String> getUrlChain(); 817 method public abstract boolean wasCached(); 818 } 819 820} 821 822