blob: 09a678d9bea8d27871f2c66abc4deb504d16873f [file] [log] [blame]
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +09001// Signature format: 2.0
2package android.net {
3
4 public class CaptivePortal implements android.os.Parcelable {
lifr1c778972021-03-02 17:12:27 +08005 method @Deprecated public void logEvent(int, @NonNull String);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +09006 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();
Hai Shalom611b0212021-03-16 20:59:42 -070021 method @Nullable public CharSequence getVenueFriendlyName();
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +090022 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);
Hai Shalom611b0212021-03-16 20:59:42 -070043 method @NonNull public android.net.CaptivePortalData.Builder setVenueFriendlyName(@Nullable CharSequence);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +090044 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();
Danny Linc1f7c7d2021-10-05 17:05:49 -070054 method public void onPackagePermissionChanged(int);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +090055 method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public int registerNetworkProvider(@NonNull android.net.NetworkProvider);
Daniel Bright686d5d22021-03-10 11:51:50 -080056 method public void registerQosCallback(@NonNull android.net.QosSocketInfo, @NonNull java.util.concurrent.Executor, @NonNull android.net.QosCallback);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +090057 method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
58 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);
59 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);
Chalard Jean0a4aefc2021-03-03 16:37:13 +090060 method @RequiresPermission(android.Manifest.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE) public void setOemNetworkPreference(@NonNull android.net.OemNetworkPreferences, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +090061 method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public boolean shouldAvoidBadWifi();
62 method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void startCaptivePortalApp(@NonNull android.net.Network, @NonNull android.os.Bundle);
63 method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback);
64 method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler);
65 method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopTethering(int);
66 method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public void unregisterNetworkProvider(@NonNull android.net.NetworkProvider);
67 method public void unregisterQosCallback(@NonNull android.net.QosCallback);
68 method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void unregisterTetheringEventCallback(@NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
69 field public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC";
70 field public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT";
71 field public static final int TETHERING_BLUETOOTH = 2; // 0x2
72 field public static final int TETHERING_USB = 1; // 0x1
73 field public static final int TETHERING_WIFI = 0; // 0x0
74 field @Deprecated public static final int TETHER_ERROR_ENTITLEMENT_UNKONWN = 13; // 0xd
75 field @Deprecated public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
76 field @Deprecated public static final int TETHER_ERROR_PROVISION_FAILED = 11; // 0xb
77 field public static final int TYPE_NONE = -1; // 0xffffffff
78 field @Deprecated public static final int TYPE_PROXY = 16; // 0x10
79 field @Deprecated public static final int TYPE_WIFI_P2P = 13; // 0xd
80 }
81
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +090082 @Deprecated public abstract static class ConnectivityManager.OnStartTetheringCallback {
83 ctor @Deprecated public ConnectivityManager.OnStartTetheringCallback();
84 method @Deprecated public void onTetheringFailed();
85 method @Deprecated public void onTetheringStarted();
86 }
87
88 @Deprecated public static interface ConnectivityManager.OnTetheringEntitlementResultListener {
89 method @Deprecated public void onTetheringEntitlementResult(int);
90 }
91
92 @Deprecated public abstract static class ConnectivityManager.OnTetheringEventCallback {
93 ctor @Deprecated public ConnectivityManager.OnTetheringEventCallback();
94 method @Deprecated public void onUpstreamChanged(@Nullable android.net.Network);
95 }
96
97 public final class InvalidPacketException extends java.lang.Exception {
98 ctor public InvalidPacketException(int);
99 method public int getError();
100 field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb
101 field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9
102 field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea
103 }
104
105 public final class IpConfiguration implements android.os.Parcelable {
106 ctor public IpConfiguration();
107 ctor public IpConfiguration(@NonNull android.net.IpConfiguration);
108 method public int describeContents();
109 method @Nullable public android.net.ProxyInfo getHttpProxy();
110 method @NonNull public android.net.IpConfiguration.IpAssignment getIpAssignment();
111 method @NonNull public android.net.IpConfiguration.ProxySettings getProxySettings();
112 method @Nullable public android.net.StaticIpConfiguration getStaticIpConfiguration();
113 method public void setHttpProxy(@Nullable android.net.ProxyInfo);
114 method public void setIpAssignment(@NonNull android.net.IpConfiguration.IpAssignment);
115 method public void setProxySettings(@NonNull android.net.IpConfiguration.ProxySettings);
116 method public void setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
117 method public void writeToParcel(@NonNull android.os.Parcel, int);
118 field @NonNull public static final android.os.Parcelable.Creator<android.net.IpConfiguration> CREATOR;
119 }
120
121 public enum IpConfiguration.IpAssignment {
122 enum_constant public static final android.net.IpConfiguration.IpAssignment DHCP;
123 enum_constant public static final android.net.IpConfiguration.IpAssignment STATIC;
124 enum_constant public static final android.net.IpConfiguration.IpAssignment UNASSIGNED;
125 }
126
127 public enum IpConfiguration.ProxySettings {
128 enum_constant public static final android.net.IpConfiguration.ProxySettings NONE;
129 enum_constant public static final android.net.IpConfiguration.ProxySettings PAC;
130 enum_constant public static final android.net.IpConfiguration.ProxySettings STATIC;
131 enum_constant public static final android.net.IpConfiguration.ProxySettings UNASSIGNED;
132 }
133
134 public final class IpPrefix implements android.os.Parcelable {
135 ctor public IpPrefix(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
136 ctor public IpPrefix(@NonNull String);
137 }
138
139 public class KeepalivePacketData {
140 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;
141 method @NonNull public java.net.InetAddress getDstAddress();
142 method public int getDstPort();
143 method @NonNull public byte[] getPacket();
144 method @NonNull public java.net.InetAddress getSrcAddress();
145 method public int getSrcPort();
146 }
147
148 public class LinkAddress implements android.os.Parcelable {
149 ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int);
150 ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int, long, long);
151 ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
152 ctor public LinkAddress(@NonNull String);
153 ctor public LinkAddress(@NonNull String, int, int);
154 method public long getDeprecationTime();
155 method public long getExpirationTime();
156 method public boolean isGlobalPreferred();
157 method public boolean isIpv4();
158 method public boolean isIpv6();
159 method public boolean isSameAddressAs(@Nullable android.net.LinkAddress);
160 field public static final long LIFETIME_PERMANENT = 9223372036854775807L; // 0x7fffffffffffffffL
161 field public static final long LIFETIME_UNKNOWN = -1L; // 0xffffffffffffffffL
162 }
163
164 public final class LinkProperties implements android.os.Parcelable {
165 ctor public LinkProperties(@Nullable android.net.LinkProperties);
166 ctor public LinkProperties(@Nullable android.net.LinkProperties, boolean);
167 method public boolean addDnsServer(@NonNull java.net.InetAddress);
168 method public boolean addLinkAddress(@NonNull android.net.LinkAddress);
169 method public boolean addPcscfServer(@NonNull java.net.InetAddress);
170 method @NonNull public java.util.List<java.net.InetAddress> getAddresses();
171 method @NonNull public java.util.List<java.lang.String> getAllInterfaceNames();
172 method @NonNull public java.util.List<android.net.LinkAddress> getAllLinkAddresses();
173 method @NonNull public java.util.List<android.net.RouteInfo> getAllRoutes();
174 method @Nullable public android.net.Uri getCaptivePortalApiUrl();
175 method @Nullable public android.net.CaptivePortalData getCaptivePortalData();
176 method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
177 method @Nullable public String getTcpBufferSizes();
178 method @NonNull public java.util.List<java.net.InetAddress> getValidatedPrivateDnsServers();
179 method public boolean hasGlobalIpv6Address();
180 method public boolean hasIpv4Address();
181 method public boolean hasIpv4DefaultRoute();
182 method public boolean hasIpv4DnsServer();
183 method public boolean hasIpv6DefaultRoute();
184 method public boolean hasIpv6DnsServer();
185 method public boolean isIpv4Provisioned();
186 method public boolean isIpv6Provisioned();
187 method public boolean isProvisioned();
188 method public boolean isReachable(@NonNull java.net.InetAddress);
189 method public boolean removeDnsServer(@NonNull java.net.InetAddress);
190 method public boolean removeLinkAddress(@NonNull android.net.LinkAddress);
191 method public boolean removeRoute(@NonNull android.net.RouteInfo);
192 method public void setCaptivePortalApiUrl(@Nullable android.net.Uri);
193 method public void setCaptivePortalData(@Nullable android.net.CaptivePortalData);
194 method public void setPcscfServers(@NonNull java.util.Collection<java.net.InetAddress>);
195 method public void setPrivateDnsServerName(@Nullable String);
196 method public void setTcpBufferSizes(@Nullable String);
197 method public void setUsePrivateDns(boolean);
198 method public void setValidatedPrivateDnsServers(@NonNull java.util.Collection<java.net.InetAddress>);
199 }
200
201 public final class NattKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
202 ctor public NattKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[]) throws android.net.InvalidPacketException;
203 method public int describeContents();
204 method public void writeToParcel(@NonNull android.os.Parcel, int);
205 field @NonNull public static final android.os.Parcelable.Creator<android.net.NattKeepalivePacketData> CREATOR;
206 }
207
208 public class Network implements android.os.Parcelable {
209 ctor public Network(@NonNull android.net.Network);
210 method public int getNetId();
211 method @NonNull public android.net.Network getPrivateDnsBypassingCopy();
212 }
213
214 public abstract class NetworkAgent {
215 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);
Chiachang Wang3ee63e52021-03-23 16:12:44 +0800216 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);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900217 method @Nullable public android.net.Network getNetwork();
218 method public void markConnected();
219 method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData);
220 method public void onAutomaticReconnectDisabled();
lifrc4fd6202021-03-18 01:11:30 +0800221 method public void onBandwidthUpdateRequested();
Chiachang Wang18d42812021-03-24 18:39:17 +0800222 method public void onNetworkCreated();
Lorenzo Colitti9364b3a2021-03-11 01:32:09 +0900223 method public void onNetworkDestroyed();
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900224 method public void onNetworkUnwanted();
225 method public void onQosCallbackRegistered(int, @NonNull android.net.QosFilter);
226 method public void onQosCallbackUnregistered(int);
227 method public void onRemoveKeepalivePacketFilter(int);
228 method public void onSaveAcceptUnvalidated(boolean);
229 method public void onSignalStrengthThresholdsUpdated(@NonNull int[]);
230 method public void onStartSocketKeepalive(int, @NonNull java.time.Duration, @NonNull android.net.KeepalivePacketData);
231 method public void onStopSocketKeepalive(int);
232 method public void onValidationStatus(int, @Nullable android.net.Uri);
233 method @NonNull public android.net.Network register();
234 method public final void sendLinkProperties(@NonNull android.net.LinkProperties);
235 method public final void sendNetworkCapabilities(@NonNull android.net.NetworkCapabilities);
Chalard Jeane154dff2021-03-31 22:14:21 +0900236 method public final void sendNetworkScore(@NonNull android.net.NetworkScore);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900237 method public final void sendNetworkScore(@IntRange(from=0, to=99) int);
238 method public final void sendQosCallbackError(int, int);
Jayachandran Cd57b2852021-03-15 15:58:11 -0700239 method public final void sendQosSessionAvailable(int, int, @NonNull android.net.QosSessionAttributes);
240 method public final void sendQosSessionLost(int, int, int);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900241 method public final void sendSocketKeepaliveEvent(int, int);
lifrc4fd6202021-03-18 01:11:30 +0800242 method @Deprecated public void setLegacySubtype(int, @NonNull String);
Chalard Jean85e65c82021-03-05 23:07:53 +0900243 method public void setLingerDuration(@NonNull java.time.Duration);
Chiachang Wangc7d203d2021-04-20 15:41:24 +0800244 method public void setTeardownDelayMillis(@IntRange(from=0, to=0x1388) int);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900245 method public final void setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>);
246 method public void unregister();
247 field public static final int VALIDATION_STATUS_NOT_VALID = 2; // 0x2
248 field public static final int VALIDATION_STATUS_VALID = 1; // 0x1
249 }
250
251 public final class NetworkAgentConfig implements android.os.Parcelable {
252 method public int describeContents();
253 method public int getLegacyType();
254 method @NonNull public String getLegacyTypeName();
255 method public boolean isExplicitlySelected();
256 method public boolean isPartialConnectivityAcceptable();
257 method public boolean isUnvalidatedConnectivityAcceptable();
258 method public void writeToParcel(@NonNull android.os.Parcel, int);
259 field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkAgentConfig> CREATOR;
260 }
261
262 public static final class NetworkAgentConfig.Builder {
263 ctor public NetworkAgentConfig.Builder();
264 method @NonNull public android.net.NetworkAgentConfig build();
265 method @NonNull public android.net.NetworkAgentConfig.Builder setExplicitlySelected(boolean);
lifrc4fd6202021-03-18 01:11:30 +0800266 method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyExtraInfo(@NonNull String);
267 method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubType(int);
268 method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubTypeName(@NonNull String);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900269 method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyType(int);
270 method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyTypeName(@NonNull String);
Chiachang Wangf5324d72021-04-08 12:56:51 +0800271 method @NonNull public android.net.NetworkAgentConfig.Builder setNat64DetectionEnabled(boolean);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900272 method @NonNull public android.net.NetworkAgentConfig.Builder setPartialConnectivityAcceptable(boolean);
Chiachang Wangf5324d72021-04-08 12:56:51 +0800273 method @NonNull public android.net.NetworkAgentConfig.Builder setProvisioningNotificationEnabled(boolean);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900274 method @NonNull public android.net.NetworkAgentConfig.Builder setUnvalidatedConnectivityAcceptable(boolean);
275 }
276
277 public final class NetworkCapabilities implements android.os.Parcelable {
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900278 method @NonNull public int[] getAdministratorUids();
Sarah Chin34fbbbb2021-03-22 13:52:46 -0700279 method @Nullable public static String getCapabilityCarrierName(int);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900280 method @Nullable public String getSsid();
junyulai96053912021-04-14 23:33:31 +0800281 method @NonNull public java.util.Set<java.lang.Integer> getSubscriptionIds();
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900282 method @NonNull public int[] getTransportTypes();
283 method public boolean isPrivateDnsBroken();
284 method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
Chiachang Wangd3881b92021-03-25 14:28:15 +0800285 field public static final int NET_CAPABILITY_BIP = 31; // 0x1f
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900286 field public static final int NET_CAPABILITY_NOT_VCN_MANAGED = 28; // 0x1c
287 field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16
288 field public static final int NET_CAPABILITY_OEM_PRIVATE = 26; // 0x1a
289 field public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24; // 0x18
290 field public static final int NET_CAPABILITY_VEHICLE_INTERNAL = 27; // 0x1b
Chiachang Wangd3881b92021-03-25 14:28:15 +0800291 field public static final int NET_CAPABILITY_VSIM = 30; // 0x1e
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900292 }
293
294 public static final class NetworkCapabilities.Builder {
295 ctor public NetworkCapabilities.Builder();
296 ctor public NetworkCapabilities.Builder(@NonNull android.net.NetworkCapabilities);
297 method @NonNull public android.net.NetworkCapabilities.Builder addCapability(int);
298 method @NonNull public android.net.NetworkCapabilities.Builder addTransportType(int);
299 method @NonNull public android.net.NetworkCapabilities build();
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900300 method @NonNull public android.net.NetworkCapabilities.Builder removeCapability(int);
301 method @NonNull public android.net.NetworkCapabilities.Builder removeTransportType(int);
302 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAdministratorUids(@NonNull int[]);
303 method @NonNull public android.net.NetworkCapabilities.Builder setLinkDownstreamBandwidthKbps(int);
304 method @NonNull public android.net.NetworkCapabilities.Builder setLinkUpstreamBandwidthKbps(int);
305 method @NonNull public android.net.NetworkCapabilities.Builder setNetworkSpecifier(@Nullable android.net.NetworkSpecifier);
306 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setOwnerUid(int);
307 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorPackageName(@Nullable String);
308 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorUid(int);
309 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkCapabilities.Builder setSignalStrength(int);
310 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setSsid(@Nullable String);
junyulai96053912021-04-14 23:33:31 +0800311 method @NonNull public android.net.NetworkCapabilities.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900312 method @NonNull public android.net.NetworkCapabilities.Builder setTransportInfo(@Nullable android.net.TransportInfo);
Chiachang Wangdf9611c2021-05-13 10:17:16 +0800313 method @NonNull public static android.net.NetworkCapabilities.Builder withoutDefaultCapabilities();
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900314 }
315
316 public class NetworkProvider {
317 ctor public NetworkProvider(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String);
318 method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void declareNetworkRequestUnfulfillable(@NonNull android.net.NetworkRequest);
319 method public int getProviderId();
320 method public void onNetworkRequestWithdrawn(@NonNull android.net.NetworkRequest);
321 method public void onNetworkRequested(@NonNull android.net.NetworkRequest, @IntRange(from=0, to=99) int, int);
Chalard Jean428b9132021-01-12 10:58:56 +0900322 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);
323 method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void unregisterNetworkOffer(@NonNull android.net.NetworkProvider.NetworkOfferCallback);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900324 field public static final int ID_NONE = -1; // 0xffffffff
325 }
326
Chalard Jean428b9132021-01-12 10:58:56 +0900327 public static interface NetworkProvider.NetworkOfferCallback {
328 method public void onNetworkNeeded(@NonNull android.net.NetworkRequest);
329 method public void onNetworkUnneeded(@NonNull android.net.NetworkRequest);
330 }
331
Remi NGUYEN VAN070ff8b2021-03-01 17:53:45 +0900332 public class NetworkReleasedException extends java.lang.Exception {
333 }
334
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900335 public class NetworkRequest implements android.os.Parcelable {
336 method @Nullable public String getRequestorPackageName();
337 method public int getRequestorUid();
338 }
339
340 public static class NetworkRequest.Builder {
341 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkRequest.Builder setSignalStrength(int);
junyulai96053912021-04-14 23:33:31 +0800342 method @NonNull public android.net.NetworkRequest.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900343 }
344
lucaslin18158aa2021-03-23 16:17:37 +0800345 public final class NetworkScore implements android.os.Parcelable {
346 method public int describeContents();
Chalard Jeanfa33bef2021-03-08 22:29:27 +0900347 method public int getKeepConnectedReason();
lucaslin18158aa2021-03-23 16:17:37 +0800348 method public int getLegacyInt();
Chalard Jeana94f7782021-03-29 14:59:14 +0900349 method public boolean isExiting();
350 method public boolean isTransportPrimary();
lucaslin18158aa2021-03-23 16:17:37 +0800351 method public void writeToParcel(@NonNull android.os.Parcel, int);
352 field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkScore> CREATOR;
Chalard Jeanfa33bef2021-03-08 22:29:27 +0900353 field public static final int KEEP_CONNECTED_FOR_HANDOVER = 1; // 0x1
354 field public static final int KEEP_CONNECTED_NONE = 0; // 0x0
lucaslin18158aa2021-03-23 16:17:37 +0800355 }
356
357 public static final class NetworkScore.Builder {
358 ctor public NetworkScore.Builder();
359 method @NonNull public android.net.NetworkScore build();
Chalard Jeana94f7782021-03-29 14:59:14 +0900360 method @NonNull public android.net.NetworkScore.Builder setExiting(boolean);
Chalard Jeanfa33bef2021-03-08 22:29:27 +0900361 method @NonNull public android.net.NetworkScore.Builder setKeepConnectedReason(int);
lucaslin18158aa2021-03-23 16:17:37 +0800362 method @NonNull public android.net.NetworkScore.Builder setLegacyInt(int);
Chalard Jeana94f7782021-03-29 14:59:14 +0900363 method @NonNull public android.net.NetworkScore.Builder setTransportPrimary(boolean);
lucaslin18158aa2021-03-23 16:17:37 +0800364 }
365
Remi NGUYEN VANc5e54d42021-03-06 00:43:09 +0900366 public final class OemNetworkPreferences implements android.os.Parcelable {
367 method public int describeContents();
368 method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getNetworkPreferences();
369 method public void writeToParcel(@NonNull android.os.Parcel, int);
370 field @NonNull public static final android.os.Parcelable.Creator<android.net.OemNetworkPreferences> CREATOR;
371 field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID = 1; // 0x1
372 field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_NO_FALLBACK = 2; // 0x2
373 field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_ONLY = 3; // 0x3
374 field public static final int OEM_NETWORK_PREFERENCE_OEM_PRIVATE_ONLY = 4; // 0x4
375 field public static final int OEM_NETWORK_PREFERENCE_UNINITIALIZED = 0; // 0x0
376 }
377
378 public static final class OemNetworkPreferences.Builder {
379 ctor public OemNetworkPreferences.Builder();
380 ctor public OemNetworkPreferences.Builder(@NonNull android.net.OemNetworkPreferences);
381 method @NonNull public android.net.OemNetworkPreferences.Builder addNetworkPreference(@NonNull String, int);
382 method @NonNull public android.net.OemNetworkPreferences build();
383 method @NonNull public android.net.OemNetworkPreferences.Builder clearNetworkPreference(@NonNull String);
384 }
385
Remi NGUYEN VAN070ff8b2021-03-01 17:53:45 +0900386 public abstract class QosCallback {
387 ctor public QosCallback();
388 method public void onError(@NonNull android.net.QosCallbackException);
389 method public void onQosSessionAvailable(@NonNull android.net.QosSession, @NonNull android.net.QosSessionAttributes);
390 method public void onQosSessionLost(@NonNull android.net.QosSession);
391 }
392
393 public static class QosCallback.QosCallbackRegistrationException extends java.lang.RuntimeException {
394 }
395
396 public final class QosCallbackException extends java.lang.Exception {
397 }
398
399 public abstract class QosFilter {
400 method @NonNull public abstract android.net.Network getNetwork();
401 method public abstract boolean matchesLocalAddress(@NonNull java.net.InetAddress, int, int);
Jayachandran C735e1ce2021-04-19 18:21:36 -0700402 method public abstract boolean matchesRemoteAddress(@NonNull java.net.InetAddress, int, int);
Remi NGUYEN VAN070ff8b2021-03-01 17:53:45 +0900403 }
404
405 public final class QosSession implements android.os.Parcelable {
406 ctor public QosSession(int, int);
407 method public int describeContents();
408 method public int getSessionId();
409 method public int getSessionType();
410 method public long getUniqueId();
411 method public void writeToParcel(@NonNull android.os.Parcel, int);
412 field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSession> CREATOR;
413 field public static final int TYPE_EPS_BEARER = 1; // 0x1
Jayachandran Cd57b2852021-03-15 15:58:11 -0700414 field public static final int TYPE_NR_BEARER = 2; // 0x2
Remi NGUYEN VAN070ff8b2021-03-01 17:53:45 +0900415 }
416
417 public interface QosSessionAttributes {
418 }
419
420 public final class QosSocketInfo implements android.os.Parcelable {
421 ctor public QosSocketInfo(@NonNull android.net.Network, @NonNull java.net.Socket) throws java.io.IOException;
422 method public int describeContents();
423 method @NonNull public java.net.InetSocketAddress getLocalSocketAddress();
424 method @NonNull public android.net.Network getNetwork();
Jayachandran C735e1ce2021-04-19 18:21:36 -0700425 method @Nullable public java.net.InetSocketAddress getRemoteSocketAddress();
Remi NGUYEN VAN070ff8b2021-03-01 17:53:45 +0900426 method public void writeToParcel(@NonNull android.os.Parcel, int);
427 field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSocketInfo> CREATOR;
428 }
429
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900430 public final class RouteInfo implements android.os.Parcelable {
431 ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int);
432 ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int, int);
433 method public int getMtu();
434 method public int getType();
435 field public static final int RTN_THROW = 9; // 0x9
436 field public static final int RTN_UNICAST = 1; // 0x1
437 field public static final int RTN_UNREACHABLE = 7; // 0x7
438 }
439
440 public abstract class SocketKeepalive implements java.lang.AutoCloseable {
lifrc4fd6202021-03-18 01:11:30 +0800441 field public static final int ERROR_NO_SUCH_SLOT = -33; // 0xffffffdf
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900442 field public static final int SUCCESS = 0; // 0x0
443 }
444
Remi NGUYEN VAN070ff8b2021-03-01 17:53:45 +0900445 public class SocketLocalAddressChangedException extends java.lang.Exception {
446 }
447
448 public class SocketNotBoundException extends java.lang.Exception {
449 }
450
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900451 public final class StaticIpConfiguration implements android.os.Parcelable {
452 ctor public StaticIpConfiguration();
453 ctor public StaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
454 method public void addDnsServer(@NonNull java.net.InetAddress);
455 method public void clear();
456 method public int describeContents();
457 method @NonNull public java.util.List<java.net.InetAddress> getDnsServers();
458 method @Nullable public String getDomains();
459 method @Nullable public java.net.InetAddress getGateway();
460 method @Nullable public android.net.LinkAddress getIpAddress();
461 method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(@Nullable String);
462 method public void writeToParcel(android.os.Parcel, int);
463 field @NonNull public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR;
464 }
465
466 public static final class StaticIpConfiguration.Builder {
467 ctor public StaticIpConfiguration.Builder();
468 method @NonNull public android.net.StaticIpConfiguration build();
469 method @NonNull public android.net.StaticIpConfiguration.Builder setDnsServers(@NonNull Iterable<java.net.InetAddress>);
470 method @NonNull public android.net.StaticIpConfiguration.Builder setDomains(@Nullable String);
471 method @NonNull public android.net.StaticIpConfiguration.Builder setGateway(@Nullable java.net.InetAddress);
472 method @NonNull public android.net.StaticIpConfiguration.Builder setIpAddress(@Nullable android.net.LinkAddress);
473 }
474
475 public final class TcpKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
476 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;
477 method public int describeContents();
Remi NGUYEN VAN019b0ee2021-04-08 13:59:10 +0900478 method public int getIpTos();
479 method public int getIpTtl();
480 method public int getTcpAck();
481 method public int getTcpSeq();
482 method public int getTcpWindow();
483 method public int getTcpWindowScale();
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900484 method public void writeToParcel(@NonNull android.os.Parcel, int);
485 field @NonNull public static final android.os.Parcelable.Creator<android.net.TcpKeepalivePacketData> CREATOR;
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900486 }
487
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900488}
489
490package android.net.apf {
491
492 public final class ApfCapabilities implements android.os.Parcelable {
493 ctor public ApfCapabilities(int, int, int);
494 method public int describeContents();
495 method public static boolean getApfDrop8023Frames();
496 method @NonNull public static int[] getApfEtherTypeBlackList();
497 method public boolean hasDataAccess();
498 method public void writeToParcel(android.os.Parcel, int);
499 field public static final android.os.Parcelable.Creator<android.net.apf.ApfCapabilities> CREATOR;
500 field public final int apfPacketFormat;
501 field public final int apfVersionSupported;
502 field public final int maximumApfProgramSize;
503 }
504
505}
506