Loading core/java/android/view/HdrRenderState.java +6 −2 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package android.view; import android.os.SystemClock; import com.android.graphics.hwui.flags.Flags; import java.util.function.Consumer; /** @hide */ Loading @@ -25,6 +27,8 @@ class HdrRenderState implements Consumer<Display> { // Targeting an animation from 1x to 5x over 400ms means we need to increase by 0.01/ms private static final float TRANSITION_PER_MS = 0.01f; private static final boolean FLAG_ANIMATE_ENABLED = Flags.animateHdrTransitions(); private final ViewRootImpl mViewRoot; private boolean mIsHdrEnabled = false; Loading Loading @@ -73,7 +77,7 @@ class HdrRenderState implements Consumer<Display> { long timeDelta = Math.max(Math.min(32, frameTimeMillis - mLastUpdateMillis), 8); final float maxStep = timeDelta * TRANSITION_PER_MS; mLastUpdateMillis = frameTimeMillis; if (hasUpdate) { if (hasUpdate && FLAG_ANIMATE_ENABLED) { if (isHdrEnabled()) { float delta = mTargetHdrSdrRatio - mPreviousRenderRatio; if (delta > maxStep) { Loading Loading @@ -123,7 +127,7 @@ class HdrRenderState implements Consumer<Display> { mLastUpdateMillis = SystemClock.uptimeMillis(); if (desiredRatio != mTargetDesiredHdrSdrRatio) { mTargetDesiredHdrSdrRatio = desiredRatio; if (mTargetDesiredHdrSdrRatio > mDesiredHdrSdrRatio) { if (mTargetDesiredHdrSdrRatio > mDesiredHdrSdrRatio || !FLAG_ANIMATE_ENABLED) { mDesiredHdrSdrRatio = mTargetDesiredHdrSdrRatio; } forceUpdateHdrSdrRatio(); Loading libs/hwui/aconfig/hwui_flags.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -89,6 +89,13 @@ flag { bug: "292545615" } flag { name: "animate_hdr_transitions" namespace: "core_graphics" description: "Automatically animate all changes in HDR headroom" bug: "314810174" } flag { name: "draw_region" namespace: "core_graphics" Loading Loading
core/java/android/view/HdrRenderState.java +6 −2 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package android.view; import android.os.SystemClock; import com.android.graphics.hwui.flags.Flags; import java.util.function.Consumer; /** @hide */ Loading @@ -25,6 +27,8 @@ class HdrRenderState implements Consumer<Display> { // Targeting an animation from 1x to 5x over 400ms means we need to increase by 0.01/ms private static final float TRANSITION_PER_MS = 0.01f; private static final boolean FLAG_ANIMATE_ENABLED = Flags.animateHdrTransitions(); private final ViewRootImpl mViewRoot; private boolean mIsHdrEnabled = false; Loading Loading @@ -73,7 +77,7 @@ class HdrRenderState implements Consumer<Display> { long timeDelta = Math.max(Math.min(32, frameTimeMillis - mLastUpdateMillis), 8); final float maxStep = timeDelta * TRANSITION_PER_MS; mLastUpdateMillis = frameTimeMillis; if (hasUpdate) { if (hasUpdate && FLAG_ANIMATE_ENABLED) { if (isHdrEnabled()) { float delta = mTargetHdrSdrRatio - mPreviousRenderRatio; if (delta > maxStep) { Loading Loading @@ -123,7 +127,7 @@ class HdrRenderState implements Consumer<Display> { mLastUpdateMillis = SystemClock.uptimeMillis(); if (desiredRatio != mTargetDesiredHdrSdrRatio) { mTargetDesiredHdrSdrRatio = desiredRatio; if (mTargetDesiredHdrSdrRatio > mDesiredHdrSdrRatio) { if (mTargetDesiredHdrSdrRatio > mDesiredHdrSdrRatio || !FLAG_ANIMATE_ENABLED) { mDesiredHdrSdrRatio = mTargetDesiredHdrSdrRatio; } forceUpdateHdrSdrRatio(); Loading
libs/hwui/aconfig/hwui_flags.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -89,6 +89,13 @@ flag { bug: "292545615" } flag { name: "animate_hdr_transitions" namespace: "core_graphics" description: "Automatically animate all changes in HDR headroom" bug: "314810174" } flag { name: "draw_region" namespace: "core_graphics" Loading