From f94d57a6e5206b2dba0f8d723f9fdc9bc26719ed Mon Sep 17 00:00:00 2001 From: Xiao Ma Date: Wed, 12 Jun 2019 16:31:14 +0900 Subject: [PATCH] Restore the Private DNS settings to default mode upon network resets. Bug: 134918038 Test: atest FrameworksNetTests NetworkStackTests Test: manual test configure private dns settings (e.g. dns.google) -> connect Wi-Fi -> click "Reset Wi-Fi, mobile & Bluetooth" -> verify private dns settings is automatic -> connect Wi-Fi -> verify Internet connection. Change-Id: I13562af622d7b584d6219f74534219b7868275f9 --- .../core/java/com/android/server/ConnectivityService.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 5027a124e0..de9d8f5caa 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -20,6 +20,7 @@ import static android.Manifest.permission.RECEIVE_DATA_ACTIVITY_CHANGE; import static android.content.pm.PackageManager.PERMISSION_GRANTED; import static android.net.ConnectivityManager.CONNECTIVITY_ACTION; import static android.net.ConnectivityManager.NETID_UNSET; +import static android.net.ConnectivityManager.PRIVATE_DNS_MODE_OPPORTUNISTIC; import static android.net.ConnectivityManager.TYPE_ETHERNET; import static android.net.ConnectivityManager.TYPE_NONE; import static android.net.ConnectivityManager.TYPE_VPN; @@ -6952,6 +6953,12 @@ public class ConnectivityService extends IConnectivityManager.Stub } } + // restore private DNS settings to default mode (opportunistic) + if (!mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_PRIVATE_DNS)) { + Settings.Global.putString(mContext.getContentResolver(), + Settings.Global.PRIVATE_DNS_MODE, PRIVATE_DNS_MODE_OPPORTUNISTIC); + } + Settings.Global.putString(mContext.getContentResolver(), Settings.Global.NETWORK_AVOID_BAD_WIFI, null); }