From c85bbe003d7fde1f2c60a192002981bc9bed9f21 Mon Sep 17 00:00:00 2001 From: Kweku Adams Date: Wed, 29 Jan 2020 10:26:23 -0800 Subject: [PATCH] Automatically load ActivityManager DeviceConfig constants. The former method required us to load each individual DeviceConfig constant at startup time. This could easily lead to an issue where someone forgets to add that line in the startup path and the value isn't loaded. Switching to have all DeviceConfig constants read and processed by a generic loop so we don't run into this issue. Bug: N/A Test: flash device and confirm DeviceConfig constants are loaded Change-Id: I981829722cf035e894415a11e214724b213c65fa --- .../android/server/am/ActivityManagerConstants.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/services/core/java/com/android/server/am/ActivityManagerConstants.java b/services/core/java/com/android/server/am/ActivityManagerConstants.java index d7201054dea6d..4a65a96e57a1b 100644 --- a/services/core/java/com/android/server/am/ActivityManagerConstants.java +++ b/services/core/java/com/android/server/am/ActivityManagerConstants.java @@ -438,14 +438,15 @@ final class ActivityManagerConstants extends ContentObserver { DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER, ActivityThread.currentApplication().getMainExecutor(), mOnDeviceConfigChangedListener); - updateMaxCachedProcesses(); + loadDeviceConfigConstants(); + // The following read from Settings. updateActivityStartsLoggingEnabled(); - updateBackgroundActivityStarts(); - updateForceRestrictedBackgroundCheck(); updateForegroundServiceStartsLoggingEnabled(); - updateBackgroundFgsStartsRestriction(); - updateOomAdjUpdatePolicy(); - updateImperceptibleKillExemptions(); + } + + private void loadDeviceConfigConstants() { + mOnDeviceConfigChangedListener.onPropertiesChanged( + DeviceConfig.getProperties(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER)); } public void setOverrideMaxCachedProcesses(int value) {