From 028facdefa99e14058d4ab434695fa70c7bd3a1b Mon Sep 17 00:00:00 2001 From: Matt Pape Date: Thu, 18 Apr 2019 15:07:34 -0700 Subject: [PATCH] Update settings to properties mapper to use multi property listener. Test: atest FrameworksMockingServicesTests:SettingsToPropertiesMapperTest Bug: 128902955 Change-Id: I0a5a145e259493d12326ff743f1b446f2a7e4e34 --- .../server/am/SettingsToPropertiesMapper.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java b/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java index 99380c94b869c..19c3a71810fbf 100644 --- a/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java +++ b/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java @@ -132,16 +132,20 @@ public class SettingsToPropertiesMapper { } for (String deviceConfigScope : mDeviceConfigScopes) { - DeviceConfig.addOnPropertyChangedListener( + DeviceConfig.addOnPropertiesChangedListener( deviceConfigScope, AsyncTask.THREAD_POOL_EXECUTOR, - (String scope, String name, String value) -> { - String propertyName = makePropertyName(scope, name); - if (propertyName == null) { - log("unable to construct system property for " + scope + "/" + name); - return; + (DeviceConfig.Properties properties) -> { + String scope = properties.getNamespace(); + for (String key : properties.getKeyset()) { + String propertyName = makePropertyName(scope, key); + if (propertyName == null) { + log("unable to construct system property for " + scope + "/" + + key); + return; + } + setProperty(propertyName, properties.getString(key, null)); } - setProperty(propertyName, value); }); } }