Loading services/core/java/com/android/server/display/brightness/clamper/HdrClamper.java +6 −1 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ 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; Loading Loading @@ -178,8 +179,12 @@ public class HdrClamper { debounceTime = mHdrBrightnessData.mBrightnessDecreaseDebounceMillis; transitionDuration = mHdrBrightnessData.mBrightnessDecreaseDurationMillis; } float maxHlg = BrightnessUtils.convertLinearToGamma(mMaxBrightness); float desiredMaxHlg = BrightnessUtils.convertLinearToGamma(mDesiredMaxBrightness); mDesiredTransitionRate = Math.abs( (mMaxBrightness - mDesiredMaxBrightness) * 1000f / transitionDuration); (maxHlg - desiredMaxHlg) * 1000f / transitionDuration); mHandler.removeCallbacks(mDebouncer); mHandler.postDelayed(mDebouncer, debounceTime); Loading services/tests/displayservicetests/src/com/android/server/display/brightness/clamper/HdrClamperTest.java +6 −3 Original line number Diff line number Diff line Loading @@ -118,7 +118,8 @@ public class HdrClamperTest { mClock.fastForward(3000); mTestHandler.timeAdvance(); assertEquals(0.6f, mHdrClamper.getMaxBrightness(), FLOAT_TOLERANCE); assertEquals(0.1f, mHdrClamper.getTransitionRate(), FLOAT_TOLERANCE); // (1-0.6) / 4 // 0.6 to HLG = 0.905727, rate = (1-0.905727) / 4 assertEquals(0.023568f, mHdrClamper.getTransitionRate(), FLOAT_TOLERANCE); } @Test Loading Loading @@ -146,7 +147,8 @@ public class HdrClamperTest { mClock.fastForward(1000); mTestHandler.timeAdvance(); assertEquals(PowerManager.BRIGHTNESS_MAX, mHdrClamper.getMaxBrightness(), FLOAT_TOLERANCE); assertEquals(0.2f, mHdrClamper.getTransitionRate(), FLOAT_TOLERANCE); // (1-0.6) / 2 // 0.6 to HLG = 0.905727, rate = (1-0.905727) / 2 assertEquals(0.047137f, mHdrClamper.getTransitionRate(), FLOAT_TOLERANCE); } @Test Loading @@ -173,7 +175,8 @@ public class HdrClamperTest { mClock.fastForward(3000); mTestHandler.timeAdvance(); assertEquals(0.6f, mHdrClamper.getMaxBrightness(), FLOAT_TOLERANCE); assertEquals(0.1f, mHdrClamper.getTransitionRate(), FLOAT_TOLERANCE); // 0.6 to HLG = 0.905727, rate = (1-0.905727) / 4 assertEquals(0.023568f, mHdrClamper.getTransitionRate(), FLOAT_TOLERANCE); } // MsgInfo.sendTime is calculated first by adding SystemClock.uptimeMillis() Loading Loading
services/core/java/com/android/server/display/brightness/clamper/HdrClamper.java +6 −1 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ 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; Loading Loading @@ -178,8 +179,12 @@ public class HdrClamper { debounceTime = mHdrBrightnessData.mBrightnessDecreaseDebounceMillis; transitionDuration = mHdrBrightnessData.mBrightnessDecreaseDurationMillis; } float maxHlg = BrightnessUtils.convertLinearToGamma(mMaxBrightness); float desiredMaxHlg = BrightnessUtils.convertLinearToGamma(mDesiredMaxBrightness); mDesiredTransitionRate = Math.abs( (mMaxBrightness - mDesiredMaxBrightness) * 1000f / transitionDuration); (maxHlg - desiredMaxHlg) * 1000f / transitionDuration); mHandler.removeCallbacks(mDebouncer); mHandler.postDelayed(mDebouncer, debounceTime); Loading
services/tests/displayservicetests/src/com/android/server/display/brightness/clamper/HdrClamperTest.java +6 −3 Original line number Diff line number Diff line Loading @@ -118,7 +118,8 @@ public class HdrClamperTest { mClock.fastForward(3000); mTestHandler.timeAdvance(); assertEquals(0.6f, mHdrClamper.getMaxBrightness(), FLOAT_TOLERANCE); assertEquals(0.1f, mHdrClamper.getTransitionRate(), FLOAT_TOLERANCE); // (1-0.6) / 4 // 0.6 to HLG = 0.905727, rate = (1-0.905727) / 4 assertEquals(0.023568f, mHdrClamper.getTransitionRate(), FLOAT_TOLERANCE); } @Test Loading Loading @@ -146,7 +147,8 @@ public class HdrClamperTest { mClock.fastForward(1000); mTestHandler.timeAdvance(); assertEquals(PowerManager.BRIGHTNESS_MAX, mHdrClamper.getMaxBrightness(), FLOAT_TOLERANCE); assertEquals(0.2f, mHdrClamper.getTransitionRate(), FLOAT_TOLERANCE); // (1-0.6) / 2 // 0.6 to HLG = 0.905727, rate = (1-0.905727) / 2 assertEquals(0.047137f, mHdrClamper.getTransitionRate(), FLOAT_TOLERANCE); } @Test Loading @@ -173,7 +175,8 @@ public class HdrClamperTest { mClock.fastForward(3000); mTestHandler.timeAdvance(); assertEquals(0.6f, mHdrClamper.getMaxBrightness(), FLOAT_TOLERANCE); assertEquals(0.1f, mHdrClamper.getTransitionRate(), FLOAT_TOLERANCE); // 0.6 to HLG = 0.905727, rate = (1-0.905727) / 4 assertEquals(0.023568f, mHdrClamper.getTransitionRate(), FLOAT_TOLERANCE); } // MsgInfo.sendTime is calculated first by adding SystemClock.uptimeMillis() Loading