From eb55fb60c00039268d071cee1d1928208180c9af Mon Sep 17 00:00:00 2001 From: Fyodor Kupolov Date: Fri, 13 Apr 2018 15:54:42 -0700 Subject: [PATCH] Use log.wtf on debug devices if property cannot be set This can be useful to detect problems in enabling experiments Test: Manual Bug: 73018322 Change-Id: Ide6d7f1476a1b775d449623a96a368cbb5f8d799 --- .../server/am/GlobalSettingsToPropertiesMapper.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/am/GlobalSettingsToPropertiesMapper.java b/services/core/java/com/android/server/am/GlobalSettingsToPropertiesMapper.java index 328426da159fa..1366c218299eb 100644 --- a/services/core/java/com/android/server/am/GlobalSettingsToPropertiesMapper.java +++ b/services/core/java/com/android/server/am/GlobalSettingsToPropertiesMapper.java @@ -19,6 +19,7 @@ package com.android.server.am; import android.content.ContentResolver; import android.database.ContentObserver; import android.net.Uri; +import android.os.Build; import android.os.SystemProperties; import android.provider.Settings; import android.text.TextUtils; @@ -98,7 +99,14 @@ class GlobalSettingsToPropertiesMapper { try { systemPropertiesSet(key, value); } catch (Exception e) { - Slog.e(TAG, "Unable to set property " + key + " value '" + value + "'", e); + // Failure to set a property can be caused by SELinux denial. This usually indicates + // that the property wasn't whitelisted in sepolicy. + // No need to report it on all user devices, only on debug builds. + if (Build.IS_DEBUGGABLE) { + Slog.wtf(TAG, "Unable to set property " + key + " value '" + value + "'", e); + } else { + Slog.e(TAG, "Unable to set property " + key + " value '" + value + "'", e); + } } }