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
This commit is contained in:
Xiao Ma
2019-06-12 16:31:14 +09:00
parent 4c94d3051d
commit f94d57a6e5

View File

@@ -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);
}