Merge "Only update the display when brightness and state are valid." into sc-dev am: 10db7a419c

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15557295

Change-Id: I99fee6a7e167cec89687f57715c5cd3d1d4546c4
This commit is contained in:
Michael Wright
2021-08-18 16:40:47 +00:00
committed by Automerger Merge Worker

View File

@@ -411,7 +411,7 @@ final class DisplayPowerState {
* Updates the state of the screen and backlight asynchronously on a separate thread.
*/
private final class PhotonicModulator extends Thread {
private static final int INITIAL_SCREEN_STATE = Display.STATE_OFF; // unknown, assume off
private static final int INITIAL_SCREEN_STATE = Display.STATE_UNKNOWN;
private static final float INITIAL_BACKLIGHT_FLOAT = PowerManager.BRIGHTNESS_INVALID_FLOAT;
private final Object mLock = new Object();
@@ -494,7 +494,9 @@ final class DisplayPowerState {
if (!backlightChanged) {
mBacklightChangeInProgress = false;
}
if (!stateChanged && !backlightChanged) {
boolean valid = state != Display.STATE_UNKNOWN && !Float.isNaN(brightnessState);
boolean changed = stateChanged || backlightChanged;
if (!valid || !changed) {
try {
mLock.wait();
} catch (InterruptedException ex) {