Merge "Use exact brightnesses values for comparison." into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
8769ff6429
@@ -705,10 +705,8 @@ public final class DisplayManagerService extends SystemService {
|
||||
final BrightnessPair brightnessPair =
|
||||
index < 0 ? null : mDisplayBrightnesses.valueAt(index);
|
||||
if (index < 0 || (mDisplayStates.valueAt(index) == state
|
||||
&& BrightnessSynchronizer.floatEquals(
|
||||
brightnessPair.brightness, brightnessState)
|
||||
&& BrightnessSynchronizer.floatEquals(
|
||||
brightnessPair.sdrBrightness, sdrBrightnessState))) {
|
||||
&& brightnessPair.brightness == brightnessState
|
||||
&& brightnessPair.sdrBrightness == sdrBrightnessState)) {
|
||||
return; // Display no longer exists or no change.
|
||||
}
|
||||
|
||||
|
||||
@@ -1352,9 +1352,8 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
final float currentBrightness = mPowerState.getScreenBrightness();
|
||||
final float currentSdrBrightness = mPowerState.getSdrScreenBrightness();
|
||||
if (isValidBrightnessValue(animateValue)
|
||||
&& (!BrightnessSynchronizer.floatEquals(animateValue, currentBrightness)
|
||||
|| !BrightnessSynchronizer.floatEquals(
|
||||
sdrAnimateValue, currentSdrBrightness))) {
|
||||
&& (animateValue != currentBrightness
|
||||
|| sdrAnimateValue != currentSdrBrightness)) {
|
||||
if (initialRampSkip || hasBrightnessBuckets
|
||||
|| wasOrWillBeInVr || !isDisplayContentVisible || brightnessIsTemporary) {
|
||||
animateScreenBrightness(animateValue, sdrAnimateValue,
|
||||
@@ -1684,11 +1683,10 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
mHbmController.getCurrentBrightnessMin(), mHbmController.getCurrentBrightnessMax());
|
||||
}
|
||||
|
||||
// Checks whether the brightness is within the valid brightness range, not including the off or
|
||||
// invalid states.
|
||||
private boolean isValidBrightnessValue(float brightnessState) {
|
||||
return brightnessState >= PowerManager.BRIGHTNESS_MIN
|
||||
&& brightnessState <= PowerManager.BRIGHTNESS_MAX;
|
||||
// Checks whether the brightness is within the valid brightness range, not including off.
|
||||
private boolean isValidBrightnessValue(float brightness) {
|
||||
return brightness >= PowerManager.BRIGHTNESS_MIN
|
||||
&& brightness <= PowerManager.BRIGHTNESS_MAX;
|
||||
}
|
||||
|
||||
private void animateScreenBrightness(float target, float sdrTarget, float rate) {
|
||||
@@ -2018,6 +2016,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
}
|
||||
|
||||
private void putScreenBrightnessSetting(float brightnessValue, boolean updateCurrent) {
|
||||
if (!isValidBrightnessValue(brightnessValue)) {
|
||||
return;
|
||||
}
|
||||
if (updateCurrent) {
|
||||
setCurrentScreenBrightness(brightnessValue);
|
||||
}
|
||||
@@ -2064,8 +2065,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
|| mPendingScreenBrightnessSetting < 0.0f)) {
|
||||
return brightnessSplineChanged;
|
||||
}
|
||||
if (BrightnessSynchronizer.floatEquals(
|
||||
mCurrentScreenBrightnessSetting, mPendingScreenBrightnessSetting)) {
|
||||
if (mCurrentScreenBrightnessSetting == mPendingScreenBrightnessSetting) {
|
||||
mPendingScreenBrightnessSetting = PowerManager.BRIGHTNESS_INVALID_FLOAT;
|
||||
mTemporaryScreenBrightness = PowerManager.BRIGHTNESS_INVALID_FLOAT;
|
||||
return brightnessSplineChanged;
|
||||
|
||||
@@ -26,8 +26,6 @@ import android.util.Slog;
|
||||
import android.view.Choreographer;
|
||||
import android.view.Display;
|
||||
|
||||
import com.android.internal.display.BrightnessSynchronizer;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
|
||||
/**
|
||||
@@ -166,10 +164,11 @@ final class DisplayPowerState {
|
||||
/**
|
||||
* Sets the display's SDR brightness.
|
||||
*
|
||||
* @param brightness The brightness, ranges from 0.0f (minimum / off) to 1.0f (brightest).
|
||||
* @param brightness The brightness, ranges from 0.0f (minimum) to 1.0f (brightest), or is -1f
|
||||
* (off).
|
||||
*/
|
||||
public void setSdrScreenBrightness(float brightness) {
|
||||
if (!BrightnessSynchronizer.floatEquals(mSdrScreenBrightness, brightness)) {
|
||||
if (mSdrScreenBrightness != brightness) {
|
||||
if (DEBUG) {
|
||||
Slog.d(TAG, "setSdrScreenBrightness: brightness=" + brightness);
|
||||
}
|
||||
@@ -192,10 +191,11 @@ final class DisplayPowerState {
|
||||
/**
|
||||
* Sets the display brightness.
|
||||
*
|
||||
* @param brightness The brightness, ranges from 0.0f (minimum / off) to 1.0f (brightest).
|
||||
* @param brightness The brightness, ranges from 0.0f (minimum) to 1.0f (brightest), or is -1f
|
||||
* (off).
|
||||
*/
|
||||
public void setScreenBrightness(float brightness) {
|
||||
if (!BrightnessSynchronizer.floatEquals(mScreenBrightness, brightness)) {
|
||||
if (mScreenBrightness != brightness) {
|
||||
if (DEBUG) {
|
||||
Slog.d(TAG, "setScreenBrightness: brightness=" + brightness);
|
||||
}
|
||||
@@ -432,10 +432,8 @@ final class DisplayPowerState {
|
||||
public boolean setState(int state, float brightnessState, float sdrBrightnessState) {
|
||||
synchronized (mLock) {
|
||||
boolean stateChanged = state != mPendingState;
|
||||
boolean backlightChanged =
|
||||
!BrightnessSynchronizer.floatEquals(brightnessState, mPendingBacklight)
|
||||
|| !BrightnessSynchronizer.floatEquals(
|
||||
sdrBrightnessState, mPendingSdrBacklight);
|
||||
boolean backlightChanged = brightnessState != mPendingBacklight
|
||||
|| sdrBrightnessState != mPendingSdrBacklight;
|
||||
if (stateChanged || backlightChanged) {
|
||||
if (DEBUG) {
|
||||
Slog.d(TAG, "Requesting new screen state: state="
|
||||
@@ -486,10 +484,8 @@ final class DisplayPowerState {
|
||||
stateChanged = (state != mActualState);
|
||||
brightnessState = mPendingBacklight;
|
||||
sdrBrightnessState = mPendingSdrBacklight;
|
||||
backlightChanged =
|
||||
!BrightnessSynchronizer.floatEquals(brightnessState, mActualBacklight)
|
||||
|| !BrightnessSynchronizer.floatEquals(
|
||||
sdrBrightnessState, mActualSdrBacklight);
|
||||
backlightChanged = brightnessState != mActualBacklight
|
||||
|| sdrBrightnessState != mActualSdrBacklight;
|
||||
if (!stateChanged) {
|
||||
// State changed applied, notify outer class.
|
||||
postScreenUpdateThreadSafe();
|
||||
|
||||
@@ -648,12 +648,11 @@ final class LocalDisplayAdapter extends DisplayAdapter {
|
||||
public Runnable requestDisplayStateLocked(final int state, final float brightnessState,
|
||||
final float sdrBrightnessState) {
|
||||
// Assume that the brightness is off if the display is being turned off.
|
||||
assert state != Display.STATE_OFF || BrightnessSynchronizer.floatEquals(
|
||||
brightnessState, PowerManager.BRIGHTNESS_OFF_FLOAT);
|
||||
assert state != Display.STATE_OFF
|
||||
|| brightnessState == PowerManager.BRIGHTNESS_OFF_FLOAT;
|
||||
final boolean stateChanged = (mState != state);
|
||||
final boolean brightnessChanged =
|
||||
!(BrightnessSynchronizer.floatEquals(mBrightnessState, brightnessState)
|
||||
&& BrightnessSynchronizer.floatEquals(mSdrBrightnessState, sdrBrightnessState));
|
||||
final boolean brightnessChanged = mBrightnessState != brightnessState
|
||||
|| mSdrBrightnessState != sdrBrightnessState;
|
||||
if (stateChanged || brightnessChanged) {
|
||||
final long physicalDisplayId = mPhysicalDisplayId;
|
||||
final IBinder token = getDisplayTokenLocked();
|
||||
@@ -807,8 +806,7 @@ final class LocalDisplayAdapter extends DisplayAdapter {
|
||||
}
|
||||
|
||||
private float brightnessToBacklight(float brightness) {
|
||||
if (BrightnessSynchronizer.floatEquals(
|
||||
brightness, PowerManager.BRIGHTNESS_OFF_FLOAT)) {
|
||||
if (brightness == PowerManager.BRIGHTNESS_OFF_FLOAT) {
|
||||
return PowerManager.BRIGHTNESS_OFF_FLOAT;
|
||||
} else {
|
||||
return getDisplayDeviceConfig().getBacklightFromBrightness(brightness);
|
||||
|
||||
@@ -20,8 +20,6 @@ import android.animation.ValueAnimator;
|
||||
import android.util.FloatProperty;
|
||||
import android.view.Choreographer;
|
||||
|
||||
import com.android.internal.display.BrightnessSynchronizer;
|
||||
|
||||
/**
|
||||
* A custom animator that progressively updates a property value at
|
||||
* a given variable rate until it reaches a particular target value.
|
||||
@@ -157,10 +155,10 @@ class RampAnimator<T> {
|
||||
}
|
||||
final float oldCurrentValue = mCurrentValue;
|
||||
mCurrentValue = mAnimatedValue;
|
||||
if (!BrightnessSynchronizer.floatEquals(oldCurrentValue, mCurrentValue)) {
|
||||
if (oldCurrentValue != mCurrentValue) {
|
||||
mProperty.setValue(mObject, mCurrentValue);
|
||||
}
|
||||
if (!BrightnessSynchronizer.floatEquals(mTargetValue, mCurrentValue)) {
|
||||
if (mTargetValue != mCurrentValue) {
|
||||
postAnimationCallback();
|
||||
} else {
|
||||
mAnimating = false;
|
||||
|
||||
Reference in New Issue
Block a user