From ed25f9ca5a7ef367a0714849f8517637d51ab2d5 Mon Sep 17 00:00:00 2001 From: Xiao Ma Date: Wed, 12 Jun 2019 16:31:14 +0900 Subject: 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 --- services/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 5027a124e075..de9d8f5caa8d 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); } -- cgit v1.2.3-59-g8ed1b