blob: 4a2ed8a2a87e58e366fa76570aff61ccd39f1867 [file] [log] [blame]
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +00001// Signature format: 2.0
2package android.net {
3
4 public class CaptivePortal implements android.os.Parcelable {
5 method @Deprecated 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 public int getUserPortalUrlSource();
21 method @Nullable public CharSequence getVenueFriendlyName();
22 method @Nullable public android.net.Uri getVenueInfoUrl();
23 method public int getVenueInfoUrlSource();
24 method public boolean isCaptive();
25 method public boolean isSessionExtendable();
26 method public void writeToParcel(@NonNull android.os.Parcel, int);
27 field public static final int CAPTIVE_PORTAL_DATA_SOURCE_OTHER = 0; // 0x0
28 field public static final int CAPTIVE_PORTAL_DATA_SOURCE_PASSPOINT = 1; // 0x1
29 field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortalData> CREATOR;
30 }
31
32 public static class CaptivePortalData.Builder {
33 ctor public CaptivePortalData.Builder();
34 ctor public CaptivePortalData.Builder(@Nullable android.net.CaptivePortalData);
35 method @NonNull public android.net.CaptivePortalData build();
36 method @NonNull public android.net.CaptivePortalData.Builder setBytesRemaining(long);
37 method @NonNull public android.net.CaptivePortalData.Builder setCaptive(boolean);
38 method @NonNull public android.net.CaptivePortalData.Builder setExpiryTime(long);
39 method @NonNull public android.net.CaptivePortalData.Builder setRefreshTime(long);
40 method @NonNull public android.net.CaptivePortalData.Builder setSessionExtendable(boolean);
41 method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri);
42 method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri, int);
43 method @NonNull public android.net.CaptivePortalData.Builder setVenueFriendlyName(@Nullable CharSequence);
44 method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri);
45 method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri, int);
46 }
47
48 public class ConnectivityManager {
49 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);
50 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);
51 method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCaptivePortalServerUrl();
52 method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void getLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEntitlementResultListener);
53 method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public boolean isTetheringSupported();
54 method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public int registerNetworkProvider(@NonNull android.net.NetworkProvider);
55 method public void registerQosCallback(@NonNull android.net.QosSocketInfo, @NonNull java.util.concurrent.Executor, @NonNull android.net.QosCallback);
56 method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
57 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);
58 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);
59 method @RequiresPermission(android.Manifest.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE) public void setOemNetworkPreference(@NonNull android.net.OemNetworkPreferences, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
60 method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public boolean shouldAvoidBadWifi();
61 method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void startCaptivePortalApp(@NonNull android.net.Network, @NonNull android.os.Bundle);
62 method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback);
63 method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler);
64 method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopTethering(int);
65 method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public void unregisterNetworkProvider(@NonNull android.net.NetworkProvider);
66 method public void unregisterQosCallback(@NonNull android.net.QosCallback);
67 method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void unregisterTetheringEventCallback(@NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
68 field public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC";
69 field public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT";
70 field public static final int TETHERING_BLUETOOTH = 2; // 0x2
71 field public static final int TETHERING_USB = 1; // 0x1
72 field public static final int TETHERING_WIFI = 0; // 0x0
73 field @Deprecated public static final int TETHER_ERROR_ENTITLEMENT_UNKONWN = 13; // 0xd
74 field @Deprecated public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
75 field @Deprecated public static final int TETHER_ERROR_PROVISION_FAILED = 11; // 0xb
76 field public static final int TYPE_NONE = -1; // 0xffffffff
77 field @Deprecated public static final int TYPE_PROXY = 16; // 0x10
78 field @Deprecated public static final int TYPE_WIFI_P2P = 13; // 0xd
79 }
80
81 @Deprecated public abstract static class ConnectivityManager.OnStartTetheringCallback {
82 ctor @Deprecated public ConnectivityManager.OnStartTetheringCallback();
83 method @Deprecated public void onTetheringFailed();
84 method @Deprecated public void onTetheringStarted();
85 }
86
87 @Deprecated public static interface ConnectivityManager.OnTetheringEntitlementResultListener {
88 method @Deprecated public void onTetheringEntitlementResult(int);
89 }
90
91 @Deprecated public abstract static class ConnectivityManager.OnTetheringEventCallback {
92 ctor @Deprecated public ConnectivityManager.OnTetheringEventCallback();
93 method @Deprecated public void onUpstreamChanged(@Nullable android.net.Network);
94 }
95
satayevea2ffac2022-05-13 15:12:50 +000096 public final class DscpPolicy implements android.os.Parcelable {
97 method @Nullable public java.net.InetAddress getDestinationAddress();
98 method @Nullable public android.util.Range<java.lang.Integer> getDestinationPortRange();
99 method public int getDscpValue();
100 method public int getPolicyId();
101 method public int getProtocol();
102 method @Nullable public java.net.InetAddress getSourceAddress();
103 method public int getSourcePort();
104 field @NonNull public static final android.os.Parcelable.Creator<android.net.DscpPolicy> CREATOR;
105 field public static final int PROTOCOL_ANY = -1; // 0xffffffff
106 field public static final int SOURCE_PORT_ANY = -1; // 0xffffffff
107 }
108
109 public static final class DscpPolicy.Builder {
110 ctor public DscpPolicy.Builder(int, int);
111 method @NonNull public android.net.DscpPolicy build();
112 method @NonNull public android.net.DscpPolicy.Builder setDestinationAddress(@NonNull java.net.InetAddress);
113 method @NonNull public android.net.DscpPolicy.Builder setDestinationPortRange(@NonNull android.util.Range<java.lang.Integer>);
114 method @NonNull public android.net.DscpPolicy.Builder setProtocol(int);
115 method @NonNull public android.net.DscpPolicy.Builder setSourceAddress(@NonNull java.net.InetAddress);
116 method @NonNull public android.net.DscpPolicy.Builder setSourcePort(int);
117 }
118
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000119 public final class InvalidPacketException extends java.lang.Exception {
120 ctor public InvalidPacketException(int);
121 method public int getError();
122 field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb
123 field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9
124 field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea
125 }
126
127 public final class IpConfiguration implements android.os.Parcelable {
128 ctor public IpConfiguration();
129 ctor public IpConfiguration(@NonNull android.net.IpConfiguration);
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000130 method @NonNull public android.net.IpConfiguration.IpAssignment getIpAssignment();
131 method @NonNull public android.net.IpConfiguration.ProxySettings getProxySettings();
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000132 method public void setHttpProxy(@Nullable android.net.ProxyInfo);
133 method public void setIpAssignment(@NonNull android.net.IpConfiguration.IpAssignment);
134 method public void setProxySettings(@NonNull android.net.IpConfiguration.ProxySettings);
135 method public void setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000136 }
137
138 public enum IpConfiguration.IpAssignment {
139 enum_constant public static final android.net.IpConfiguration.IpAssignment DHCP;
140 enum_constant public static final android.net.IpConfiguration.IpAssignment STATIC;
141 enum_constant public static final android.net.IpConfiguration.IpAssignment UNASSIGNED;
142 }
143
144 public enum IpConfiguration.ProxySettings {
145 enum_constant public static final android.net.IpConfiguration.ProxySettings NONE;
146 enum_constant public static final android.net.IpConfiguration.ProxySettings PAC;
147 enum_constant public static final android.net.IpConfiguration.ProxySettings STATIC;
148 enum_constant public static final android.net.IpConfiguration.ProxySettings UNASSIGNED;
149 }
150
151 public final class IpPrefix implements android.os.Parcelable {
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000152 ctor public IpPrefix(@NonNull String);
153 }
154
155 public class KeepalivePacketData {
156 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;
157 method @NonNull public java.net.InetAddress getDstAddress();
158 method public int getDstPort();
159 method @NonNull public byte[] getPacket();
160 method @NonNull public java.net.InetAddress getSrcAddress();
161 method public int getSrcPort();
162 }
163
164 public class LinkAddress implements android.os.Parcelable {
165 ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int);
166 ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int, long, long);
167 ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
168 ctor public LinkAddress(@NonNull String);
169 ctor public LinkAddress(@NonNull String, int, int);
170 method public long getDeprecationTime();
171 method public long getExpirationTime();
172 method public boolean isGlobalPreferred();
173 method public boolean isIpv4();
174 method public boolean isIpv6();
175 method public boolean isSameAddressAs(@Nullable android.net.LinkAddress);
176 field public static final long LIFETIME_PERMANENT = 9223372036854775807L; // 0x7fffffffffffffffL
177 field public static final long LIFETIME_UNKNOWN = -1L; // 0xffffffffffffffffL
178 }
179
180 public final class LinkProperties implements android.os.Parcelable {
181 ctor public LinkProperties(@Nullable android.net.LinkProperties);
182 ctor public LinkProperties(@Nullable android.net.LinkProperties, boolean);
183 method public boolean addDnsServer(@NonNull java.net.InetAddress);
184 method public boolean addLinkAddress(@NonNull android.net.LinkAddress);
185 method public boolean addPcscfServer(@NonNull java.net.InetAddress);
186 method @NonNull public java.util.List<java.net.InetAddress> getAddresses();
187 method @NonNull public java.util.List<java.lang.String> getAllInterfaceNames();
188 method @NonNull public java.util.List<android.net.LinkAddress> getAllLinkAddresses();
189 method @NonNull public java.util.List<android.net.RouteInfo> getAllRoutes();
190 method @Nullable public android.net.Uri getCaptivePortalApiUrl();
191 method @Nullable public android.net.CaptivePortalData getCaptivePortalData();
192 method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
193 method @Nullable public String getTcpBufferSizes();
194 method @NonNull public java.util.List<java.net.InetAddress> getValidatedPrivateDnsServers();
195 method public boolean hasGlobalIpv6Address();
196 method public boolean hasIpv4Address();
197 method public boolean hasIpv4DefaultRoute();
198 method public boolean hasIpv4DnsServer();
199 method public boolean hasIpv6DefaultRoute();
200 method public boolean hasIpv6DnsServer();
201 method public boolean isIpv4Provisioned();
202 method public boolean isIpv6Provisioned();
203 method public boolean isProvisioned();
204 method public boolean isReachable(@NonNull java.net.InetAddress);
205 method public boolean removeDnsServer(@NonNull java.net.InetAddress);
206 method public boolean removeLinkAddress(@NonNull android.net.LinkAddress);
207 method public boolean removeRoute(@NonNull android.net.RouteInfo);
208 method public void setCaptivePortalApiUrl(@Nullable android.net.Uri);
209 method public void setCaptivePortalData(@Nullable android.net.CaptivePortalData);
210 method public void setPcscfServers(@NonNull java.util.Collection<java.net.InetAddress>);
211 method public void setPrivateDnsServerName(@Nullable String);
212 method public void setTcpBufferSizes(@Nullable String);
213 method public void setUsePrivateDns(boolean);
214 method public void setValidatedPrivateDnsServers(@NonNull java.util.Collection<java.net.InetAddress>);
215 }
216
217 public final class NattKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
218 ctor public NattKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[]) throws android.net.InvalidPacketException;
219 method public int describeContents();
220 method public void writeToParcel(@NonNull android.os.Parcel, int);
221 field @NonNull public static final android.os.Parcelable.Creator<android.net.NattKeepalivePacketData> CREATOR;
222 }
223
224 public class Network implements android.os.Parcelable {
225 ctor public Network(@NonNull android.net.Network);
226 method public int getNetId();
227 method @NonNull public android.net.Network getPrivateDnsBypassingCopy();
228 }
229
230 public abstract class NetworkAgent {
231 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);
232 ctor public NetworkAgent(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, @NonNull android.net.NetworkScore, @NonNull android.net.NetworkAgentConfig, @Nullable android.net.NetworkProvider);
233 method @Nullable public android.net.Network getNetwork();
234 method public void markConnected();
235 method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData);
236 method public void onAutomaticReconnectDisabled();
237 method public void onBandwidthUpdateRequested();
satayevea2ffac2022-05-13 15:12:50 +0000238 method public void onDscpPolicyStatusUpdated(int, int);
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000239 method public void onNetworkCreated();
240 method public void onNetworkDestroyed();
241 method public void onNetworkUnwanted();
242 method public void onQosCallbackRegistered(int, @NonNull android.net.QosFilter);
243 method public void onQosCallbackUnregistered(int);
244 method public void onRemoveKeepalivePacketFilter(int);
245 method public void onSaveAcceptUnvalidated(boolean);
246 method public void onSignalStrengthThresholdsUpdated(@NonNull int[]);
247 method public void onStartSocketKeepalive(int, @NonNull java.time.Duration, @NonNull android.net.KeepalivePacketData);
248 method public void onStopSocketKeepalive(int);
249 method public void onValidationStatus(int, @Nullable android.net.Uri);
250 method @NonNull public android.net.Network register();
satayevea2ffac2022-05-13 15:12:50 +0000251 method public void sendAddDscpPolicy(@NonNull android.net.DscpPolicy);
Artur Satayevf255a212022-08-24 09:23:20 +0000252 method public void sendLinkProperties(@NonNull android.net.LinkProperties);
253 method public void sendNetworkCapabilities(@NonNull android.net.NetworkCapabilities);
254 method public void sendNetworkScore(@NonNull android.net.NetworkScore);
255 method public void sendNetworkScore(@IntRange(from=0, to=99) int);
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000256 method public final void sendQosCallbackError(int, int);
257 method public final void sendQosSessionAvailable(int, int, @NonNull android.net.QosSessionAttributes);
258 method public final void sendQosSessionLost(int, int, int);
satayevea2ffac2022-05-13 15:12:50 +0000259 method public void sendRemoveAllDscpPolicies();
260 method public void sendRemoveDscpPolicy(int);
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000261 method public final void sendSocketKeepaliveEvent(int, int);
262 method @Deprecated public void setLegacySubtype(int, @NonNull String);
263 method public void setLingerDuration(@NonNull java.time.Duration);
264 method public void setTeardownDelayMillis(@IntRange(from=0, to=0x1388) int);
Artur Satayevf255a212022-08-24 09:23:20 +0000265 method public void setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>);
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000266 method public void unregister();
satayevea2ffac2022-05-13 15:12:50 +0000267 method public void unregisterAfterReplacement(@IntRange(from=0, to=0x1388) int);
268 field public static final int DSCP_POLICY_STATUS_DELETED = 4; // 0x4
269 field public static final int DSCP_POLICY_STATUS_INSUFFICIENT_PROCESSING_RESOURCES = 3; // 0x3
270 field public static final int DSCP_POLICY_STATUS_POLICY_NOT_FOUND = 5; // 0x5
271 field public static final int DSCP_POLICY_STATUS_REQUESTED_CLASSIFIER_NOT_SUPPORTED = 2; // 0x2
272 field public static final int DSCP_POLICY_STATUS_REQUEST_DECLINED = 1; // 0x1
273 field public static final int DSCP_POLICY_STATUS_SUCCESS = 0; // 0x0
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000274 field public static final int VALIDATION_STATUS_NOT_VALID = 2; // 0x2
275 field public static final int VALIDATION_STATUS_VALID = 1; // 0x1
276 }
277
278 public final class NetworkAgentConfig implements android.os.Parcelable {
279 method public int describeContents();
280 method public int getLegacyType();
281 method @NonNull public String getLegacyTypeName();
282 method public boolean isExplicitlySelected();
283 method public boolean isPartialConnectivityAcceptable();
284 method public boolean isUnvalidatedConnectivityAcceptable();
285 method public void writeToParcel(@NonNull android.os.Parcel, int);
286 field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkAgentConfig> CREATOR;
287 }
288
289 public static final class NetworkAgentConfig.Builder {
290 ctor public NetworkAgentConfig.Builder();
291 method @NonNull public android.net.NetworkAgentConfig build();
292 method @NonNull public android.net.NetworkAgentConfig.Builder setExplicitlySelected(boolean);
293 method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyExtraInfo(@NonNull String);
294 method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubType(int);
295 method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubTypeName(@NonNull String);
296 method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyType(int);
297 method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyTypeName(@NonNull String);
298 method @NonNull public android.net.NetworkAgentConfig.Builder setNat64DetectionEnabled(boolean);
299 method @NonNull public android.net.NetworkAgentConfig.Builder setPartialConnectivityAcceptable(boolean);
300 method @NonNull public android.net.NetworkAgentConfig.Builder setProvisioningNotificationEnabled(boolean);
301 method @NonNull public android.net.NetworkAgentConfig.Builder setUnvalidatedConnectivityAcceptable(boolean);
302 }
303
304 public final class NetworkCapabilities implements android.os.Parcelable {
305 method @NonNull public int[] getAdministratorUids();
306 method @Nullable public static String getCapabilityCarrierName(int);
307 method @Nullable public String getSsid();
308 method @NonNull public java.util.Set<java.lang.Integer> getSubscriptionIds();
309 method @NonNull public int[] getTransportTypes();
satayevea2ffac2022-05-13 15:12:50 +0000310 method @Nullable public java.util.List<android.net.Network> getUnderlyingNetworks();
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000311 method public boolean isPrivateDnsBroken();
312 method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
313 field public static final int NET_CAPABILITY_BIP = 31; // 0x1f
314 field public static final int NET_CAPABILITY_NOT_VCN_MANAGED = 28; // 0x1c
315 field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16
316 field public static final int NET_CAPABILITY_OEM_PRIVATE = 26; // 0x1a
317 field public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24; // 0x18
318 field public static final int NET_CAPABILITY_VEHICLE_INTERNAL = 27; // 0x1b
319 field public static final int NET_CAPABILITY_VSIM = 30; // 0x1e
320 }
321
322 public static final class NetworkCapabilities.Builder {
323 ctor public NetworkCapabilities.Builder();
324 ctor public NetworkCapabilities.Builder(@NonNull android.net.NetworkCapabilities);
325 method @NonNull public android.net.NetworkCapabilities.Builder addCapability(int);
satayevea2ffac2022-05-13 15:12:50 +0000326 method @NonNull public android.net.NetworkCapabilities.Builder addEnterpriseId(int);
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000327 method @NonNull public android.net.NetworkCapabilities.Builder addTransportType(int);
328 method @NonNull public android.net.NetworkCapabilities build();
329 method @NonNull public android.net.NetworkCapabilities.Builder removeCapability(int);
satayevea2ffac2022-05-13 15:12:50 +0000330 method @NonNull public android.net.NetworkCapabilities.Builder removeEnterpriseId(int);
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000331 method @NonNull public android.net.NetworkCapabilities.Builder removeTransportType(int);
332 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAdministratorUids(@NonNull int[]);
333 method @NonNull public android.net.NetworkCapabilities.Builder setLinkDownstreamBandwidthKbps(int);
334 method @NonNull public android.net.NetworkCapabilities.Builder setLinkUpstreamBandwidthKbps(int);
335 method @NonNull public android.net.NetworkCapabilities.Builder setNetworkSpecifier(@Nullable android.net.NetworkSpecifier);
336 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setOwnerUid(int);
337 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorPackageName(@Nullable String);
338 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorUid(int);
339 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkCapabilities.Builder setSignalStrength(int);
340 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setSsid(@Nullable String);
341 method @NonNull public android.net.NetworkCapabilities.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
342 method @NonNull public android.net.NetworkCapabilities.Builder setTransportInfo(@Nullable android.net.TransportInfo);
satayevea2ffac2022-05-13 15:12:50 +0000343 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>);
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000344 method @NonNull public static android.net.NetworkCapabilities.Builder withoutDefaultCapabilities();
345 }
346
347 public class NetworkProvider {
348 ctor public NetworkProvider(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String);
349 method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void declareNetworkRequestUnfulfillable(@NonNull android.net.NetworkRequest);
350 method public int getProviderId();
351 method public void onNetworkRequestWithdrawn(@NonNull android.net.NetworkRequest);
352 method public void onNetworkRequested(@NonNull android.net.NetworkRequest, @IntRange(from=0, to=99) int, int);
353 method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void registerNetworkOffer(@NonNull android.net.NetworkScore, @NonNull android.net.NetworkCapabilities, @NonNull java.util.concurrent.Executor, @NonNull android.net.NetworkProvider.NetworkOfferCallback);
354 method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void unregisterNetworkOffer(@NonNull android.net.NetworkProvider.NetworkOfferCallback);
355 field public static final int ID_NONE = -1; // 0xffffffff
356 }
357
358 public static interface NetworkProvider.NetworkOfferCallback {
359 method public void onNetworkNeeded(@NonNull android.net.NetworkRequest);
360 method public void onNetworkUnneeded(@NonNull android.net.NetworkRequest);
361 }
362
363 public class NetworkReleasedException extends java.lang.Exception {
satayevea2ffac2022-05-13 15:12:50 +0000364 ctor public NetworkReleasedException();
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000365 }
366
367 public class NetworkRequest implements android.os.Parcelable {
368 method @Nullable public String getRequestorPackageName();
369 method public int getRequestorUid();
370 }
371
372 public static class NetworkRequest.Builder {
373 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkRequest.Builder setSignalStrength(int);
374 method @NonNull public android.net.NetworkRequest.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
375 }
376
377 public final class NetworkScore implements android.os.Parcelable {
378 method public int describeContents();
379 method public int getKeepConnectedReason();
380 method public int getLegacyInt();
381 method public boolean isExiting();
382 method public boolean isTransportPrimary();
383 method public void writeToParcel(@NonNull android.os.Parcel, int);
384 field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkScore> CREATOR;
385 field public static final int KEEP_CONNECTED_FOR_HANDOVER = 1; // 0x1
386 field public static final int KEEP_CONNECTED_NONE = 0; // 0x0
387 }
388
389 public static final class NetworkScore.Builder {
390 ctor public NetworkScore.Builder();
391 method @NonNull public android.net.NetworkScore build();
392 method @NonNull public android.net.NetworkScore.Builder setExiting(boolean);
393 method @NonNull public android.net.NetworkScore.Builder setKeepConnectedReason(int);
394 method @NonNull public android.net.NetworkScore.Builder setLegacyInt(int);
395 method @NonNull public android.net.NetworkScore.Builder setTransportPrimary(boolean);
396 }
397
398 public final class OemNetworkPreferences implements android.os.Parcelable {
399 method public int describeContents();
400 method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getNetworkPreferences();
401 method public void writeToParcel(@NonNull android.os.Parcel, int);
402 field @NonNull public static final android.os.Parcelable.Creator<android.net.OemNetworkPreferences> CREATOR;
403 field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID = 1; // 0x1
404 field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_NO_FALLBACK = 2; // 0x2
405 field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_ONLY = 3; // 0x3
406 field public static final int OEM_NETWORK_PREFERENCE_OEM_PRIVATE_ONLY = 4; // 0x4
407 field public static final int OEM_NETWORK_PREFERENCE_UNINITIALIZED = 0; // 0x0
408 }
409
410 public static final class OemNetworkPreferences.Builder {
411 ctor public OemNetworkPreferences.Builder();
412 ctor public OemNetworkPreferences.Builder(@NonNull android.net.OemNetworkPreferences);
413 method @NonNull public android.net.OemNetworkPreferences.Builder addNetworkPreference(@NonNull String, int);
414 method @NonNull public android.net.OemNetworkPreferences build();
415 method @NonNull public android.net.OemNetworkPreferences.Builder clearNetworkPreference(@NonNull String);
416 }
417
418 public abstract class QosCallback {
419 ctor public QosCallback();
420 method public void onError(@NonNull android.net.QosCallbackException);
421 method public void onQosSessionAvailable(@NonNull android.net.QosSession, @NonNull android.net.QosSessionAttributes);
422 method public void onQosSessionLost(@NonNull android.net.QosSession);
423 }
424
425 public static class QosCallback.QosCallbackRegistrationException extends java.lang.RuntimeException {
426 }
427
428 public final class QosCallbackException extends java.lang.Exception {
satayevea2ffac2022-05-13 15:12:50 +0000429 ctor public QosCallbackException(@NonNull String);
430 ctor public QosCallbackException(@NonNull Throwable);
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000431 }
432
433 public abstract class QosFilter {
434 method @NonNull public abstract android.net.Network getNetwork();
435 method public abstract boolean matchesLocalAddress(@NonNull java.net.InetAddress, int, int);
android-t24057a6d2023-10-25 10:19:04 +0800436 method public boolean matchesProtocol(int);
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000437 method public abstract boolean matchesRemoteAddress(@NonNull java.net.InetAddress, int, int);
438 }
439
440 public final class QosSession implements android.os.Parcelable {
441 ctor public QosSession(int, int);
442 method public int describeContents();
443 method public int getSessionId();
444 method public int getSessionType();
445 method public long getUniqueId();
446 method public void writeToParcel(@NonNull android.os.Parcel, int);
447 field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSession> CREATOR;
448 field public static final int TYPE_EPS_BEARER = 1; // 0x1
449 field public static final int TYPE_NR_BEARER = 2; // 0x2
450 }
451
452 public interface QosSessionAttributes {
453 }
454
455 public final class QosSocketInfo implements android.os.Parcelable {
456 ctor public QosSocketInfo(@NonNull android.net.Network, @NonNull java.net.Socket) throws java.io.IOException;
android-t24057a6d2023-10-25 10:19:04 +0800457 ctor public QosSocketInfo(@NonNull android.net.Network, @NonNull java.net.DatagramSocket) throws java.io.IOException;
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000458 method public int describeContents();
459 method @NonNull public java.net.InetSocketAddress getLocalSocketAddress();
460 method @NonNull public android.net.Network getNetwork();
461 method @Nullable public java.net.InetSocketAddress getRemoteSocketAddress();
462 method public void writeToParcel(@NonNull android.os.Parcel, int);
463 field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSocketInfo> CREATOR;
464 }
465
466 public final class RouteInfo implements android.os.Parcelable {
467 ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int);
468 ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int, int);
469 method public int getMtu();
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000470 }
471
472 public abstract class SocketKeepalive implements java.lang.AutoCloseable {
android-t24057a6d2023-10-25 10:19:04 +0800473 method public final void start(@IntRange(from=0xa, to=0xe10) int, int, @Nullable android.net.Network);
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000474 field public static final int ERROR_NO_SUCH_SLOT = -33; // 0xffffffdf
android-t24057a6d2023-10-25 10:19:04 +0800475 field public static final int FLAG_AUTOMATIC_ON_OFF = 1; // 0x1
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000476 field public static final int SUCCESS = 0; // 0x0
477 }
478
479 public class SocketLocalAddressChangedException extends java.lang.Exception {
satayevea2ffac2022-05-13 15:12:50 +0000480 ctor public SocketLocalAddressChangedException();
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000481 }
482
483 public class SocketNotBoundException extends java.lang.Exception {
satayevea2ffac2022-05-13 15:12:50 +0000484 ctor public SocketNotBoundException();
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000485 }
486
android-t24057a6d2023-10-25 10:19:04 +0800487 public class SocketNotConnectedException extends java.lang.Exception {
488 ctor public SocketNotConnectedException();
489 }
490
491 public class SocketRemoteAddressChangedException extends java.lang.Exception {
492 ctor public SocketRemoteAddressChangedException();
493 }
494
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000495 public final class StaticIpConfiguration implements android.os.Parcelable {
496 ctor public StaticIpConfiguration();
497 ctor public StaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
498 method public void addDnsServer(@NonNull java.net.InetAddress);
499 method public void clear();
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000500 method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(@Nullable String);
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000501 }
502
503 public final class TcpKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
504 ctor public TcpKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[], int, int, int, int, int, int) throws android.net.InvalidPacketException;
505 method public int describeContents();
506 method public int getIpTos();
507 method public int getIpTtl();
508 method public int getTcpAck();
509 method public int getTcpSeq();
510 method public int getTcpWindow();
511 method public int getTcpWindowScale();
512 method public void writeToParcel(@NonNull android.os.Parcel, int);
513 field @NonNull public static final android.os.Parcelable.Creator<android.net.TcpKeepalivePacketData> CREATOR;
514 }
515
android-t24057a6d2023-10-25 10:19:04 +0800516 public final class VpnTransportInfo implements android.os.Parcelable android.net.TransportInfo {
517 ctor public VpnTransportInfo(int, @Nullable String, boolean, boolean);
518 method public boolean areLongLivedTcpConnectionsExpensive();
519 method public int describeContents();
520 method public int getType();
521 method public boolean isBypassable();
522 method public void writeToParcel(@NonNull android.os.Parcel, int);
523 field @NonNull public static final android.os.Parcelable.Creator<android.net.VpnTransportInfo> CREATOR;
524 }
525
Mathew Inwood1d6ec9e2021-06-24 14:12:57 +0000526}
527
528package android.net.apf {
529
530 public final class ApfCapabilities implements android.os.Parcelable {
531 ctor public ApfCapabilities(int, int, int);
532 method public int describeContents();
533 method public static boolean getApfDrop8023Frames();
534 method @NonNull public static int[] getApfEtherTypeBlackList();
535 method public boolean hasDataAccess();
536 method public void writeToParcel(android.os.Parcel, int);
537 field public static final android.os.Parcelable.Creator<android.net.apf.ApfCapabilities> CREATOR;
538 field public final int apfPacketFormat;
539 field public final int apfVersionSupported;
540 field public final int maximumApfProgramSize;
541 }
542
543}
544