Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01ecac98 authored by Chris Kuiper's avatar Chris Kuiper Committed by Android (Google) Code Review
Browse files

Merge changes from topic "presubmit-am-feedd56083be48668fea14c29cf72287" into sc-v2-dev-plus-aosp

* changes:
  [automerge] [RESTRICT AUTOMERGE]DisplayManager: Make sure RampAnimator sets property in linear space. 2p: 47461bb5
  [RESTRICT AUTOMERGE]DisplayManager: Make sure RampAnimator sets property in linear space.
parents fc672e44 5ca98c6b
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -70,7 +70,7 @@ class RampAnimator<T> {
                mRate = 0;
                mTargetValue = target;
                mCurrentValue = target;
                mProperty.setValue(mObject, target);
                setPropertyValue(target);
                if (mAnimating) {
                    mAnimating = false;
                    cancelAnimationCallback();
@@ -125,6 +125,15 @@ class RampAnimator<T> {
        mListener = listener;
    }

    /**
     * Sets the brightness property by converting the given value from HLG space
     * into linear space.
     */
    private void setPropertyValue(float val) {
        final float linearVal = BrightnessUtils.convertGammaToLinear(val);
        mProperty.setValue(mObject, linearVal);
    }

    private void postAnimationCallback() {
        mChoreographer.postCallback(Choreographer.CALLBACK_ANIMATION, mAnimationCallback, null);
    }
@@ -160,9 +169,7 @@ class RampAnimator<T> {
            final float oldCurrentValue = mCurrentValue;
            mCurrentValue = mAnimatedValue;
            if (oldCurrentValue != mCurrentValue) {
                // Convert value from HLG into linear space for the property.
                final float linearCurrentVal = BrightnessUtils.convertGammaToLinear(mCurrentValue);
                mProperty.setValue(mObject, linearCurrentVal);
                setPropertyValue(mCurrentValue);
            }
            if (mTargetValue != mCurrentValue) {
                postAnimationCallback();