Allow separate configuration of display color fade
Previously color fade before display power-off was disabled for devices
with a low-RAM configuration. Some devices may not want this animation
even though they have a plenty of RAM, so allow it to be controlled
separately.
Bug: 284838712
Test: atest DisplayPowerControllerTest
Test: atest DisplayPowerController2Test
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:5b267f70a6fcad1b161ee9cf54c2a832f567cf33)
Change-Id: I2369d10c293d7b05d55878a28f702a81428ddd15
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 42a249c..71da8b1 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -2694,6 +2694,9 @@
backlight values -->
<bool name="config_displayBrightnessBucketsInDoze">false</bool>
+ <!-- True to skip the fade animation on display off event -->
+ <bool name="config_displayColorFadeDisabled">false</bool>
+
<!-- Power Management: Specifies whether to decouple the auto-suspend state of the
device from the display on/off state.
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 0951aec..804154d 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -3866,6 +3866,7 @@
<java-symbol type="bool" name="config_dozeSupportsAodWallpaper" />
<java-symbol type="bool" name="config_displayBlanksAfterDoze" />
<java-symbol type="bool" name="config_displayBrightnessBucketsInDoze" />
+ <java-symbol type="bool" name="config_displayColorFadeDisabled" />
<java-symbol type="integer" name="config_storageManagerDaystoRetainDefault" />
<java-symbol type="string" name="config_headlineFontFamily" />
<java-symbol type="string" name="config_headlineFontFamilyMedium" />
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
index d19e78d..dee49e8 100644
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -722,7 +722,9 @@
setUpAutoBrightness(resources, handler);
- mColorFadeEnabled = !ActivityManager.isLowRamDeviceStatic();
+ mColorFadeEnabled = !ActivityManager.isLowRamDeviceStatic()
+ && !resources.getBoolean(
+ com.android.internal.R.bool.config_displayColorFadeDisabled);
mColorFadeFadesConfig = resources.getBoolean(
com.android.internal.R.bool.config_animateScreenLights);
diff --git a/services/core/java/com/android/server/display/DisplayPowerController2.java b/services/core/java/com/android/server/display/DisplayPowerController2.java
index 2694f55..7e53d9e 100644
--- a/services/core/java/com/android/server/display/DisplayPowerController2.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController2.java
@@ -616,7 +616,7 @@
setUpAutoBrightness(resources, handler);
- mColorFadeEnabled = mInjector.isColorFadeEnabled();
+ mColorFadeEnabled = mInjector.isColorFadeEnabled(resources);
mColorFadeFadesConfig = resources.getBoolean(
R.bool.config_animateScreenLights);
@@ -2994,8 +2994,10 @@
sensorManager, resources);
}
- boolean isColorFadeEnabled() {
- return !ActivityManager.isLowRamDeviceStatic();
+ boolean isColorFadeEnabled(Resources resources) {
+ return !ActivityManager.isLowRamDeviceStatic()
+ && !resources.getBoolean(
+ com.android.internal.R.bool.config_displayColorFadeDisabled);
}
}