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

Commit a5108ec7 authored by Oleg Petšjonkin's avatar Oleg Petšjonkin Committed by Android (Google) Code Review
Browse files

Merge "HdrClamper - use animation speed instead animation time in configuration" into main

parents f04b0322 ce0693c2
Loading
Loading
Loading
Loading
+2 −10
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import android.os.PowerManager;
import android.view.SurfaceControlHdrLayerInfoListener;

import com.android.internal.annotations.VisibleForTesting;
import com.android.server.display.BrightnessUtils;
import com.android.server.display.config.HdrBrightnessData;

import java.io.PrintWriter;
@@ -176,21 +175,14 @@ public class HdrClamper {
        } else if (mDesiredMaxBrightness != expectedMaxBrightness) {
            mDesiredMaxBrightness = expectedMaxBrightness;
            long debounceTime;
            long transitionDuration;
            if (mDesiredMaxBrightness > mMaxBrightness) {
                debounceTime = mHdrBrightnessData.mBrightnessIncreaseDebounceMillis;
                transitionDuration = mHdrBrightnessData.mBrightnessIncreaseDurationMillis;
                mDesiredTransitionRate = mHdrBrightnessData.mScreenBrightnessRampIncrease;
            } else {
                debounceTime = mHdrBrightnessData.mBrightnessDecreaseDebounceMillis;
                transitionDuration = mHdrBrightnessData.mBrightnessDecreaseDurationMillis;
                mDesiredTransitionRate = mHdrBrightnessData.mScreenBrightnessRampDecrease;
            }

            float maxHlg = BrightnessUtils.convertLinearToGamma(mMaxBrightness);
            float desiredMaxHlg = BrightnessUtils.convertLinearToGamma(mDesiredMaxBrightness);

            mDesiredTransitionRate = Math.abs(
                    (maxHlg - desiredMaxHlg) * 1000f / transitionDuration);

            mHandler.removeCallbacks(mDebouncer);
            mHandler.postDelayed(mDebouncer, debounceTime);
        }
+12 −12
Original line number Diff line number Diff line
@@ -40,9 +40,9 @@ public class HdrBrightnessData {
    public final long mBrightnessIncreaseDebounceMillis;

    /**
     * Brightness increase animation duration
     * Brightness increase animation speed
     */
    public final long mBrightnessIncreaseDurationMillis;
    public final float mScreenBrightnessRampIncrease;

    /**
     * Debounce time for brightness decrease
@@ -50,19 +50,19 @@ public class HdrBrightnessData {
    public final long mBrightnessDecreaseDebounceMillis;

    /**
     * Brightness decrease animation duration
     * Brightness decrease animation speed
     */
    public final long mBrightnessDecreaseDurationMillis;
    public final float mScreenBrightnessRampDecrease;

    @VisibleForTesting
    public HdrBrightnessData(Map<Float, Float> maxBrightnessLimits,
            long brightnessIncreaseDebounceMillis, long brightnessIncreaseDurationMillis,
            long brightnessDecreaseDebounceMillis, long brightnessDecreaseDurationMillis) {
            long brightnessIncreaseDebounceMillis, float screenBrightnessRampIncrease,
            long brightnessDecreaseDebounceMillis, float screenBrightnessRampDecrease) {
        mMaxBrightnessLimits = maxBrightnessLimits;
        mBrightnessIncreaseDebounceMillis = brightnessIncreaseDebounceMillis;
        mBrightnessIncreaseDurationMillis = brightnessIncreaseDurationMillis;
        mScreenBrightnessRampIncrease = screenBrightnessRampIncrease;
        mBrightnessDecreaseDebounceMillis = brightnessDecreaseDebounceMillis;
        mBrightnessDecreaseDurationMillis = brightnessDecreaseDurationMillis;
        mScreenBrightnessRampDecrease = screenBrightnessRampDecrease;
    }

    @Override
@@ -70,9 +70,9 @@ public class HdrBrightnessData {
        return "HdrBrightnessData {"
                + "mMaxBrightnessLimits: " + mMaxBrightnessLimits
                + ", mBrightnessIncreaseDebounceMillis: " + mBrightnessIncreaseDebounceMillis
                + ", mBrightnessIncreaseDurationMillis: " + mBrightnessIncreaseDurationMillis
                + ", mScreenBrightnessRampIncrease: " + mScreenBrightnessRampIncrease
                + ", mBrightnessDecreaseDebounceMillis: " + mBrightnessDecreaseDebounceMillis
                + ", mBrightnessDecreaseDurationMillis: " + mBrightnessDecreaseDurationMillis
                + ", mScreenBrightnessRampDecrease: " + mScreenBrightnessRampDecrease
                + "} ";
    }

@@ -94,8 +94,8 @@ public class HdrBrightnessData {

        return new HdrBrightnessData(brightnessLimits,
                hdrConfig.getBrightnessIncreaseDebounceMillis().longValue(),
                hdrConfig.getBrightnessIncreaseDurationMillis().longValue(),
                hdrConfig.getScreenBrightnessRampIncrease().floatValue(),
                hdrConfig.getBrightnessDecreaseDebounceMillis().longValue(),
                hdrConfig.getBrightnessDecreaseDurationMillis().longValue());
                hdrConfig.getScreenBrightnessRampDecrease().floatValue());
    }
}
+4 −4
Original line number Diff line number Diff line
@@ -272,12 +272,12 @@
        <xs:element name="brightnessDecreaseDebounceMillis" type="xs:nonNegativeInteger">
            <xs:annotation name="final"/>
        </xs:element>
        <!-- Animation time for brightness increase in millis -->
        <xs:element  name="brightnessIncreaseDurationMillis" type="xs:nonNegativeInteger">
        <!-- Animation speed for brightness increase. In framework brightness units per second. -->
        <xs:element  name="screenBrightnessRampIncrease" type="nonNegativeDecimal">
            <xs:annotation name="final"/>
        </xs:element>
        <!-- Animation time for brightness decrease in millis -->
        <xs:element name="brightnessDecreaseDurationMillis" type="xs:nonNegativeInteger">
        <!-- Animation speed for brightness decrease. In framework brightness units per second. -->
        <xs:element name="screenBrightnessRampDecrease" type="nonNegativeDecimal">
            <xs:annotation name="final"/>
        </xs:element>
    </xs:complexType>
