xref: /aosp_15_r20/prebuilts/sdk/35/module-lib/api/framework-connectivity.txt (revision 344a7f5ef16c479e7a7f54ee6567a9d112f9e72b)
1// Signature format: 2.0
2package android.net {
3
4  public final class ConnectivityFrameworkInitializer {
5    method public static void registerServiceWrappers();
6  }
7
8  public class ConnectivityManager {
9    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void addUidToMeteredNetworkAllowList(int);
10    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void addUidToMeteredNetworkDenyList(int);
11    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void factoryReset();
12    method @NonNull @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public java.util.List<android.net.NetworkStateSnapshot> getAllNetworkStateSnapshots();
13    method @Nullable public android.net.ProxyInfo getGlobalProxy();
14    method @NonNull public static android.util.Range<java.lang.Integer> getIpSecNetIdRange();
15    method @Nullable @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public android.net.LinkProperties getRedactedLinkPropertiesForPackage(@NonNull android.net.LinkProperties, int, @NonNull String);
16    method @Nullable @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public android.net.NetworkCapabilities getRedactedNetworkCapabilitiesForPackage(@NonNull android.net.NetworkCapabilities, int, @NonNull String);
17    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public boolean isUidNetworkingBlocked(int, boolean);
18    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void registerDefaultNetworkCallbackForUid(int, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
19    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS}) public void registerSystemDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
20    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void removeUidFromMeteredNetworkAllowList(int);
21    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void removeUidFromMeteredNetworkDenyList(int);
22    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void replaceFirewallChain(int, @NonNull int[]);
23    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void requestBackgroundNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
24    method @Deprecated public boolean requestRouteToHostAddress(int, java.net.InetAddress);
25    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setAcceptPartialConnectivity(@NonNull android.net.Network, boolean, boolean);
26    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setAcceptUnvalidated(@NonNull android.net.Network, boolean, boolean);
27    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setAvoidUnvalidated(@NonNull android.net.Network);
28    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setDataSaverEnabled(boolean);
29    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setFirewallChainEnabled(int, boolean);
30    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setGlobalProxy(@Nullable android.net.ProxyInfo);
31    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setLegacyLockdownVpnEnabled(boolean);
32    method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setProfileNetworkPreference(@NonNull android.os.UserHandle, int, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
33    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setProfileNetworkPreferences(@NonNull android.os.UserHandle, @NonNull java.util.List<android.net.ProfileNetworkPreference>, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
34    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setRequireVpnForUids(boolean, @NonNull java.util.Collection<android.util.Range<java.lang.Integer>>);
35    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setUidFirewallRule(int, int, int);
36    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setVpnDefaultForUids(@NonNull String, @NonNull java.util.Collection<android.util.Range<java.lang.Integer>>);
37    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_TEST_NETWORKS, android.Manifest.permission.NETWORK_STACK}) public void simulateDataStall(int, long, @NonNull android.net.Network, @NonNull android.os.PersistableBundle);
38    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void startCaptivePortalApp(@NonNull android.net.Network);
39    method public void systemReady();
40    field public static final String ACTION_CLEAR_DNS_CACHE = "android.net.action.CLEAR_DNS_CACHE";
41    field public static final String ACTION_PROMPT_LOST_VALIDATION = "android.net.action.PROMPT_LOST_VALIDATION";
42    field public static final String ACTION_PROMPT_PARTIAL_CONNECTIVITY = "android.net.action.PROMPT_PARTIAL_CONNECTIVITY";
43    field public static final String ACTION_PROMPT_UNVALIDATED = "android.net.action.PROMPT_UNVALIDATED";
44    field public static final int BLOCKED_METERED_REASON_ADMIN_DISABLED = 262144; // 0x40000
45    field public static final int BLOCKED_METERED_REASON_DATA_SAVER = 65536; // 0x10000
46    field public static final int BLOCKED_METERED_REASON_MASK = -65536; // 0xffff0000
47    field public static final int BLOCKED_METERED_REASON_USER_RESTRICTED = 131072; // 0x20000
48    field public static final int BLOCKED_REASON_APP_BACKGROUND = 64; // 0x40
49    field public static final int BLOCKED_REASON_APP_STANDBY = 4; // 0x4
50    field public static final int BLOCKED_REASON_BATTERY_SAVER = 1; // 0x1
51    field public static final int BLOCKED_REASON_DOZE = 2; // 0x2
52    field public static final int BLOCKED_REASON_LOCKDOWN_VPN = 16; // 0x10
53    field public static final int BLOCKED_REASON_LOW_POWER_STANDBY = 32; // 0x20
54    field public static final int BLOCKED_REASON_NONE = 0; // 0x0
55    field public static final int BLOCKED_REASON_RESTRICTED_MODE = 8; // 0x8
56    field public static final int FIREWALL_CHAIN_BACKGROUND = 6; // 0x6
57    field public static final int FIREWALL_CHAIN_DOZABLE = 1; // 0x1
58    field public static final int FIREWALL_CHAIN_LOW_POWER_STANDBY = 5; // 0x5
59    field public static final int FIREWALL_CHAIN_OEM_DENY_1 = 7; // 0x7
60    field public static final int FIREWALL_CHAIN_OEM_DENY_2 = 8; // 0x8
61    field public static final int FIREWALL_CHAIN_OEM_DENY_3 = 9; // 0x9
62    field public static final int FIREWALL_CHAIN_POWERSAVE = 3; // 0x3
63    field public static final int FIREWALL_CHAIN_RESTRICTED = 4; // 0x4
64    field public static final int FIREWALL_CHAIN_STANDBY = 2; // 0x2
65    field public static final int FIREWALL_RULE_ALLOW = 1; // 0x1
66    field public static final int FIREWALL_RULE_DEFAULT = 0; // 0x0
67    field public static final int FIREWALL_RULE_DENY = 2; // 0x2
68    field public static final int PROFILE_NETWORK_PREFERENCE_DEFAULT = 0; // 0x0
69    field public static final int PROFILE_NETWORK_PREFERENCE_ENTERPRISE = 1; // 0x1
70    field public static final int PROFILE_NETWORK_PREFERENCE_ENTERPRISE_BLOCKING = 3; // 0x3
71    field public static final int PROFILE_NETWORK_PREFERENCE_ENTERPRISE_NO_FALLBACK = 2; // 0x2
72  }
73
74  public static class ConnectivityManager.NetworkCallback {
75    method public void onBlockedStatusChanged(@NonNull android.net.Network, int);
76  }
77
78  public class ConnectivitySettingsManager {
79    method public static void clearGlobalProxy(@NonNull android.content.Context);
80    method @Nullable public static String getCaptivePortalHttpUrl(@NonNull android.content.Context);
81    method public static int getCaptivePortalMode(@NonNull android.content.Context, int);
82    method @NonNull public static java.time.Duration getConnectivityKeepPendingIntentDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
83    method @NonNull public static android.util.Range<java.lang.Integer> getDnsResolverSampleRanges(@NonNull android.content.Context);
84    method @NonNull public static java.time.Duration getDnsResolverSampleValidityDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
85    method public static int getDnsResolverSuccessThresholdPercent(@NonNull android.content.Context, int);
86    method @Nullable public static android.net.ProxyInfo getGlobalProxy(@NonNull android.content.Context);
87    method public static long getIngressRateLimitInBytesPerSecond(@NonNull android.content.Context);
88    method @NonNull public static java.time.Duration getMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
89    method public static boolean getMobileDataAlwaysOn(@NonNull android.content.Context, boolean);
90    method @NonNull public static java.util.Set<java.lang.Integer> getMobileDataPreferredUids(@NonNull android.content.Context);
91    method public static int getNetworkAvoidBadWifi(@NonNull android.content.Context);
92    method @Nullable public static String getNetworkMeteredMultipathPreference(@NonNull android.content.Context);
93    method public static int getNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, int);
94    method @NonNull public static java.time.Duration getNetworkSwitchNotificationRateDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
95    method @NonNull public static String getPrivateDnsDefaultMode(@NonNull android.content.Context);
96    method @Nullable public static String getPrivateDnsHostname(@NonNull android.content.Context);
97    method public static int getPrivateDnsMode(@NonNull android.content.Context);
98    method @NonNull public static java.util.Set<java.lang.Integer> getUidsAllowedOnRestrictedNetworks(@NonNull android.content.Context);
99    method public static boolean getWifiAlwaysRequested(@NonNull android.content.Context, boolean);
100    method @NonNull public static java.time.Duration getWifiDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
101    method public static void setCaptivePortalHttpUrl(@NonNull android.content.Context, @Nullable String);
102    method public static void setCaptivePortalMode(@NonNull android.content.Context, int);
103    method public static void setConnectivityKeepPendingIntentDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
104    method public static void setDnsResolverSampleRanges(@NonNull android.content.Context, @NonNull android.util.Range<java.lang.Integer>);
105    method public static void setDnsResolverSampleValidityDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
106    method public static void setDnsResolverSuccessThresholdPercent(@NonNull android.content.Context, @IntRange(from=0, to=100) int);
107    method public static void setGlobalProxy(@NonNull android.content.Context, @NonNull android.net.ProxyInfo);
108    method public static void setIngressRateLimitInBytesPerSecond(@NonNull android.content.Context, @IntRange(from=-1L, to=4294967295L) long);
109    method public static void setMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
110    method public static void setMobileDataAlwaysOn(@NonNull android.content.Context, boolean);
111    method public static void setMobileDataPreferredUids(@NonNull android.content.Context, @NonNull java.util.Set<java.lang.Integer>);
112    method public static void setNetworkAvoidBadWifi(@NonNull android.content.Context, int);
113    method public static void setNetworkMeteredMultipathPreference(@NonNull android.content.Context, @NonNull String);
114    method public static void setNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, @IntRange(from=0) int);
115    method public static void setNetworkSwitchNotificationRateDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
116    method public static void setPrivateDnsDefaultMode(@NonNull android.content.Context, @NonNull int);
117    method public static void setPrivateDnsHostname(@NonNull android.content.Context, @Nullable String);
118    method public static void setPrivateDnsMode(@NonNull android.content.Context, int);
119    method public static void setUidsAllowedOnRestrictedNetworks(@NonNull android.content.Context, @NonNull java.util.Set<java.lang.Integer>);
120    method public static void setWifiAlwaysRequested(@NonNull android.content.Context, boolean);
121    method public static void setWifiDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
122    field public static final int CAPTIVE_PORTAL_MODE_AVOID = 2; // 0x2
123    field public static final int CAPTIVE_PORTAL_MODE_IGNORE = 0; // 0x0
124    field public static final int CAPTIVE_PORTAL_MODE_PROMPT = 1; // 0x1
125    field public static final int NETWORK_AVOID_BAD_WIFI_AVOID = 2; // 0x2
126    field public static final int NETWORK_AVOID_BAD_WIFI_IGNORE = 0; // 0x0
127    field public static final int NETWORK_AVOID_BAD_WIFI_PROMPT = 1; // 0x1
128    field public static final int PRIVATE_DNS_MODE_OFF = 1; // 0x1
129    field public static final int PRIVATE_DNS_MODE_OPPORTUNISTIC = 2; // 0x2
130    field public static final int PRIVATE_DNS_MODE_PROVIDER_HOSTNAME = 3; // 0x3
131  }
132
133  public final class DhcpOption implements android.os.Parcelable {
134    ctor public DhcpOption(byte, @Nullable byte[]);
135    method public int describeContents();
136    method public byte getType();
137    method @Nullable public byte[] getValue();
138    method public void writeToParcel(@NonNull android.os.Parcel, int);
139    field @NonNull public static final android.os.Parcelable.Creator<android.net.DhcpOption> CREATOR;
140  }
141
142  public final class NetworkAgentConfig implements android.os.Parcelable {
143    method @Nullable public String getSubscriberId();
144    method public boolean isBypassableVpn();
145    method public boolean isVpnValidationRequired();
146  }
147
148  public static final class NetworkAgentConfig.Builder {
149    method @NonNull public android.net.NetworkAgentConfig.Builder setBypassableVpn(boolean);
150    method @NonNull public android.net.NetworkAgentConfig.Builder setLocalRoutesExcludedForVpn(boolean);
151    method @NonNull public android.net.NetworkAgentConfig.Builder setSubscriberId(@Nullable String);
152    method @NonNull public android.net.NetworkAgentConfig.Builder setVpnRequiresValidation(boolean);
153  }
154
155  public final class NetworkCapabilities implements android.os.Parcelable {
156    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public java.util.Set<java.lang.Integer> getAllowedUids();
157    method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getUids();
158    method public boolean hasForbiddenCapability(int);
159    field public static final long REDACT_ALL = -1L; // 0xffffffffffffffffL
160    field public static final long REDACT_FOR_ACCESS_FINE_LOCATION = 1L; // 0x1L
161    field public static final long REDACT_FOR_LOCAL_MAC_ADDRESS = 2L; // 0x2L
162    field public static final long REDACT_FOR_NETWORK_SETTINGS = 4L; // 0x4L
163    field public static final long REDACT_NONE = 0L; // 0x0L
164    field public static final int TRANSPORT_TEST = 7; // 0x7
165  }
166
167  public static final class NetworkCapabilities.Builder {
168    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAllowedUids(@NonNull java.util.Set<java.lang.Integer>);
169    method @NonNull public android.net.NetworkCapabilities.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>);
170  }
171
172  public class NetworkRequest implements android.os.Parcelable {
173    method @NonNull public int[] getEnterpriseIds();
174    method @NonNull public int[] getForbiddenCapabilities();
175    method public boolean hasEnterpriseId(int);
176    method public boolean hasForbiddenCapability(int);
177  }
178
179  public static class NetworkRequest.Builder {
180    method @NonNull public android.net.NetworkRequest.Builder addForbiddenCapability(int);
181    method @NonNull public android.net.NetworkRequest.Builder removeForbiddenCapability(int);
182    method @NonNull public android.net.NetworkRequest.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>);
183  }
184
185  public final class ProfileNetworkPreference implements android.os.Parcelable {
186    method public int describeContents();
187    method @NonNull public int[] getExcludedUids();
188    method @NonNull public int[] getIncludedUids();
189    method public int getPreference();
190    method public int getPreferenceEnterpriseId();
191    method public void writeToParcel(@NonNull android.os.Parcel, int);
192    field @NonNull public static final android.os.Parcelable.Creator<android.net.ProfileNetworkPreference> CREATOR;
193  }
194
195  public static final class ProfileNetworkPreference.Builder {
196    ctor public ProfileNetworkPreference.Builder();
197    method @NonNull public android.net.ProfileNetworkPreference build();
198    method @NonNull public android.net.ProfileNetworkPreference.Builder setExcludedUids(@NonNull int[]);
199    method @NonNull public android.net.ProfileNetworkPreference.Builder setIncludedUids(@NonNull int[]);
200    method @NonNull public android.net.ProfileNetworkPreference.Builder setPreference(int);
201    method @NonNull public android.net.ProfileNetworkPreference.Builder setPreferenceEnterpriseId(int);
202  }
203
204  public final class TestNetworkInterface implements android.os.Parcelable {
205    ctor public TestNetworkInterface(@NonNull android.os.ParcelFileDescriptor, @NonNull String);
206    method public int describeContents();
207    method @NonNull public android.os.ParcelFileDescriptor getFileDescriptor();
208    method @NonNull public String getInterfaceName();
209    method @Nullable public android.net.MacAddress getMacAddress();
210    method public int getMtu();
211    method public void writeToParcel(@NonNull android.os.Parcel, int);
212    field @NonNull public static final android.os.Parcelable.Creator<android.net.TestNetworkInterface> CREATOR;
213  }
214
215  public class TestNetworkManager {
216    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public android.net.TestNetworkInterface createTapInterface();
217    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public android.net.TestNetworkInterface createTunInterface(@NonNull java.util.Collection<android.net.LinkAddress>);
218    method @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public void setupTestNetwork(@NonNull String, @NonNull android.os.IBinder);
219    method @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public void teardownTestNetwork(@NonNull android.net.Network);
220    field public static final String TEST_TAP_PREFIX = "testtap";
221  }
222
223  public final class TestNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
224    ctor public TestNetworkSpecifier(@NonNull String);
225    method public int describeContents();
226    method @Nullable public String getInterfaceName();
227    method public void writeToParcel(@NonNull android.os.Parcel, int);
228    field @NonNull public static final android.os.Parcelable.Creator<android.net.TestNetworkSpecifier> CREATOR;
229  }
230
231  public interface TransportInfo {
232    method public default long getApplicableRedactions();
233    method @NonNull public default android.net.TransportInfo makeCopy(long);
234  }
235
236  public final class VpnTransportInfo implements android.os.Parcelable android.net.TransportInfo {
237    ctor @Deprecated public VpnTransportInfo(int, @Nullable String);
238    method public long getApplicableRedactions();
239    method @Nullable public String getSessionId();
240    method @NonNull public android.net.VpnTransportInfo makeCopy(long);
241  }
242
243}
244
245