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