1// Signature format: 2.0 2package android.net { 3 4 public class CaptivePortal implements android.os.Parcelable { 5 method public void logEvent(int, @NonNull String); 6 method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void reevaluateNetwork(); 7 method public void useNetwork(); 8 field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64 9 field public static final int APP_RETURN_DISMISSED = 0; // 0x0 10 field public static final int APP_RETURN_UNWANTED = 1; // 0x1 11 field public static final int APP_RETURN_WANTED_AS_IS = 2; // 0x2 12 } 13 14 public final class CaptivePortalData implements android.os.Parcelable { 15 method public int describeContents(); 16 method public long getByteLimit(); 17 method public long getExpiryTimeMillis(); 18 method public long getRefreshTimeMillis(); 19 method @Nullable public android.net.Uri getUserPortalUrl(); 20 method @Nullable public android.net.Uri getVenueInfoUrl(); 21 method public boolean isCaptive(); 22 method public boolean isSessionExtendable(); 23 method public void writeToParcel(@NonNull android.os.Parcel, int); 24 field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortalData> CREATOR; 25 } 26 27 public static class CaptivePortalData.Builder { 28 ctor public CaptivePortalData.Builder(); 29 ctor public CaptivePortalData.Builder(@Nullable android.net.CaptivePortalData); 30 method @NonNull public android.net.CaptivePortalData build(); 31 method @NonNull public android.net.CaptivePortalData.Builder setBytesRemaining(long); 32 method @NonNull public android.net.CaptivePortalData.Builder setCaptive(boolean); 33 method @NonNull public android.net.CaptivePortalData.Builder setExpiryTime(long); 34 method @NonNull public android.net.CaptivePortalData.Builder setRefreshTime(long); 35 method @NonNull public android.net.CaptivePortalData.Builder setSessionExtendable(boolean); 36 method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri); 37 method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri); 38 } 39 40 public class ConnectivityManager { 41 method @NonNull @RequiresPermission(android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD) public android.net.SocketKeepalive createNattKeepalive(@NonNull android.net.Network, @NonNull android.os.ParcelFileDescriptor, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback); 42 method @NonNull @RequiresPermission(android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD) public android.net.SocketKeepalive createSocketKeepalive(@NonNull android.net.Network, @NonNull java.net.Socket, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback); 43 method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCaptivePortalServerUrl(); 44 method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void getLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEntitlementResultListener); 45 method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public boolean isTetheringSupported(); 46 method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public int registerNetworkProvider(@NonNull android.net.NetworkProvider); 47 method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback); 48 method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void requestNetwork(@NonNull android.net.NetworkRequest, int, int, @NonNull android.os.Handler, @NonNull android.net.ConnectivityManager.NetworkCallback); 49 method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_AIRPLANE_MODE, android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void setAirplaneMode(boolean); 50 method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public boolean shouldAvoidBadWifi(); 51 method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void startCaptivePortalApp(@NonNull android.net.Network, @NonNull android.os.Bundle); 52 method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback); 53 method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler); 54 method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopTethering(int); 55 method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public void unregisterNetworkProvider(@NonNull android.net.NetworkProvider); 56 method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void unregisterTetheringEventCallback(@NonNull android.net.ConnectivityManager.OnTetheringEventCallback); 57 field public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC"; 58 field public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT"; 59 field public static final int TETHERING_BLUETOOTH = 2; // 0x2 60 field public static final int TETHERING_USB = 1; // 0x1 61 field public static final int TETHERING_WIFI = 0; // 0x0 62 field @Deprecated public static final int TETHER_ERROR_ENTITLEMENT_UNKONWN = 13; // 0xd 63 field @Deprecated public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0 64 field @Deprecated public static final int TETHER_ERROR_PROVISION_FAILED = 11; // 0xb 65 field public static final int TYPE_NONE = -1; // 0xffffffff 66 field @Deprecated public static final int TYPE_WIFI_P2P = 13; // 0xd 67 } 68 69 @Deprecated public abstract static class ConnectivityManager.OnStartTetheringCallback { 70 ctor @Deprecated public ConnectivityManager.OnStartTetheringCallback(); 71 method @Deprecated public void onTetheringFailed(); 72 method @Deprecated public void onTetheringStarted(); 73 } 74 75 @Deprecated public static interface ConnectivityManager.OnTetheringEntitlementResultListener { 76 method @Deprecated public void onTetheringEntitlementResult(int); 77 } 78 79 @Deprecated public abstract static class ConnectivityManager.OnTetheringEventCallback { 80 ctor @Deprecated public ConnectivityManager.OnTetheringEventCallback(); 81 method @Deprecated public void onUpstreamChanged(@Nullable android.net.Network); 82 } 83 84 public final class InvalidPacketException extends java.lang.Exception { 85 ctor public InvalidPacketException(int); 86 method public int getError(); 87 field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb 88 field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9 89 field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea 90 } 91 92 public final class IpConfiguration implements android.os.Parcelable { 93 ctor public IpConfiguration(); 94 ctor public IpConfiguration(@NonNull android.net.IpConfiguration); 95 method public int describeContents(); 96 method @Nullable public android.net.ProxyInfo getHttpProxy(); 97 method @NonNull public android.net.IpConfiguration.IpAssignment getIpAssignment(); 98 method @NonNull public android.net.IpConfiguration.ProxySettings getProxySettings(); 99 method @Nullable public android.net.StaticIpConfiguration getStaticIpConfiguration(); 100 method public void setHttpProxy(@Nullable android.net.ProxyInfo); 101 method public void setIpAssignment(@NonNull android.net.IpConfiguration.IpAssignment); 102 method public void setProxySettings(@NonNull android.net.IpConfiguration.ProxySettings); 103 method public void setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration); 104 method public void writeToParcel(@NonNull android.os.Parcel, int); 105 field @NonNull public static final android.os.Parcelable.Creator<android.net.IpConfiguration> CREATOR; 106 } 107 108 public enum IpConfiguration.IpAssignment { 109 enum_constant public static final android.net.IpConfiguration.IpAssignment DHCP; 110 enum_constant public static final android.net.IpConfiguration.IpAssignment STATIC; 111 enum_constant public static final android.net.IpConfiguration.IpAssignment UNASSIGNED; 112 } 113 114 public enum IpConfiguration.ProxySettings { 115 enum_constant public static final android.net.IpConfiguration.ProxySettings NONE; 116 enum_constant public static final android.net.IpConfiguration.ProxySettings PAC; 117 enum_constant public static final android.net.IpConfiguration.ProxySettings STATIC; 118 enum_constant public static final android.net.IpConfiguration.ProxySettings UNASSIGNED; 119 } 120 121 public final class IpPrefix implements android.os.Parcelable { 122 ctor public IpPrefix(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int); 123 ctor public IpPrefix(@NonNull String); 124 } 125 126 public class KeepalivePacketData { 127 ctor protected KeepalivePacketData(@NonNull java.net.InetAddress, @IntRange(from=0, to=65535) int, @NonNull java.net.InetAddress, @IntRange(from=0, to=65535) int, @NonNull byte[]) throws android.net.InvalidPacketException; 128 method @NonNull public java.net.InetAddress getDstAddress(); 129 method public int getDstPort(); 130 method @NonNull public byte[] getPacket(); 131 method @NonNull public java.net.InetAddress getSrcAddress(); 132 method public int getSrcPort(); 133 } 134 135 public class LinkAddress implements android.os.Parcelable { 136 ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int); 137 ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int, long, long); 138 ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int); 139 ctor public LinkAddress(@NonNull String); 140 ctor public LinkAddress(@NonNull String, int, int); 141 method public long getDeprecationTime(); 142 method public long getExpirationTime(); 143 method public boolean isGlobalPreferred(); 144 method public boolean isIpv4(); 145 method public boolean isIpv6(); 146 method public boolean isSameAddressAs(@Nullable android.net.LinkAddress); 147 field public static final long LIFETIME_PERMANENT = 9223372036854775807L; // 0x7fffffffffffffffL 148 field public static final long LIFETIME_UNKNOWN = -1L; // 0xffffffffffffffffL 149 } 150 151 public final class LinkProperties implements android.os.Parcelable { 152 ctor public LinkProperties(@Nullable android.net.LinkProperties); 153 ctor public LinkProperties(@Nullable android.net.LinkProperties, boolean); 154 method public boolean addDnsServer(@NonNull java.net.InetAddress); 155 method public boolean addLinkAddress(@NonNull android.net.LinkAddress); 156 method public boolean addPcscfServer(@NonNull java.net.InetAddress); 157 method @NonNull public java.util.List<java.net.InetAddress> getAddresses(); 158 method @NonNull public java.util.List<java.lang.String> getAllInterfaceNames(); 159 method @NonNull public java.util.List<android.net.LinkAddress> getAllLinkAddresses(); 160 method @NonNull public java.util.List<android.net.RouteInfo> getAllRoutes(); 161 method @Nullable public android.net.Uri getCaptivePortalApiUrl(); 162 method @Nullable public android.net.CaptivePortalData getCaptivePortalData(); 163 method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers(); 164 method @Nullable public String getTcpBufferSizes(); 165 method @NonNull public java.util.List<java.net.InetAddress> getValidatedPrivateDnsServers(); 166 method public boolean hasGlobalIpv6Address(); 167 method public boolean hasIpv4Address(); 168 method public boolean hasIpv4DefaultRoute(); 169 method public boolean hasIpv4DnsServer(); 170 method public boolean hasIpv6DefaultRoute(); 171 method public boolean hasIpv6DnsServer(); 172 method public boolean isIpv4Provisioned(); 173 method public boolean isIpv6Provisioned(); 174 method public boolean isProvisioned(); 175 method public boolean isReachable(@NonNull java.net.InetAddress); 176 method public boolean removeDnsServer(@NonNull java.net.InetAddress); 177 method public boolean removeLinkAddress(@NonNull android.net.LinkAddress); 178 method public boolean removeRoute(@NonNull android.net.RouteInfo); 179 method public void setCaptivePortalApiUrl(@Nullable android.net.Uri); 180 method public void setCaptivePortalData(@Nullable android.net.CaptivePortalData); 181 method public void setPcscfServers(@NonNull java.util.Collection<java.net.InetAddress>); 182 method public void setPrivateDnsServerName(@Nullable String); 183 method public void setTcpBufferSizes(@Nullable String); 184 method public void setUsePrivateDns(boolean); 185 method public void setValidatedPrivateDnsServers(@NonNull java.util.Collection<java.net.InetAddress>); 186 } 187 188 public final class NattKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable { 189 ctor public NattKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[]) throws android.net.InvalidPacketException; 190 method public int describeContents(); 191 method public void writeToParcel(@NonNull android.os.Parcel, int); 192 field @NonNull public static final android.os.Parcelable.Creator<android.net.NattKeepalivePacketData> CREATOR; 193 } 194 195 public class Network implements android.os.Parcelable { 196 ctor public Network(@NonNull android.net.Network); 197 method public int getNetId(); 198 method @NonNull public android.net.Network getPrivateDnsBypassingCopy(); 199 } 200 201 public abstract class NetworkAgent { 202 ctor public NetworkAgent(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, int, @NonNull android.net.NetworkAgentConfig, @Nullable android.net.NetworkProvider); 203 method @Nullable public android.net.Network getNetwork(); 204 method public void markConnected(); 205 method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData); 206 method public void onAutomaticReconnectDisabled(); 207 method public void onNetworkUnwanted(); 208 method public void onRemoveKeepalivePacketFilter(int); 209 method public void onSaveAcceptUnvalidated(boolean); 210 method public void onSignalStrengthThresholdsUpdated(@NonNull int[]); 211 method public void onStartSocketKeepalive(int, @NonNull java.time.Duration, @NonNull android.net.KeepalivePacketData); 212 method public void onStopSocketKeepalive(int); 213 method public void onValidationStatus(int, @Nullable android.net.Uri); 214 method @NonNull public android.net.Network register(); 215 method public final void sendLinkProperties(@NonNull android.net.LinkProperties); 216 method public final void sendNetworkCapabilities(@NonNull android.net.NetworkCapabilities); 217 method public final void sendNetworkScore(@IntRange(from=0, to=99) int); 218 method public final void sendSocketKeepaliveEvent(int, int); 219 method public void unregister(); 220 field public static final int VALIDATION_STATUS_NOT_VALID = 2; // 0x2 221 field public static final int VALIDATION_STATUS_VALID = 1; // 0x1 222 } 223 224 public final class NetworkAgentConfig implements android.os.Parcelable { 225 method public int describeContents(); 226 method public int getLegacyType(); 227 method @NonNull public String getLegacyTypeName(); 228 method public boolean isExplicitlySelected(); 229 method public boolean isPartialConnectivityAcceptable(); 230 method public boolean isUnvalidatedConnectivityAcceptable(); 231 method public void writeToParcel(@NonNull android.os.Parcel, int); 232 field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkAgentConfig> CREATOR; 233 } 234 235 public static final class NetworkAgentConfig.Builder { 236 ctor public NetworkAgentConfig.Builder(); 237 method @NonNull public android.net.NetworkAgentConfig build(); 238 method @NonNull public android.net.NetworkAgentConfig.Builder setExplicitlySelected(boolean); 239 method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyType(int); 240 method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyTypeName(@NonNull String); 241 method @NonNull public android.net.NetworkAgentConfig.Builder setPartialConnectivityAcceptable(boolean); 242 method @NonNull public android.net.NetworkAgentConfig.Builder setUnvalidatedConnectivityAcceptable(boolean); 243 } 244 245 public final class NetworkCapabilities implements android.os.Parcelable { 246 method @NonNull public int[] getAdministratorUids(); 247 method @Nullable public String getSsid(); 248 method @NonNull public int[] getTransportTypes(); 249 method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities); 250 field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16 251 field public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24; // 0x18 252 } 253 254 public static final class NetworkCapabilities.Builder { 255 ctor public NetworkCapabilities.Builder(); 256 ctor public NetworkCapabilities.Builder(@NonNull android.net.NetworkCapabilities); 257 method @NonNull public android.net.NetworkCapabilities.Builder addCapability(int); 258 method @NonNull public android.net.NetworkCapabilities.Builder addTransportType(int); 259 method @NonNull public android.net.NetworkCapabilities build(); 260 method @NonNull public android.net.NetworkCapabilities.Builder removeCapability(int); 261 method @NonNull public android.net.NetworkCapabilities.Builder removeTransportType(int); 262 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAdministratorUids(@NonNull int[]); 263 method @NonNull public android.net.NetworkCapabilities.Builder setLinkDownstreamBandwidthKbps(int); 264 method @NonNull public android.net.NetworkCapabilities.Builder setLinkUpstreamBandwidthKbps(int); 265 method @NonNull public android.net.NetworkCapabilities.Builder setNetworkSpecifier(@Nullable android.net.NetworkSpecifier); 266 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setOwnerUid(int); 267 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorPackageName(@Nullable String); 268 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorUid(int); 269 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkCapabilities.Builder setSignalStrength(int); 270 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setSsid(@Nullable String); 271 method @NonNull public android.net.NetworkCapabilities.Builder setTransportInfo(@Nullable android.net.TransportInfo); 272 } 273 274 public class NetworkProvider { 275 ctor public NetworkProvider(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String); 276 method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void declareNetworkRequestUnfulfillable(@NonNull android.net.NetworkRequest); 277 method public int getProviderId(); 278 method public void onNetworkRequestWithdrawn(@NonNull android.net.NetworkRequest); 279 method public void onNetworkRequested(@NonNull android.net.NetworkRequest, @IntRange(from=0, to=99) int, int); 280 field public static final int ID_NONE = -1; // 0xffffffff 281 } 282 283 public class NetworkRequest implements android.os.Parcelable { 284 method @Nullable public String getRequestorPackageName(); 285 method public int getRequestorUid(); 286 } 287 288 public static class NetworkRequest.Builder { 289 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkRequest.Builder setSignalStrength(int); 290 } 291 292 public final class RouteInfo implements android.os.Parcelable { 293 ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int); 294 ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int, int); 295 method public int getMtu(); 296 method public int getType(); 297 field public static final int RTN_THROW = 9; // 0x9 298 field public static final int RTN_UNICAST = 1; // 0x1 299 field public static final int RTN_UNREACHABLE = 7; // 0x7 300 } 301 302 public abstract class SocketKeepalive implements java.lang.AutoCloseable { 303 field public static final int SUCCESS = 0; // 0x0 304 } 305 306 public final class StaticIpConfiguration implements android.os.Parcelable { 307 ctor public StaticIpConfiguration(); 308 ctor public StaticIpConfiguration(@Nullable android.net.StaticIpConfiguration); 309 method public void addDnsServer(@NonNull java.net.InetAddress); 310 method public void clear(); 311 method public int describeContents(); 312 method @NonNull public java.util.List<java.net.InetAddress> getDnsServers(); 313 method @Nullable public String getDomains(); 314 method @Nullable public java.net.InetAddress getGateway(); 315 method @Nullable public android.net.LinkAddress getIpAddress(); 316 method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(@Nullable String); 317 method public void writeToParcel(android.os.Parcel, int); 318 field @NonNull public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR; 319 } 320 321 public static final class StaticIpConfiguration.Builder { 322 ctor public StaticIpConfiguration.Builder(); 323 method @NonNull public android.net.StaticIpConfiguration build(); 324 method @NonNull public android.net.StaticIpConfiguration.Builder setDnsServers(@NonNull Iterable<java.net.InetAddress>); 325 method @NonNull public android.net.StaticIpConfiguration.Builder setDomains(@Nullable String); 326 method @NonNull public android.net.StaticIpConfiguration.Builder setGateway(@Nullable java.net.InetAddress); 327 method @NonNull public android.net.StaticIpConfiguration.Builder setIpAddress(@Nullable android.net.LinkAddress); 328 } 329 330} 331 332package android.net.apf { 333 334 public final class ApfCapabilities implements android.os.Parcelable { 335 ctor public ApfCapabilities(int, int, int); 336 method public int describeContents(); 337 method public static boolean getApfDrop8023Frames(); 338 method @NonNull public static int[] getApfEtherTypeBlackList(); 339 method public boolean hasDataAccess(); 340 method public void writeToParcel(android.os.Parcel, int); 341 field public static final android.os.Parcelable.Creator<android.net.apf.ApfCapabilities> CREATOR; 342 field public final int apfPacketFormat; 343 field public final int apfVersionSupported; 344 field public final int maximumApfProgramSize; 345 } 346 347} 348 349