+4 −4
Original line number Diff line number Diff line
@@ -179,15 +179,15 @@ package com.android.server.display.config {
  public class HdrBrightnessConfig {
    ctor public HdrBrightnessConfig();
    method public final java.math.BigInteger getBrightnessDecreaseDebounceMillis();
    method public final java.math.BigInteger getBrightnessDecreaseDurationMillis();
    method public final java.math.BigInteger getBrightnessIncreaseDebounceMillis();
    method public final java.math.BigInteger getBrightnessIncreaseDurationMillis();
    method @NonNull public final com.android.server.display.config.NonNegativeFloatToFloatMap getBrightnessMap();
    method public final java.math.BigDecimal getScreenBrightnessRampDecrease();
    method public final java.math.BigDecimal getScreenBrightnessRampIncrease();
    method public final void setBrightnessDecreaseDebounceMillis(java.math.BigInteger);
    method public final void setBrightnessDecreaseDurationMillis(java.math.BigInteger);
    method public final void setBrightnessIncreaseDebounceMillis(java.math.BigInteger);
    method public final void setBrightnessIncreaseDurationMillis(java.math.BigInteger);
    method public final void setBrightnessMap(@NonNull com.android.server.display.config.NonNegativeFloatToFloatMap);
    method public final void setScreenBrightnessRampDecrease(java.math.BigDecimal);
    method public final void setScreenBrightnessRampIncrease(java.math.BigDecimal);
  }

  public class HighBrightnessMode {
+4 −4
Original line number Diff line number Diff line
@@ -570,9 +570,9 @@ public final class DisplayDeviceConfigTest {
        assertNotNull(data);
        assertEquals(2, data.mMaxBrightnessLimits.size());
        assertEquals(13000, data.mBrightnessDecreaseDebounceMillis);
        assertEquals(10000, data.mBrightnessDecreaseDurationMillis);
        assertEquals(0.1f, data.mScreenBrightnessRampDecrease, SMALL_DELTA);
        assertEquals(1000, data.mBrightnessIncreaseDebounceMillis);
        assertEquals(11000, data.mBrightnessIncreaseDurationMillis);
        assertEquals(0.11f, data.mScreenBrightnessRampIncrease, SMALL_DELTA);

        assertEquals(0.3f, data.mMaxBrightnessLimits.get(500f), SMALL_DELTA);
        assertEquals(0.6f, data.mMaxBrightnessLimits.get(1200f), SMALL_DELTA);
@@ -841,9 +841,9 @@ public final class DisplayDeviceConfigTest {
              + "        </point>\n"
              + "    </brightnessMap>\n"
              + "    <brightnessIncreaseDebounceMillis>1000</brightnessIncreaseDebounceMillis>\n"
              + "    <brightnessIncreaseDurationMillis>11000</brightnessIncreaseDurationMillis>\n"
              + "    <screenBrightnessRampIncrease>0.11</screenBrightnessRampIncrease>\n"
              + "    <brightnessDecreaseDebounceMillis>13000</brightnessDecreaseDebounceMillis>\n"
              + "    <brightnessDecreaseDurationMillis>10000</brightnessDecreaseDurationMillis>\n"
              + "    <screenBrightnessRampDecrease>0.1</screenBrightnessRampDecrease>\n"
              + "</hdrBrightnessConfig>";
    }

Loading