Add PRIVATE_DNS_MODE setting setter
Bug: 182538166 Test: atest FrameworksNetTests Change-Id: If234426f041606c4881de1eca31b6f5bdb3c6bfe
This commit is contained in:
@@ -20,6 +20,7 @@ package android.net {
|
||||
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);
|
||||
method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setGlobalProxy(@Nullable android.net.ProxyInfo);
|
||||
method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setLegacyLockdownVpnEnabled(boolean);
|
||||
method public static void setPrivateDnsMode(@NonNull android.content.Context, @NonNull String);
|
||||
method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setProfileNetworkPreference(@NonNull android.os.UserHandle, int, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
|
||||
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>>);
|
||||
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);
|
||||
|
||||
@@ -5338,4 +5338,23 @@ public class ConnectivityManager {
|
||||
if (TextUtils.isEmpty(mode)) mode = PRIVATE_DNS_MODE_OPPORTUNISTIC;
|
||||
return mode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set private DNS mode to settings.
|
||||
*
|
||||
* @param context The {@link Context} to set the private DNS mode.
|
||||
* @param mode The private dns mode. This should be one of the PRIVATE_DNS_MODE_* constants.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi(client = MODULE_LIBRARIES)
|
||||
public static void setPrivateDnsMode(@NonNull Context context,
|
||||
@NonNull @PrivateDnsMode String mode) {
|
||||
if (!(mode == PRIVATE_DNS_MODE_OFF
|
||||
|| mode == PRIVATE_DNS_MODE_OPPORTUNISTIC
|
||||
|| mode == PRIVATE_DNS_MODE_PROVIDER_HOSTNAME)) {
|
||||
throw new IllegalArgumentException("Invalid private dns mode");
|
||||
}
|
||||
Settings.Global.putString(context.getContentResolver(), PRIVATE_DNS_MODE, mode);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user