xref: /aosp_15_r20/prebuilts/sdk/30/system/api/framework-connectivity.txt (revision 344a7f5ef16c479e7a7f54ee6567a9d112f9e72b)
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