blob: b2aafa0e14c0b7afb05ca3141288a8552be68547 [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 {
markchiene46042b2022-03-02 18:07:35 +08009 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);
Chiachang Wangf9294e72021-03-18 09:44:34 +080011 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 +080012 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 +080013 method @Nullable public android.net.ProxyInfo getGlobalProxy();
lucaslin5cdbcfb2021-03-12 00:46:33 +080014 method @NonNull public static android.util.Range<java.lang.Integer> getIpSecNetIdRange();
lucaslind2b06132022-03-02 10:56:57 +080015 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);
Junyu Laibb594802023-09-04 11:37:03 +080017 method @FlaggedApi("com.android.net.flags.support_is_uid_networking_blocked") @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public boolean isUidNetworkingBlocked(int, boolean);
Chiachang Wang9075ae32021-04-20 15:41:24 +080018 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);
Quang Luong98858d62023-02-11 00:25:24 +000019 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);
markchiene46042b2022-03-02 18:07:35 +080020 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);
markchien00a0bed2022-01-13 23:46:13 +080022 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[]);
junyulai8c8ac362021-04-15 00:39:49 +080023 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 +080024 method @Deprecated public boolean requestRouteToHostAddress(int, java.net.InetAddress);
Chiachang Wangf9294e72021-03-18 09:44:34 +080025 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);
Junyu Laidf210362023-10-24 02:47:50 +000028 method @FlaggedApi("com.android.net.flags.set_data_saver_via_cm") @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setDataSaverEnabled(boolean);
markchien98a6f952022-01-13 23:43:53 +080029 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);
Chiachang Wangf9294e72021-03-18 09:44:34 +080030 method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setGlobalProxy(@Nullable android.net.ProxyInfo);
lucaslin29278ee2021-03-22 11:51:27 +080031 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 -080032 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);
lucaslin29278ee2021-03-22 11:51:27 +080034 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>>);
markchien3c04e662022-03-22 16:29:56 +080035 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);
lucaslin3ba7cc22022-12-19 02:35:33 +000036 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>>);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +090037 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 +090038 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 +080039 method public void systemReady();
paulhub49c8422021-04-07 16:18:13 +080040 field public static final String ACTION_CLEAR_DNS_CACHE = "android.net.action.CLEAR_DNS_CACHE";
lucaslind89b2982021-03-04 17:09:51 +080041 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";
Sudheer Shankaf1520bb2021-03-23 08:12:28 +000044 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
Lorenzo Colitti8ad58122021-03-18 00:54:57 +090046 field public static final int BLOCKED_METERED_REASON_MASK = -65536; // 0xffff0000
Sudheer Shankaf1520bb2021-03-23 08:12:28 +000047 field public static final int BLOCKED_METERED_REASON_USER_RESTRICTED = 131072; // 0x20000
Suprabh Shukla2d893b62023-11-06 08:47:40 -080048 field @FlaggedApi("com.android.net.flags.basic_background_restrictions_enabled") public static final int BLOCKED_REASON_APP_BACKGROUND = 64; // 0x40
Sudheer Shankaf1520bb2021-03-23 08:12:28 +000049 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
Lorenzo Colitti8ad58122021-03-18 00:54:57 +090052 field public static final int BLOCKED_REASON_LOCKDOWN_VPN = 16; // 0x10
Robert Horvath2dac9482021-11-15 15:49:37 +010053 field public static final int BLOCKED_REASON_LOW_POWER_STANDBY = 32; // 0x20
Sudheer Shankaf1520bb2021-03-23 08:12:28 +000054 field public static final int BLOCKED_REASON_NONE = 0; // 0x0
55 field public static final int BLOCKED_REASON_RESTRICTED_MODE = 8; // 0x8
Suprabh Shukla2d893b62023-11-06 08:47:40 -080056 field @FlaggedApi("com.android.net.flags.basic_background_restrictions_enabled") public static final int FIREWALL_CHAIN_BACKGROUND = 6; // 0x6
markchiene1561fa2021-12-09 22:00:56 +080057 field public static final int FIREWALL_CHAIN_DOZABLE = 1; // 0x1
Robert Horvath34cba142022-01-27 19:52:43 +010058 field public static final int FIREWALL_CHAIN_LOW_POWER_STANDBY = 5; // 0x5
Motomu Utsumi11d33452024-04-02 18:29:08 +090059 field @FlaggedApi("com.android.net.flags.metered_network_firewall_chains") public static final int FIREWALL_CHAIN_METERED_ALLOW = 10; // 0xa
60 field @FlaggedApi("com.android.net.flags.metered_network_firewall_chains") public static final int FIREWALL_CHAIN_METERED_DENY_ADMIN = 12; // 0xc
61 field @FlaggedApi("com.android.net.flags.metered_network_firewall_chains") public static final int FIREWALL_CHAIN_METERED_DENY_USER = 11; // 0xb
Motomu Utsumi62385c82022-06-12 11:37:19 +000062 field public static final int FIREWALL_CHAIN_OEM_DENY_1 = 7; // 0x7
63 field public static final int FIREWALL_CHAIN_OEM_DENY_2 = 8; // 0x8
64 field public static final int FIREWALL_CHAIN_OEM_DENY_3 = 9; // 0x9
markchiene1561fa2021-12-09 22:00:56 +080065 field public static final int FIREWALL_CHAIN_POWERSAVE = 3; // 0x3
66 field public static final int FIREWALL_CHAIN_RESTRICTED = 4; // 0x4
67 field public static final int FIREWALL_CHAIN_STANDBY = 2; // 0x2
markchien3c04e662022-03-22 16:29:56 +080068 field public static final int FIREWALL_RULE_ALLOW = 1; // 0x1
69 field public static final int FIREWALL_RULE_DEFAULT = 0; // 0x0
70 field public static final int FIREWALL_RULE_DENY = 2; // 0x2
Chalard Jeanbef6b092021-03-17 14:33:24 +090071 field public static final int PROFILE_NETWORK_PREFERENCE_DEFAULT = 0; // 0x0
72 field public static final int PROFILE_NETWORK_PREFERENCE_ENTERPRISE = 1; // 0x1
Junyu Lai35665cc2022-12-19 17:37:48 +080073 field public static final int PROFILE_NETWORK_PREFERENCE_ENTERPRISE_BLOCKING = 3; // 0x3
Sooraj Sasindran06baf4c2021-11-29 12:21:09 -080074 field public static final int PROFILE_NETWORK_PREFERENCE_ENTERPRISE_NO_FALLBACK = 2; // 0x2
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +090075 }
76
Lorenzo Colitti8ad58122021-03-18 00:54:57 +090077 public static class ConnectivityManager.NetworkCallback {
78 method public void onBlockedStatusChanged(@NonNull android.net.Network, int);
79 }
80
paulhu94430952021-03-23 00:24:50 +080081 public class ConnectivitySettingsManager {
82 method public static void clearGlobalProxy(@NonNull android.content.Context);
83 method @Nullable public static String getCaptivePortalHttpUrl(@NonNull android.content.Context);
84 method public static int getCaptivePortalMode(@NonNull android.content.Context, int);
85 method @NonNull public static java.time.Duration getConnectivityKeepPendingIntentDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
86 method @NonNull public static android.util.Range<java.lang.Integer> getDnsResolverSampleRanges(@NonNull android.content.Context);
87 method @NonNull public static java.time.Duration getDnsResolverSampleValidityDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
88 method public static int getDnsResolverSuccessThresholdPercent(@NonNull android.content.Context, int);
89 method @Nullable public static android.net.ProxyInfo getGlobalProxy(@NonNull android.content.Context);
Patrick Rohra2084362022-01-03 15:55:52 +010090 method public static long getIngressRateLimitInBytesPerSecond(@NonNull android.content.Context);
paulhu94430952021-03-23 00:24:50 +080091 method @NonNull public static java.time.Duration getMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
92 method public static boolean getMobileDataAlwaysOn(@NonNull android.content.Context, boolean);
paulhu344c1162021-05-11 09:42:50 +080093 method @NonNull public static java.util.Set<java.lang.Integer> getMobileDataPreferredUids(@NonNull android.content.Context);
paulhu94430952021-03-23 00:24:50 +080094 method public static int getNetworkAvoidBadWifi(@NonNull android.content.Context);
95 method @Nullable public static String getNetworkMeteredMultipathPreference(@NonNull android.content.Context);
96 method public static int getNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, int);
97 method @NonNull public static java.time.Duration getNetworkSwitchNotificationRateDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
98 method @NonNull public static String getPrivateDnsDefaultMode(@NonNull android.content.Context);
99 method @Nullable public static String getPrivateDnsHostname(@NonNull android.content.Context);
lucaslin57f9ba82021-04-23 21:03:39 +0800100 method public static int getPrivateDnsMode(@NonNull android.content.Context);
paulhu91e78062021-05-26 16:16:57 +0800101 method @NonNull public static java.util.Set<java.lang.Integer> getUidsAllowedOnRestrictedNetworks(@NonNull android.content.Context);
paulhu94430952021-03-23 00:24:50 +0800102 method public static boolean getWifiAlwaysRequested(@NonNull android.content.Context, boolean);
103 method @NonNull public static java.time.Duration getWifiDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
104 method public static void setCaptivePortalHttpUrl(@NonNull android.content.Context, @Nullable String);
105 method public static void setCaptivePortalMode(@NonNull android.content.Context, int);
106 method public static void setConnectivityKeepPendingIntentDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
107 method public static void setDnsResolverSampleRanges(@NonNull android.content.Context, @NonNull android.util.Range<java.lang.Integer>);
108 method public static void setDnsResolverSampleValidityDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
109 method public static void setDnsResolverSuccessThresholdPercent(@NonNull android.content.Context, @IntRange(from=0, to=100) int);
110 method public static void setGlobalProxy(@NonNull android.content.Context, @NonNull android.net.ProxyInfo);
Patrick Rohrca7e5782022-02-18 10:34:20 +0100111 method public static void setIngressRateLimitInBytesPerSecond(@NonNull android.content.Context, @IntRange(from=-1L, to=4294967295L) long);
paulhu94430952021-03-23 00:24:50 +0800112 method public static void setMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
113 method public static void setMobileDataAlwaysOn(@NonNull android.content.Context, boolean);
paulhu344c1162021-05-11 09:42:50 +0800114 method public static void setMobileDataPreferredUids(@NonNull android.content.Context, @NonNull java.util.Set<java.lang.Integer>);
paulhu94430952021-03-23 00:24:50 +0800115 method public static void setNetworkAvoidBadWifi(@NonNull android.content.Context, int);
116 method public static void setNetworkMeteredMultipathPreference(@NonNull android.content.Context, @NonNull String);
117 method public static void setNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, @IntRange(from=0) int);
118 method public static void setNetworkSwitchNotificationRateDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
lucaslin57f9ba82021-04-23 21:03:39 +0800119 method public static void setPrivateDnsDefaultMode(@NonNull android.content.Context, @NonNull int);
paulhu94430952021-03-23 00:24:50 +0800120 method public static void setPrivateDnsHostname(@NonNull android.content.Context, @Nullable String);
lucaslin57f9ba82021-04-23 21:03:39 +0800121 method public static void setPrivateDnsMode(@NonNull android.content.Context, int);
paulhu91e78062021-05-26 16:16:57 +0800122 method public static void setUidsAllowedOnRestrictedNetworks(@NonNull android.content.Context, @NonNull java.util.Set<java.lang.Integer>);
paulhu94430952021-03-23 00:24:50 +0800123 method public static void setWifiAlwaysRequested(@NonNull android.content.Context, boolean);
124 method public static void setWifiDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
125 field public static final int CAPTIVE_PORTAL_MODE_AVOID = 2; // 0x2
126 field public static final int CAPTIVE_PORTAL_MODE_IGNORE = 0; // 0x0
127 field public static final int CAPTIVE_PORTAL_MODE_PROMPT = 1; // 0x1
128 field public static final int NETWORK_AVOID_BAD_WIFI_AVOID = 2; // 0x2
129 field public static final int NETWORK_AVOID_BAD_WIFI_IGNORE = 0; // 0x0
130 field public static final int NETWORK_AVOID_BAD_WIFI_PROMPT = 1; // 0x1
lucaslin57f9ba82021-04-23 21:03:39 +0800131 field public static final int PRIVATE_DNS_MODE_OFF = 1; // 0x1
132 field public static final int PRIVATE_DNS_MODE_OPPORTUNISTIC = 2; // 0x2
133 field public static final int PRIVATE_DNS_MODE_PROVIDER_HOSTNAME = 3; // 0x3
paulhu94430952021-03-23 00:24:50 +0800134 }
135
Mingguang Xu2d87c612021-10-29 00:18:55 -0700136 public final class DhcpOption implements android.os.Parcelable {
137 ctor public DhcpOption(byte, @Nullable byte[]);
138 method public int describeContents();
139 method public byte getType();
140 method @Nullable public byte[] getValue();
141 method public void writeToParcel(@NonNull android.os.Parcel, int);
142 field @NonNull public static final android.os.Parcelable.Creator<android.net.DhcpOption> CREATOR;
143 }
144
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900145 public final class NetworkAgentConfig implements android.os.Parcelable {
146 method @Nullable public String getSubscriberId();
lucaslin0e345e92021-03-22 15:07:41 +0800147 method public boolean isBypassableVpn();
Chiachang Wang7ec6ae72022-02-18 13:15:13 +0800148 method public boolean isVpnValidationRequired();
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900149 }
150
151 public static final class NetworkAgentConfig.Builder {
lucaslin0e345e92021-03-22 15:07:41 +0800152 method @NonNull public android.net.NetworkAgentConfig.Builder setBypassableVpn(boolean);
Chiachang Wangf8908742022-02-08 15:45:11 +0800153 method @NonNull public android.net.NetworkAgentConfig.Builder setLocalRoutesExcludedForVpn(boolean);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900154 method @NonNull public android.net.NetworkAgentConfig.Builder setSubscriberId(@Nullable String);
Chiachang Wang865511a2022-01-27 17:08:41 +0800155 method @NonNull public android.net.NetworkAgentConfig.Builder setVpnRequiresValidation(boolean);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900156 }
157
158 public final class NetworkCapabilities implements android.os.Parcelable {
Chalard Jeande665262022-02-25 16:12:12 +0900159 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public java.util.Set<java.lang.Integer> getAllowedUids();
Chiachang Wang628cb112021-03-19 00:45:39 +0000160 method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getUids();
Lorenzo Colitti395fafb2021-04-27 10:37:09 +0900161 method public boolean hasForbiddenCapability(int);
Roshan Piuse2d28382021-02-23 08:47:39 -0800162 field public static final long REDACT_ALL = -1L; // 0xffffffffffffffffL
163 field public static final long REDACT_FOR_ACCESS_FINE_LOCATION = 1L; // 0x1L
164 field public static final long REDACT_FOR_LOCAL_MAC_ADDRESS = 2L; // 0x2L
165 field public static final long REDACT_FOR_NETWORK_SETTINGS = 4L; // 0x4L
166 field public static final long REDACT_NONE = 0L; // 0x0L
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900167 field public static final int TRANSPORT_TEST = 7; // 0x7
168 }
169
Chiachang Wang628cb112021-03-19 00:45:39 +0000170 public static final class NetworkCapabilities.Builder {
Chalard Jeande665262022-02-25 16:12:12 +0900171 method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAllowedUids(@NonNull java.util.Set<java.lang.Integer>);
Chiachang Wang628cb112021-03-19 00:45:39 +0000172 method @NonNull public android.net.NetworkCapabilities.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>);
173 }
174
junyulaib15b7db2021-03-16 10:24:43 +0800175 public class NetworkRequest implements android.os.Parcelable {
Sooraj Sasindran7e9b25e2022-01-25 14:49:29 -0800176 method @NonNull public int[] getEnterpriseIds();
Lorenzo Colitti395fafb2021-04-27 10:37:09 +0900177 method @NonNull public int[] getForbiddenCapabilities();
Sooraj Sasindran7e9b25e2022-01-25 14:49:29 -0800178 method public boolean hasEnterpriseId(int);
Lorenzo Colitti395fafb2021-04-27 10:37:09 +0900179 method public boolean hasForbiddenCapability(int);
junyulaib15b7db2021-03-16 10:24:43 +0800180 }
181
Chiachang Wang628cb112021-03-19 00:45:39 +0000182 public static class NetworkRequest.Builder {
Lorenzo Colitti395fafb2021-04-27 10:37:09 +0900183 method @NonNull public android.net.NetworkRequest.Builder addForbiddenCapability(int);
184 method @NonNull public android.net.NetworkRequest.Builder removeForbiddenCapability(int);
Chiachang Wang628cb112021-03-19 00:45:39 +0000185 method @NonNull public android.net.NetworkRequest.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>);
186 }
187
Sooraj Sasindrane7aee272021-11-24 20:26:55 -0800188 public final class ProfileNetworkPreference implements android.os.Parcelable {
189 method public int describeContents();
Sooraj Sasindran49041762022-03-09 21:59:00 -0800190 method @NonNull public int[] getExcludedUids();
191 method @NonNull public int[] getIncludedUids();
Sooraj Sasindrane7aee272021-11-24 20:26:55 -0800192 method public int getPreference();
Sooraj Sasindranf4a58dc2022-01-21 13:37:08 -0800193 method public int getPreferenceEnterpriseId();
Sooraj Sasindrane7aee272021-11-24 20:26:55 -0800194 method public void writeToParcel(@NonNull android.os.Parcel, int);
195 field @NonNull public static final android.os.Parcelable.Creator<android.net.ProfileNetworkPreference> CREATOR;
196 }
197
198 public static final class ProfileNetworkPreference.Builder {
199 ctor public ProfileNetworkPreference.Builder();
200 method @NonNull public android.net.ProfileNetworkPreference build();
Sooraj Sasindran49041762022-03-09 21:59:00 -0800201 method @NonNull public android.net.ProfileNetworkPreference.Builder setExcludedUids(@NonNull int[]);
202 method @NonNull public android.net.ProfileNetworkPreference.Builder setIncludedUids(@NonNull int[]);
Sooraj Sasindrane7aee272021-11-24 20:26:55 -0800203 method @NonNull public android.net.ProfileNetworkPreference.Builder setPreference(int);
Sooraj Sasindranf4a58dc2022-01-21 13:37:08 -0800204 method @NonNull public android.net.ProfileNetworkPreference.Builder setPreferenceEnterpriseId(int);
Sooraj Sasindrane7aee272021-11-24 20:26:55 -0800205 }
206
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900207 public final class TestNetworkInterface implements android.os.Parcelable {
208 ctor public TestNetworkInterface(@NonNull android.os.ParcelFileDescriptor, @NonNull String);
209 method public int describeContents();
210 method @NonNull public android.os.ParcelFileDescriptor getFileDescriptor();
211 method @NonNull public String getInterfaceName();
Patrick Rohr88f97f42022-06-10 12:15:27 -0700212 method @Nullable public android.net.MacAddress getMacAddress();
213 method public int getMtu();
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900214 method public void writeToParcel(@NonNull android.os.Parcel, int);
215 field @NonNull public static final android.os.Parcelable.Creator<android.net.TestNetworkInterface> CREATOR;
216 }
217
218 public class TestNetworkManager {
Remi NGUYEN VANc5174c32021-04-08 16:08:46 +0900219 method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public android.net.TestNetworkInterface createTapInterface();
220 method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public android.net.TestNetworkInterface createTunInterface(@NonNull java.util.Collection<android.net.LinkAddress>);
221 method @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public void setupTestNetwork(@NonNull String, @NonNull android.os.IBinder);
222 method @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public void teardownTestNetwork(@NonNull android.net.Network);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900223 field public static final String TEST_TAP_PREFIX = "testtap";
224 }
225
Remi NGUYEN VANea33ac92021-02-04 14:20:19 +0900226 public final class TestNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
227 ctor public TestNetworkSpecifier(@NonNull String);
228 method public int describeContents();
229 method @Nullable public String getInterfaceName();
230 method public void writeToParcel(@NonNull android.os.Parcel, int);
231 field @NonNull public static final android.os.Parcelable.Creator<android.net.TestNetworkSpecifier> CREATOR;
232 }
233
Roshan Piuse2d28382021-02-23 08:47:39 -0800234 public interface TransportInfo {
235 method public default long getApplicableRedactions();
236 method @NonNull public default android.net.TransportInfo makeCopy(long);
237 }
238
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900239 public final class VpnTransportInfo implements android.os.Parcelable android.net.TransportInfo {
chiachangwangd12d2012022-11-10 10:25:25 +0000240 ctor @Deprecated public VpnTransportInfo(int, @Nullable String);
Jihoon Kang9c5c9b02023-11-09 09:40:27 +0000241 method public long getApplicableRedactions();
Chiachang Wang9075ae32021-04-20 15:41:24 +0800242 method @Nullable public String getSessionId();
lifr65b9f962021-03-24 18:38:37 +0800243 method @NonNull public android.net.VpnTransportInfo makeCopy(long);
Remi NGUYEN VANf15fc7f2021-01-28 13:37:03 +0900244 }
245
246}
247