diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index 0038523fa43a7..7d06d6ea50fa6 100644 --- a/services/core/java/com/android/server/display/DisplayManagerService.java +++ b/services/core/java/com/android/server/display/DisplayManagerService.java @@ -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. } diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java index 8102f5dfce8b1..b6d65197d8579 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java @@ -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; diff --git a/services/core/java/com/android/server/display/DisplayPowerState.java b/services/core/java/com/android/server/display/DisplayPowerState.java index b58dd38348aa0..6af192371e3da 100644 --- a/services/core/java/com/android/server/display/DisplayPowerState.java +++ b/services/core/java/com/android/server/display/DisplayPowerState.java @@ -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(); diff --git a/services/core/java/com/android/server/display/LocalDisplayAdapter.java b/services/core/java/com/android/server/display/LocalDisplayAdapter.java index 2f17481f74876..f953cc8c8a271 100644 --- a/services/core/java/com/android/server/display/LocalDisplayAdapter.java +++ b/services/core/java/com/android/server/display/LocalDisplayAdapter.java @@ -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); diff --git a/services/core/java/com/android/server/display/RampAnimator.java b/services/core/java/com/android/server/display/RampAnimator.java index 20feafa2d19cc..ed3b15fb26619 100644 --- a/services/core/java/com/android/server/display/RampAnimator.java +++ b/services/core/java/com/android/server/display/RampAnimator.java @@ -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 { } 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;