From 54e35c046dcc77d54f06f911d2a2be5c3d6fc58b Mon Sep 17 00:00:00 2001 From: Erik Kline Date: Fri, 7 Apr 2017 15:29:29 +0900 Subject: [PATCH] Ignore potential SystemProperties errors when setting net.dns Test: as follows - built - flashed - booted - "runtest frameworks-net" passes Bug: 33308258 Bug: 36249702 Change-Id: I76ae853ceb61b7b900f36f9c3cd67b2d2284aab0 --- .../com/android/server/ConnectivityService.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 4f8ff1d3ca..a2293a777a 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -4580,17 +4580,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)) {