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