Revert "Notify display brightness changed due to brightness transforms"

This reverts commit b7c40451f4.

Reason for revert: b/214849040

Change-Id: I0a3f805a7e70784d613825db1181f654c57de15d
This commit is contained in:
Michael Wright
2022-01-19 13:15:52 +00:00
parent 1d7496bcde
commit fed3221c90

View File

@@ -50,8 +50,6 @@ import android.os.UserHandle;
import android.provider.Settings; import android.provider.Settings;
import android.util.Log; import android.util.Log;
import android.util.MathUtils; import android.util.MathUtils;
import android.util.MutableFloat;
import android.util.MutableInt;
import android.util.Slog; import android.util.Slog;
import android.util.TimeUtils; import android.util.TimeUtils;
import android.view.Display; import android.view.Display;
@@ -1382,7 +1380,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
// Animate the screen brightness when the screen is on or dozing. // Animate the screen brightness when the screen is on or dozing.
// Skip the animation when the screen is off or suspended or transition to/from VR. // Skip the animation when the screen is off or suspended or transition to/from VR.
boolean brightnessAdjusted = false;
if (!mPendingScreenOff) { if (!mPendingScreenOff) {
if (mSkipScreenOnBrightnessRamp) { if (mSkipScreenOnBrightnessRamp) {
if (state == Display.STATE_ON) { if (state == Display.STATE_ON) {
@@ -1475,19 +1472,15 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
// slider event so notify as if the system changed the brightness. // slider event so notify as if the system changed the brightness.
userInitiatedChange = false; userInitiatedChange = false;
} }
notifyBrightnessTrackerChanged(brightnessState, userInitiatedChange, notifyBrightnessChanged(brightnessState, userInitiatedChange,
hadUserBrightnessPoint); hadUserBrightnessPoint);
} }
// We save the brightness info *after* the brightness setting has been changed and // We save the brightness info *after* the brightness setting has been changed and
// adjustments made so that the brightness info reflects the latest value. // adjustments made so that the brightness info reflects the latest value.
brightnessAdjusted = saveBrightnessInfo(getScreenBrightnessSetting(), animateValue); saveBrightnessInfo(getScreenBrightnessSetting(), animateValue);
} else { } else {
brightnessAdjusted = saveBrightnessInfo(getScreenBrightnessSetting()); saveBrightnessInfo(getScreenBrightnessSetting());
}
if (brightnessAdjusted) {
postBrightnessChangeRunnable();
} }
// Log any changes to what is currently driving the brightness setting. // Log any changes to what is currently driving the brightness setting.
@@ -1603,50 +1596,31 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
public BrightnessInfo getBrightnessInfo() { public BrightnessInfo getBrightnessInfo() {
synchronized (mCachedBrightnessInfo) { synchronized (mCachedBrightnessInfo) {
return new BrightnessInfo( return new BrightnessInfo(
mCachedBrightnessInfo.brightness.value, mCachedBrightnessInfo.brightness,
mCachedBrightnessInfo.adjustedBrightness.value, mCachedBrightnessInfo.adjustedBrightness,
mCachedBrightnessInfo.brightnessMin.value, mCachedBrightnessInfo.brightnessMin,
mCachedBrightnessInfo.brightnessMax.value, mCachedBrightnessInfo.brightnessMax,
mCachedBrightnessInfo.hbmMode.value, mCachedBrightnessInfo.hbmMode,
mCachedBrightnessInfo.hbmTransitionPoint.value); mCachedBrightnessInfo.highBrightnessTransitionPoint);
} }
} }
private boolean saveBrightnessInfo(float brightness) { private void saveBrightnessInfo(float brightness) {
return saveBrightnessInfo(brightness, brightness); saveBrightnessInfo(brightness, brightness);
} }
private boolean saveBrightnessInfo(float brightness, float adjustedBrightness) { private void saveBrightnessInfo(float brightness, float adjustedBrightness) {
synchronized (mCachedBrightnessInfo) { synchronized (mCachedBrightnessInfo) {
boolean changed = false; mCachedBrightnessInfo.brightness = brightness;
mCachedBrightnessInfo.adjustedBrightness = adjustedBrightness;
changed |= mCachedBrightnessInfo.brightnessMin = mHbmController.getCurrentBrightnessMin();
mCachedBrightnessInfo.checkAndSetFloat(mCachedBrightnessInfo.brightness, mCachedBrightnessInfo.brightnessMax = mHbmController.getCurrentBrightnessMax();
brightness); mCachedBrightnessInfo.hbmMode = mHbmController.getHighBrightnessMode();
changed |= mCachedBrightnessInfo.highBrightnessTransitionPoint =
mCachedBrightnessInfo.checkAndSetFloat(mCachedBrightnessInfo.adjustedBrightness, mHbmController.getTransitionPoint();
adjustedBrightness);
changed |=
mCachedBrightnessInfo.checkAndSetFloat(mCachedBrightnessInfo.brightnessMin,
mHbmController.getCurrentBrightnessMin());
changed |=
mCachedBrightnessInfo.checkAndSetFloat(mCachedBrightnessInfo.brightnessMax,
mHbmController.getCurrentBrightnessMax());
changed |=
mCachedBrightnessInfo.checkAndSetInt(mCachedBrightnessInfo.hbmMode,
mHbmController.getHighBrightnessMode());
changed |=
mCachedBrightnessInfo.checkAndSetFloat(mCachedBrightnessInfo.hbmTransitionPoint,
mHbmController.getTransitionPoint());
return changed;
} }
} }
void postBrightnessChangeRunnable() {
mHandler.post(mOnBrightnessChangeRunnable);
}
private HighBrightnessModeController createHbmControllerLocked() { private HighBrightnessModeController createHbmControllerLocked() {
final DisplayDevice device = mLogicalDisplay.getPrimaryDisplayDeviceLocked(); final DisplayDevice device = mLogicalDisplay.getPrimaryDisplayDeviceLocked();
final DisplayDeviceConfig ddConfig = device.getDisplayDeviceConfig(); final DisplayDeviceConfig ddConfig = device.getDisplayDeviceConfig();
@@ -1661,7 +1635,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
displayUniqueId, PowerManager.BRIGHTNESS_MIN, PowerManager.BRIGHTNESS_MAX, hbmData, displayUniqueId, PowerManager.BRIGHTNESS_MIN, PowerManager.BRIGHTNESS_MAX, hbmData,
() -> { () -> {
sendUpdatePowerStateLocked(); sendUpdatePowerStateLocked();
postBrightnessChangeRunnable(); mHandler.post(mOnBrightnessChangeRunnable);
// TODO(b/192258832): Switch the HBMChangeCallback to a listener pattern. // TODO(b/192258832): Switch the HBMChangeCallback to a listener pattern.
if (mAutomaticBrightnessController != null) { if (mAutomaticBrightnessController != null) {
mAutomaticBrightnessController.update(); mAutomaticBrightnessController.update();
@@ -2163,7 +2137,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
private void setCurrentScreenBrightness(float brightnessValue) { private void setCurrentScreenBrightness(float brightnessValue) {
if (brightnessValue != mCurrentScreenBrightnessSetting) { if (brightnessValue != mCurrentScreenBrightnessSetting) {
mCurrentScreenBrightnessSetting = brightnessValue; mCurrentScreenBrightnessSetting = brightnessValue;
postBrightnessChangeRunnable(); mHandler.post(mOnBrightnessChangeRunnable);
} }
} }
@@ -2215,7 +2189,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
return true; return true;
} }
private void notifyBrightnessTrackerChanged(float brightness, boolean userInitiated, private void notifyBrightnessChanged(float brightness, boolean userInitiated,
boolean hadUserDataPoint) { boolean hadUserDataPoint) {
final float brightnessInNits = convertToNits(brightness); final float brightnessInNits = convertToNits(brightness);
if (mPowerRequest.useAutoBrightness && brightnessInNits >= 0.0f if (mPowerRequest.useAutoBrightness && brightnessInNits >= 0.0f
@@ -2325,17 +2299,16 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
pw.println(" mColorFadeFadesConfig=" + mColorFadeFadesConfig); pw.println(" mColorFadeFadesConfig=" + mColorFadeFadesConfig);
pw.println(" mColorFadeEnabled=" + mColorFadeEnabled); pw.println(" mColorFadeEnabled=" + mColorFadeEnabled);
synchronized (mCachedBrightnessInfo) { synchronized (mCachedBrightnessInfo) {
pw.println(" mCachedBrightnessInfo.brightness=" + pw.println(" mCachedBrightnessInfo.brightness=" + mCachedBrightnessInfo.brightness);
mCachedBrightnessInfo.brightness.value);
pw.println(" mCachedBrightnessInfo.adjustedBrightness=" + pw.println(" mCachedBrightnessInfo.adjustedBrightness=" +
mCachedBrightnessInfo.adjustedBrightness.value); mCachedBrightnessInfo.adjustedBrightness);
pw.println(" mCachedBrightnessInfo.brightnessMin=" + pw.println(" mCachedBrightnessInfo.brightnessMin=" +
mCachedBrightnessInfo.brightnessMin.value); mCachedBrightnessInfo.brightnessMin);
pw.println(" mCachedBrightnessInfo.brightnessMax=" + pw.println(" mCachedBrightnessInfo.brightnessMax=" +
mCachedBrightnessInfo.brightnessMax.value); mCachedBrightnessInfo.brightnessMax);
pw.println(" mCachedBrightnessInfo.hbmMode=" + mCachedBrightnessInfo.hbmMode.value); pw.println(" mCachedBrightnessInfo.hbmMode=" + mCachedBrightnessInfo.hbmMode);
pw.println(" mCachedBrightnessInfo.hbmTransitionPoint=" + pw.println(" mCachedBrightnessInfo.highBrightnessTransitionPoint=" +
mCachedBrightnessInfo.hbmTransitionPoint.value); mCachedBrightnessInfo.highBrightnessTransitionPoint);
} }
pw.println(" mDisplayBlanksAfterDozeConfig=" + mDisplayBlanksAfterDozeConfig); pw.println(" mDisplayBlanksAfterDozeConfig=" + mDisplayBlanksAfterDozeConfig);
pw.println(" mBrightnessBucketsInDozeConfig=" + mBrightnessBucketsInDozeConfig); pw.println(" mBrightnessBucketsInDozeConfig=" + mBrightnessBucketsInDozeConfig);
@@ -2493,10 +2466,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
private void reportStats(float brightness) { private void reportStats(float brightness) {
float hbmTransitionPoint = PowerManager.BRIGHTNESS_MAX; float hbmTransitionPoint = PowerManager.BRIGHTNESS_MAX;
synchronized(mCachedBrightnessInfo) { synchronized(mCachedBrightnessInfo) {
if (mCachedBrightnessInfo.hbmTransitionPoint == null) { hbmTransitionPoint = mCachedBrightnessInfo.highBrightnessTransitionPoint;
return;
}
hbmTransitionPoint = mCachedBrightnessInfo.hbmTransitionPoint.value;
} }
final boolean aboveTransition = brightness > hbmTransitionPoint; final boolean aboveTransition = brightness > hbmTransitionPoint;
@@ -2793,31 +2763,11 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
} }
static class CachedBrightnessInfo { static class CachedBrightnessInfo {
public MutableFloat brightness = new MutableFloat(PowerManager.BRIGHTNESS_INVALID_FLOAT); public float brightness;
public MutableFloat adjustedBrightness = public float adjustedBrightness;
new MutableFloat(PowerManager.BRIGHTNESS_INVALID_FLOAT); public float brightnessMin;
public MutableFloat brightnessMin = public float brightnessMax;
new MutableFloat(PowerManager.BRIGHTNESS_INVALID_FLOAT); public int hbmMode;
public MutableFloat brightnessMax = public float highBrightnessTransitionPoint;
new MutableFloat(PowerManager.BRIGHTNESS_INVALID_FLOAT);
public MutableInt hbmMode = new MutableInt(BrightnessInfo.HIGH_BRIGHTNESS_MODE_OFF);
public MutableFloat hbmTransitionPoint =
new MutableFloat(HighBrightnessModeController.HBM_TRANSITION_POINT_INVALID);
public boolean checkAndSetFloat(MutableFloat mf, float f) {
if (mf.value != f) {
mf.value = f;
return true;
}
return false;
}
public boolean checkAndSetInt(MutableInt mi, int i) {
if (mi.value != i) {
mi.value = i;
return true;
}
return false;
}
} }
} }