diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 1edc5366bb..6a26cd03eb 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -4470,17 +4470,24 @@ public class ConnectivityService extends IConnectivityManager.Stub int last = 0; for (InetAddress dns : dnses) { ++last; - String key = "net.dns" + last; - String value = dns.getHostAddress(); - mSystemProperties.set(key, value); + setNetDnsProperty(last, dns.getHostAddress()); } for (int i = last + 1; i <= mNumDnsEntries; ++i) { - String key = "net.dns" + i; - mSystemProperties.set(key, ""); + setNetDnsProperty(i, ""); } mNumDnsEntries = last; } + private void setNetDnsProperty(int which, String value) { + final String key = "net.dns" + which; + // Log and forget errors setting unsupported properties. + try { + mSystemProperties.set(key, value); + } catch (Exception e) { + Log.e(TAG, "Error setting unsupported net.dns property: ", e); + } + } + private String getNetworkPermission(NetworkCapabilities nc) { // TODO: make these permission strings AIDL constants instead. if (!nc.hasCapability(NET_CAPABILITY_NOT_RESTRICTED)) {