From fe87cf3e5aa9a9eeab94260937f3cd40e36ee0af Mon Sep 17 00:00:00 2001 From: Dan Gittik Date: Wed, 30 Jan 2019 17:31:34 +0000 Subject: [PATCH] Added hysteresis check to screen brightness. Previously, the AutoBrightnessController would suppress updates if the ambient brightness hasn't changed enough, to avoid minor changes that wouldn't really matter but probably annoy the user. However, if the brightness curve was rather flat, a large change in the ambient brightness might translate to a small and unnecessary change in the screen brightness that would still get applied. So, this CL adds similar hysteresis checks for the screen brightness. Test: manual - simulate an ambient brightness that would cause a minor change in the screen brightness, and make sure it is suppressed (and the appropriate logs are emitted). Change-Id: I7c229028d216c56a0fe4fb2a38ea65bed2e6906a Merged-In: I41aefb5a9a82c9b598cf31f374f338899ffc9b11 Fixes: 122162842 --- core/res/res/values/config.xml | 90 +++++++++++++------ core/res/res/values/symbols.xml | 9 +- .../AutomaticBrightnessController.java | 82 +++++++++++------ .../display/DisplayPowerController.java | 42 +++++---- .../server/display/HysteresisLevels.java | 74 +++++++-------- 5 files changed, 185 insertions(+), 112 deletions(-) diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 8af8f8ba0fee6..7eedb64b1c50d 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -1436,26 +1436,6 @@ - - - 100 - - - - - 200 - - - + condition calculated index + value < level[0] 0 + level[n] <= value < level[n+1] n+1 + level[MAX] <= value MAX+1 --> + + + + + + 100 + + + + + 200 + + + + + + + + + 100 + + + + + 200