Merge "Revert "Notify display brightness changed due to brightness transforms"" into sc-v2-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
1b05947644
@@ -50,8 +50,6 @@ import android.os.UserHandle;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
import android.util.MathUtils;
|
||||
import android.util.MutableFloat;
|
||||
import android.util.MutableInt;
|
||||
import android.util.Slog;
|
||||
import android.util.TimeUtils;
|
||||
import android.view.Display;
|
||||
@@ -1325,7 +1323,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
|
||||
// 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.
|
||||
boolean brightnessAdjusted = false;
|
||||
if (!mPendingScreenOff) {
|
||||
if (mSkipScreenOnBrightnessRamp) {
|
||||
if (state == Display.STATE_ON) {
|
||||
@@ -1413,19 +1410,15 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
// slider event so notify as if the system changed the brightness.
|
||||
userInitiatedChange = false;
|
||||
}
|
||||
notifyBrightnessTrackerChanged(brightnessState, userInitiatedChange,
|
||||
notifyBrightnessChanged(brightnessState, userInitiatedChange,
|
||||
hadUserBrightnessPoint);
|
||||
}
|
||||
|
||||
// We save the brightness info *after* the brightness setting has been changed and
|
||||
// adjustments made so that the brightness info reflects the latest value.
|
||||
brightnessAdjusted = saveBrightnessInfo(getScreenBrightnessSetting(), animateValue);
|
||||
saveBrightnessInfo(getScreenBrightnessSetting(), animateValue);
|
||||
} else {
|
||||
brightnessAdjusted = saveBrightnessInfo(getScreenBrightnessSetting());
|
||||
}
|
||||
|
||||
if (brightnessAdjusted) {
|
||||
postBrightnessChangeRunnable();
|
||||
saveBrightnessInfo(getScreenBrightnessSetting());
|
||||
}
|
||||
|
||||
// Log any changes to what is currently driving the brightness setting.
|
||||
@@ -1541,50 +1534,31 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
public BrightnessInfo getBrightnessInfo() {
|
||||
synchronized (mCachedBrightnessInfo) {
|
||||
return new BrightnessInfo(
|
||||
mCachedBrightnessInfo.brightness.value,
|
||||
mCachedBrightnessInfo.adjustedBrightness.value,
|
||||
mCachedBrightnessInfo.brightnessMin.value,
|
||||
mCachedBrightnessInfo.brightnessMax.value,
|
||||
mCachedBrightnessInfo.hbmMode.value,
|
||||
mCachedBrightnessInfo.hbmTransitionPoint.value);
|
||||
mCachedBrightnessInfo.brightness,
|
||||
mCachedBrightnessInfo.adjustedBrightness,
|
||||
mCachedBrightnessInfo.brightnessMin,
|
||||
mCachedBrightnessInfo.brightnessMax,
|
||||
mCachedBrightnessInfo.hbmMode,
|
||||
mCachedBrightnessInfo.highBrightnessTransitionPoint);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean saveBrightnessInfo(float brightness) {
|
||||
return saveBrightnessInfo(brightness, brightness);
|
||||
private void saveBrightnessInfo(float brightness) {
|
||||
saveBrightnessInfo(brightness, brightness);
|
||||
}
|
||||
|
||||
private boolean saveBrightnessInfo(float brightness, float adjustedBrightness) {
|
||||
private void saveBrightnessInfo(float brightness, float adjustedBrightness) {
|
||||
synchronized (mCachedBrightnessInfo) {
|
||||
boolean changed = false;
|
||||
|
||||
changed |=
|
||||
mCachedBrightnessInfo.checkAndSetFloat(mCachedBrightnessInfo.brightness,
|
||||
brightness);
|
||||
changed |=
|
||||
mCachedBrightnessInfo.checkAndSetFloat(mCachedBrightnessInfo.adjustedBrightness,
|
||||
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;
|
||||
mCachedBrightnessInfo.brightness = brightness;
|
||||
mCachedBrightnessInfo.adjustedBrightness = adjustedBrightness;
|
||||
mCachedBrightnessInfo.brightnessMin = mHbmController.getCurrentBrightnessMin();
|
||||
mCachedBrightnessInfo.brightnessMax = mHbmController.getCurrentBrightnessMax();
|
||||
mCachedBrightnessInfo.hbmMode = mHbmController.getHighBrightnessMode();
|
||||
mCachedBrightnessInfo.highBrightnessTransitionPoint =
|
||||
mHbmController.getTransitionPoint();
|
||||
}
|
||||
}
|
||||
|
||||
void postBrightnessChangeRunnable() {
|
||||
mHandler.post(mOnBrightnessChangeRunnable);
|
||||
}
|
||||
|
||||
private HighBrightnessModeController createHbmControllerLocked() {
|
||||
final DisplayDevice device = mLogicalDisplay.getPrimaryDisplayDeviceLocked();
|
||||
final DisplayDeviceConfig ddConfig = device.getDisplayDeviceConfig();
|
||||
@@ -1597,7 +1571,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
PowerManager.BRIGHTNESS_MIN, PowerManager.BRIGHTNESS_MAX, hbmData,
|
||||
() -> {
|
||||
sendUpdatePowerStateLocked();
|
||||
postBrightnessChangeRunnable();
|
||||
mHandler.post(mOnBrightnessChangeRunnable);
|
||||
// TODO(b/192258832): Switch the HBMChangeCallback to a listener pattern.
|
||||
if (mAutomaticBrightnessController != null) {
|
||||
mAutomaticBrightnessController.update();
|
||||
@@ -2099,7 +2073,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
private void setCurrentScreenBrightness(float brightnessValue) {
|
||||
if (brightnessValue != mCurrentScreenBrightnessSetting) {
|
||||
mCurrentScreenBrightnessSetting = brightnessValue;
|
||||
postBrightnessChangeRunnable();
|
||||
mHandler.post(mOnBrightnessChangeRunnable);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2151,7 +2125,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
return true;
|
||||
}
|
||||
|
||||
private void notifyBrightnessTrackerChanged(float brightness, boolean userInitiated,
|
||||
private void notifyBrightnessChanged(float brightness, boolean userInitiated,
|
||||
boolean hadUserDataPoint) {
|
||||
final float brightnessInNits = convertToNits(brightness);
|
||||
if (mPowerRequest.useAutoBrightness && brightnessInNits >= 0.0f
|
||||
@@ -2262,17 +2236,16 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
pw.println(" mColorFadeFadesConfig=" + mColorFadeFadesConfig);
|
||||
pw.println(" mColorFadeEnabled=" + mColorFadeEnabled);
|
||||
synchronized (mCachedBrightnessInfo) {
|
||||
pw.println(" mCachedBrightnessInfo.brightness=" +
|
||||
mCachedBrightnessInfo.brightness.value);
|
||||
pw.println(" mCachedBrightnessInfo.brightness=" + mCachedBrightnessInfo.brightness);
|
||||
pw.println(" mCachedBrightnessInfo.adjustedBrightness=" +
|
||||
mCachedBrightnessInfo.adjustedBrightness.value);
|
||||
mCachedBrightnessInfo.adjustedBrightness);
|
||||
pw.println(" mCachedBrightnessInfo.brightnessMin=" +
|
||||
mCachedBrightnessInfo.brightnessMin.value);
|
||||
mCachedBrightnessInfo.brightnessMin);
|
||||
pw.println(" mCachedBrightnessInfo.brightnessMax=" +
|
||||
mCachedBrightnessInfo.brightnessMax.value);
|
||||
pw.println(" mCachedBrightnessInfo.hbmMode=" + mCachedBrightnessInfo.hbmMode.value);
|
||||
pw.println(" mCachedBrightnessInfo.hbmTransitionPoint=" +
|
||||
mCachedBrightnessInfo.hbmTransitionPoint.value);
|
||||
mCachedBrightnessInfo.brightnessMax);
|
||||
pw.println(" mCachedBrightnessInfo.hbmMode=" + mCachedBrightnessInfo.hbmMode);
|
||||
pw.println(" mCachedBrightnessInfo.highBrightnessTransitionPoint=" +
|
||||
mCachedBrightnessInfo.highBrightnessTransitionPoint);
|
||||
}
|
||||
pw.println(" mDisplayBlanksAfterDozeConfig=" + mDisplayBlanksAfterDozeConfig);
|
||||
pw.println(" mBrightnessBucketsInDozeConfig=" + mBrightnessBucketsInDozeConfig);
|
||||
@@ -2690,31 +2663,11 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
}
|
||||
|
||||
static class CachedBrightnessInfo {
|
||||
public MutableFloat brightness = new MutableFloat(PowerManager.BRIGHTNESS_INVALID_FLOAT);
|
||||
public MutableFloat adjustedBrightness =
|
||||
new MutableFloat(PowerManager.BRIGHTNESS_INVALID_FLOAT);
|
||||
public MutableFloat brightnessMin =
|
||||
new MutableFloat(PowerManager.BRIGHTNESS_INVALID_FLOAT);
|
||||
public MutableFloat brightnessMax =
|
||||
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;
|
||||
}
|
||||
public float brightness;
|
||||
public float adjustedBrightness;
|
||||
public float brightnessMin;
|
||||
public float brightnessMax;
|
||||
public int hbmMode;
|
||||
public float highBrightnessTransitionPoint;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user