From c8de4e31b3aa7ce5b0c686aa416d170cfb64e05f Mon Sep 17 00:00:00 2001 From: Makoto Onuki Date: Thu, 8 Dec 2022 10:04:04 -0800 Subject: [PATCH] Change TOP_TO_FGS_GRACE_DURATION to be DeviceConfig It was still a global setting. Bug: n/a Test: Manual test using the following commands - `dumpsys activity settings | grep -w top_to_fgs_grace_duration` - `device_config put activity_manager top_to_fgs_grace_duration 5000` - also adb reboot and make sure it's persisted Change-Id: I5d058bc7a6845e4c154c5bacef5489b0be512d68 --- .../android/server/am/ActivityManagerConstants.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/am/ActivityManagerConstants.java b/services/core/java/com/android/server/am/ActivityManagerConstants.java index 2d69667da5750..70f07a9eee6f3 100644 --- a/services/core/java/com/android/server/am/ActivityManagerConstants.java +++ b/services/core/java/com/android/server/am/ActivityManagerConstants.java @@ -513,7 +513,7 @@ final class ActivityManagerConstants extends ContentObserver { // Allow app just moving from TOP to FOREGROUND_SERVICE to stay in a higher adj value for // this long. - public long TOP_TO_FGS_GRACE_DURATION = DEFAULT_TOP_TO_FGS_GRACE_DURATION; + public volatile long TOP_TO_FGS_GRACE_DURATION = DEFAULT_TOP_TO_FGS_GRACE_DURATION; /** * Allow app just leaving TOP with an already running ALMOST_PERCEPTIBLE service to stay in @@ -1142,6 +1142,8 @@ final class ActivityManagerConstants extends ContentObserver { case KEY_LOW_SWAP_THRESHOLD_PERCENT: updateLowSwapThresholdPercent(); break; + case KEY_TOP_TO_FGS_GRACE_DURATION: + updateTopToFgsGraceDuration(); default: break; } @@ -1359,8 +1361,6 @@ final class ActivityManagerConstants extends ContentObserver { DEFAULT_PROCESS_START_ASYNC); MEMORY_INFO_THROTTLE_TIME = mParser.getLong(KEY_MEMORY_INFO_THROTTLE_TIME, DEFAULT_MEMORY_INFO_THROTTLE_TIME); - TOP_TO_FGS_GRACE_DURATION = mParser.getDurationMillis(KEY_TOP_TO_FGS_GRACE_DURATION, - DEFAULT_TOP_TO_FGS_GRACE_DURATION); TOP_TO_ALMOST_PERCEPTIBLE_GRACE_DURATION = mParser.getDurationMillis( KEY_TOP_TO_ALMOST_PERCEPTIBLE_GRACE_DURATION, DEFAULT_TOP_TO_ALMOST_PERCEPTIBLE_GRACE_DURATION); @@ -1790,6 +1790,13 @@ final class ActivityManagerConstants extends ContentObserver { DEFAULT_LOW_SWAP_THRESHOLD_PERCENT); } + private void updateTopToFgsGraceDuration() { + TOP_TO_FGS_GRACE_DURATION = DeviceConfig.getLong( + DeviceConfig.NAMESPACE_ACTIVITY_MANAGER, + KEY_TOP_TO_FGS_GRACE_DURATION, + DEFAULT_TOP_TO_FGS_GRACE_DURATION); + } + private void updateMinAssocLogDuration() { MIN_ASSOC_LOG_DURATION = DeviceConfig.getLong( DeviceConfig.NAMESPACE_ACTIVITY_MANAGER, KEY_MIN_ASSOC_LOG_DURATION,