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