blob: 119878e0723fc6157eddd2ac6ea6d72e261de5e1 [file] [log] [blame]
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +09001// 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 {
Chiachang Wangf9294e72021-03-18 09:44:34 +08009 method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void factoryReset();
Aaron Huangda103b32021-04-17 13:46:25 +080010 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();
Chiachang Wangf9294e72021-03-18 09:44:34 +080011 method @Nullable public android.net.ProxyInfo getGlobalProxy();
lucaslin5cdbcfb2021-03-12 00:46:33 +080012 method @NonNull public static android.util.Range<java.lang.Integer> getIpSecNetIdRange();
Chiachang Wang9075ae32021-04-20 15:41:24 +080013 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);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +090014 method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void registerSystemDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
junyulai8c8ac362021-04-15 00:39:49 +080015 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);
lucaslin29278ee2021-03-22 11:51:27 +080016 method @Deprecated public boolean requestRouteToHostAddress(int, java.net.InetAddress);
Chiachang Wangf9294e72021-03-18 09:44:34 +080017 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);
18 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);
19 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);
20 method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setGlobalProxy(@Nullable android.net.ProxyInfo);
lucaslin29278ee2021-03-22 11:51:27 +080021 method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setLegacyLockdownVpnEnabled(boolean);
Sooraj Sasindrane7aee272021-11-24 20:26:55 -080022 method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setProfileNetworkPreference(@NonNull android.os.UserHandle, int, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
23 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);
lucaslin29278ee2021-03-22 11:51:27 +080024 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>>);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +090025 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);
Remi NGUYEN VAN8238a762021-03-16 18:06:06 +090026 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);
lucaslin10774b72021-03-17 14:16:01 +080027 method public void systemReady();
markchiene1561fa2021-12-09 22:00:56 +080028 method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void updateFirewallRule(int, int, boolean);
markchien738ad912021-12-09 18:15:45 +080029 method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void updateMeteredNetworkAllowList(int, boolean);
30 method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void updateMeteredNetworkDenyList(int, boolean);
paulhub49c8422021-04-07 16:18:13 +080031 field public static final String ACTION_CLEAR_DNS_CACHE = "android.net.action.CLEAR_DNS_CACHE";
lucaslind89b2982021-03-04 17:09:51 +080032 field public static final String ACTION_PROMPT_LOST_VALIDATION = "android.net.action.PROMPT_LOST_VALIDATION";
33 field public static final String ACTION_PROMPT_PARTIAL_CONNECTIVITY = "android.net.action.PROMPT_PARTIAL_CONNECTIVITY";
34 field public static final String ACTION_PROMPT_UNVALIDATED = "android.net.action.PROMPT_UNVALIDATED";
Sudheer Shankaf1520bb2021-03-23 08:12:28 +000035 field public static final int BLOCKED_METERED_REASON_ADMIN_DISABLED = 262144; // 0x40000
36 field public static final int BLOCKED_METERED_REASON_DATA_SAVER = 65536; // 0x10000
Lorenzo Colitti8ad58122021-03-18 00:54:57 +090037 field public static final int BLOCKED_METERED_REASON_MASK = -65536; // 0xffff0000
Sudheer Shankaf1520bb2021-03-23 08:12:28 +000038 field public static final int BLOCKED_METERED_REASON_USER_RESTRICTED = 131072; // 0x20000
39 field public static final int BLOCKED_REASON_APP_STANDBY = 4; // 0x4
40 field public static final int BLOCKED_REASON_BATTERY_SAVER = 1; // 0x1
41 field public static final int BLOCKED_REASON_DOZE = 2; // 0x2
Lorenzo Colitti8ad58122021-03-18 00:54:57 +090042 field public static final int BLOCKED_REASON_LOCKDOWN_VPN = 16; // 0x10
Sudheer Shankaf1520bb2021-03-23 08:12:28 +000043 field public static final int BLOCKED_REASON_NONE = 0; // 0x0
44 field public static final int BLOCKED_REASON_RESTRICTED_MODE = 8; // 0x8
markchiene1561fa2021-12-09 22:00:56 +080045 field public static final int FIREWALL_CHAIN_DOZABLE = 1; // 0x1
46 field public static final int FIREWALL_CHAIN_POWERSAVE = 3; // 0x3
47 field public static final int FIREWALL_CHAIN_RESTRICTED = 4; // 0x4
48 field public static final int FIREWALL_CHAIN_STANDBY = 2; // 0x2
Chalard Jeanbef6b092021-03-17 14:33:24 +090049 field public static final int PROFILE_NETWORK_PREFERENCE_DEFAULT = 0; // 0x0
50 field public static final int PROFILE_NETWORK_PREFERENCE_ENTERPRISE = 1; // 0x1
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +090051 }
52
Lorenzo Colitti8ad58122021-03-18 00:54:57 +090053 public static class ConnectivityManager.NetworkCallback {
54 method public void onBlockedStatusChanged(@NonNull android.net.Network, int);
55 }
56
paulhu94430952021-03-23 00:24:50 +080057 public class ConnectivitySettingsManager {
58 method public static void clearGlobalProxy(@NonNull android.content.Context);
59 method @Nullable public static String getCaptivePortalHttpUrl(@NonNull android.content.Context);
60 method public static int getCaptivePortalMode(@NonNull android.content.Context, int);
61 method @NonNull public static java.time.Duration getConnectivityKeepPendingIntentDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
62 method @NonNull public static android.util.Range<java.lang.Integer> getDnsResolverSampleRanges(@NonNull android.content.Context);
63 method @NonNull public static java.time.Duration getDnsResolverSampleValidityDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
64 method public static int getDnsResolverSuccessThresholdPercent(@NonNull android.content.Context, int);
65 method @Nullable public static android.net.ProxyInfo getGlobalProxy(@NonNull android.content.Context);
66 method @NonNull public static java.time.Duration getMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
67 method public static boolean getMobileDataAlwaysOn(@NonNull android.content.Context, boolean);
paulhu344c1162021-05-11 09:42:50 +080068 method @NonNull public static java.util.Set<java.lang.Integer> getMobileDataPreferredUids(@NonNull android.content.Context);
paulhu94430952021-03-23 00:24:50 +080069 method public static int getNetworkAvoidBadWifi(@NonNull android.content.Context);
70 method @Nullable public static String getNetworkMeteredMultipathPreference(@NonNull android.content.Context);
71 method public static int getNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, int);
72 method @NonNull public static java.time.Duration getNetworkSwitchNotificationRateDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
73 method @NonNull public static String getPrivateDnsDefaultMode(@NonNull android.content.Context);
74 method @Nullable public static String getPrivateDnsHostname(@NonNull android.content.Context);
lucaslin57f9ba82021-04-23 21:03:39 +080075 method public static int getPrivateDnsMode(@NonNull android.content.Context);
paulhu91e78062021-05-26 16:16:57 +080076 method @NonNull public static java.util.Set<java.lang.Integer> getUidsAllowedOnRestrictedNetworks(@NonNull android.content.Context);
paulhu94430952021-03-23 00:24:50 +080077 method public static boolean getWifiAlwaysRequested(@NonNull android.content.Context, boolean);
78 method @NonNull public static java.time.Duration getWifiDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
79 method public static void setCaptivePortalHttpUrl(@NonNull android.content.Context, @Nullable String);
80 method public static void setCaptivePortalMode(@NonNull android.content.Context, int);
81 method public static void setConnectivityKeepPendingIntentDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
82 method public static void setDnsResolverSampleRanges(@NonNull android.content.Context, @NonNull android.util.Range<java.lang.Integer>);
83 method public static void setDnsResolverSampleValidityDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
84 method public static void setDnsResolverSuccessThresholdPercent(@NonNull android.content.Context, @IntRange(from=0, to=100) int);
85 method public static void setGlobalProxy(@NonNull android.content.Context, @NonNull android.net.ProxyInfo);
86 method public static void setMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
87 method public static void setMobileDataAlwaysOn(@NonNull android.content.Context, boolean);
paulhu344c1162021-05-11 09:42:50 +080088 method public static void setMobileDataPreferredUids(@NonNull android.content.Context, @NonNull java.util.Set<java.lang.Integer>);
paulhu94430952021-03-23 00:24:50 +080089 method public static void setNetworkAvoidBadWifi(@NonNull android.content.Context, int);
90 method public static void setNetworkMeteredMultipathPreference(@NonNull android.content.Context, @NonNull String);
91 method public static void setNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, @IntRange(from=0) int);
92 method public static void setNetworkSwitchNotificationRateDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
lucaslin57f9ba82021-04-23 21:03:39 +080093 method public static void setPrivateDnsDefaultMode(@NonNull android.content.Context, @NonNull int);
paulhu94430952021-03-23 00:24:50 +080094 method public static void setPrivateDnsHostname(@NonNull android.content.Context, @Nullable String);
lucaslin57f9ba82021-04-23 21:03:39 +080095 method public static void setPrivateDnsMode(@NonNull android.content.Context, int);
paulhu91e78062021-05-26 16:16:57 +080096 method public static void setUidsAllowedOnRestrictedNetworks(@NonNull android.content.Context, @NonNull java.util.Set<java.lang.Integer>);
paulhu94430952021-03-23 00:24:50 +080097 method public static void setWifiAlwaysRequested(@NonNull android.content.Context, boolean);
98 method public static void setWifiDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
99 field public static final int CAPTIVE_PORTAL_MODE_AVOID = 2; // 0x2
100 field public static final int CAPTIVE_PORTAL_MODE_IGNORE = 0; // 0x0
101 field public static final int CAPTIVE_PORTAL_MODE_PROMPT = 1; // 0x1
102 field public static final int NETWORK_AVOID_BAD_WIFI_AVOID = 2; // 0x2
103 field public static final int NETWORK_AVOID_BAD_WIFI_IGNORE = 0; // 0x0
104 field public static final int NETWORK_AVOID_BAD_WIFI_PROMPT = 1; // 0x1
lucaslin57f9ba82021-04-23 21:03:39 +0800105 field public static final int PRIVATE_DNS_MODE_OFF = 1; // 0x1
106 field public static final int PRIVATE_DNS_MODE_OPPORTUNISTIC = 2; // 0x2
107 field public static final int PRIVATE_DNS_MODE_PROVIDER_HOSTNAME = 3; // 0x3
paulhu94430952021-03-23 00:24:50 +0800108 }
109
Mingguang Xu2d87c612021-10-29 00:18:55 -0700110 public final class DhcpOption implements android.os.Parcelable {
111 ctor public DhcpOption(byte, @Nullable byte[]);
112 method public int describeContents();
113 method public byte getType();
114 method @Nullable public byte[] getValue();
115 method public void writeToParcel(@NonNull android.os.Parcel, int);
116 field @NonNull public static final android.os.Parcelable.Creator<android.net.DhcpOption> CREATOR;
117 }
118
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900119 public final class NetworkAgentConfig implements android.os.Parcelable {
120 method @Nullable public String getSubscriberId();
lucaslin0e345e92021-03-22 15:07:41 +0800121 method public boolean isBypassableVpn();
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900122 }
123
124 public static final class NetworkAgentConfig.Builder {
lucaslin0e345e92021-03-22 15:07:41 +0800125 method @NonNull public android.net.NetworkAgentConfig.Builder setBypassableVpn(boolean);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900126 method @NonNull public android.net.NetworkAgentConfig.Builder setSubscriberId(@Nullable String);
127 }
128
129 public final class NetworkCapabilities implements android.os.Parcelable {
Chiachang Wang628cb112021-03-19 00:45:39 +0000130 method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getUids();
Lorenzo Colitti395fafb2021-04-27 10:37:09 +0900131 method public boolean hasForbiddenCapability(int);
Sooraj Sasindran41969372021-12-10 11:31:19 -0800132 field public static final int NET_CAPABILITY_ENTERPRISE_SUB_LEVEL_1 = 1; // 0x1
133 field public static final int NET_CAPABILITY_ENTERPRISE_SUB_LEVEL_2 = 2; // 0x2
134 field public static final int NET_CAPABILITY_ENTERPRISE_SUB_LEVEL_3 = 3; // 0x3
135 field public static final int NET_CAPABILITY_ENTERPRISE_SUB_LEVEL_4 = 4; // 0x4
136 field public static final int NET_CAPABILITY_ENTERPRISE_SUB_LEVEL_5 = 5; // 0x5
Roshan Piuse2d28382021-02-23 08:47:39 -0800137 field public static final long REDACT_ALL = -1L; // 0xffffffffffffffffL
138 field public static final long REDACT_FOR_ACCESS_FINE_LOCATION = 1L; // 0x1L
139 field public static final long REDACT_FOR_LOCAL_MAC_ADDRESS = 2L; // 0x2L
140 field public static final long REDACT_FOR_NETWORK_SETTINGS = 4L; // 0x4L
141 field public static final long REDACT_NONE = 0L; // 0x0L
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900142 field public static final int TRANSPORT_TEST = 7; // 0x7
143 }
144
Chiachang Wang628cb112021-03-19 00:45:39 +0000145 public static final class NetworkCapabilities.Builder {
146 method @NonNull public android.net.NetworkCapabilities.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>);
147 }
148
junyulaib15b7db2021-03-16 10:24:43 +0800149 public class NetworkRequest implements android.os.Parcelable {
Lorenzo Colitti395fafb2021-04-27 10:37:09 +0900150 method @NonNull public int[] getForbiddenCapabilities();
151 method public boolean hasForbiddenCapability(int);
junyulaib15b7db2021-03-16 10:24:43 +0800152 }
153
Chiachang Wang628cb112021-03-19 00:45:39 +0000154 public static class NetworkRequest.Builder {
Lorenzo Colitti395fafb2021-04-27 10:37:09 +0900155 method @NonNull public android.net.NetworkRequest.Builder addForbiddenCapability(int);
156 method @NonNull public android.net.NetworkRequest.Builder removeForbiddenCapability(int);
Chiachang Wang628cb112021-03-19 00:45:39 +0000157 method @NonNull public android.net.NetworkRequest.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>);
158 }
159
Sooraj Sasindrane7aee272021-11-24 20:26:55 -0800160 public final class ProfileNetworkPreference implements android.os.Parcelable {
161 method public int describeContents();
162 method public int getPreference();
163 method public void writeToParcel(@NonNull android.os.Parcel, int);
164 field @NonNull public static final android.os.Parcelable.Creator<android.net.ProfileNetworkPreference> CREATOR;
165 }
166
167 public static final class ProfileNetworkPreference.Builder {
168 ctor public ProfileNetworkPreference.Builder();
169 method @NonNull public android.net.ProfileNetworkPreference build();
170 method @NonNull public android.net.ProfileNetworkPreference.Builder setPreference(int);
171 }
172
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900173 public final class TestNetworkInterface implements android.os.Parcelable {
174 ctor public TestNetworkInterface(@NonNull android.os.ParcelFileDescriptor, @NonNull String);
175 method public int describeContents();
176 method @NonNull public android.os.ParcelFileDescriptor getFileDescriptor();
177 method @NonNull public String getInterfaceName();
178 method public void writeToParcel(@NonNull android.os.Parcel, int);
179 field @NonNull public static final android.os.Parcelable.Creator<android.net.TestNetworkInterface> CREATOR;
180 }
181
182 public class TestNetworkManager {
Remi NGUYEN VANc5174c32021-04-08 16:08:46 +0900183 method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public android.net.TestNetworkInterface createTapInterface();
184 method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public android.net.TestNetworkInterface createTunInterface(@NonNull java.util.Collection<android.net.LinkAddress>);
185 method @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public void setupTestNetwork(@NonNull String, @NonNull android.os.IBinder);
186 method @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public void teardownTestNetwork(@NonNull android.net.Network);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900187 field public static final String TEST_TAP_PREFIX = "testtap";
188 }
189
Remi NGUYEN VANea33ac92021-02-04 14:20:19 +0900190 public final class TestNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
191 ctor public TestNetworkSpecifier(@NonNull String);
192 method public int describeContents();
193 method @Nullable public String getInterfaceName();
194 method public void writeToParcel(@NonNull android.os.Parcel, int);
195 field @NonNull public static final android.os.Parcelable.Creator<android.net.TestNetworkSpecifier> CREATOR;
196 }
197
Roshan Piuse2d28382021-02-23 08:47:39 -0800198 public interface TransportInfo {
199 method public default long getApplicableRedactions();
200 method @NonNull public default android.net.TransportInfo makeCopy(long);
201 }
202
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900203 public final class VpnTransportInfo implements android.os.Parcelable android.net.TransportInfo {
lifr65b9f962021-03-24 18:38:37 +0800204 ctor public VpnTransportInfo(int, @Nullable String);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900205 method public int describeContents();
Chiachang Wang9075ae32021-04-20 15:41:24 +0800206 method @Nullable public String getSessionId();
207 method public int getType();
lifr65b9f962021-03-24 18:38:37 +0800208 method @NonNull public android.net.VpnTransportInfo makeCopy(long);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900209 method public void writeToParcel(@NonNull android.os.Parcel, int);
210 field @NonNull public static final android.os.Parcelable.Creator<android.net.VpnTransportInfo> CREATOR;
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900211 }
212
213}
214