Add PRIVATE_DNS_MODE setting setter

Bug: 182538166
Test: atest FrameworksNetTests
Merged-In: If234426f041606c4881de1eca31b6f5bdb3c6bfe
Change-Id: Iaa9e6cc92f1805ab341c308fc60e947ec4c674f0
This commit is contained in:
paulhu
2021-03-25 12:36:56 +08:00
committed by Lorenzo Colitti
parent 9443095517
commit 6865eb6dda
2 changed files with 20 additions and 0 deletions

View File

@@ -5371,4 +5371,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);
}
}