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

Commit d5d53e0e authored by Shane's avatar Shane Committed by George Mount
Browse files

[VRR] vrr_bugfix_24q4 flag to gate toolkit VRR idle handling

vrr_bugfix_24q4 flag to gate toolkit VRR idle handling

Fixes: 342281415
Test: atest ViewFrameRateTest
Change-Id: If1ad3a60c90f74882d3445a99b89736d0d80847c
parent c68cdcda
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1192,6 +1192,8 @@ public final class ViewRootImpl implements ViewParent,
            toolkitFrameRateVelocityMappingReadOnly();
    private static boolean sToolkitEnableInvalidateCheckThreadFlagValue =
            Flags.enableInvalidateCheckThread();
    private static boolean sSurfaceFlingerBugfixFlagValue =
            com.android.graphics.surfaceflinger.flags.Flags.vrrBugfix24q4();
    static {
        sToolkitSetFrameRateReadOnlyFlagValue = toolkitSetFrameRateReadOnly();
@@ -4269,7 +4271,7 @@ public final class ViewRootImpl implements ViewParent,
        // when the values are applicable.
        if (mDrawnThisFrame) {
            mDrawnThisFrame = false;
            if (!mInvalidationIdleMessagePosted) {
            if (!mInvalidationIdleMessagePosted && sSurfaceFlingerBugfixFlagValue) {
                mInvalidationIdleMessagePosted = true;
                mHandler.sendEmptyMessageDelayed(MSG_CHECK_INVALIDATION_IDLE, IDLE_TIME_MILLIS);
            }
@@ -13017,7 +13019,7 @@ public final class ViewRootImpl implements ViewParent,
    private void removeVrrMessages() {
        mHandler.removeMessages(MSG_TOUCH_BOOST_TIMEOUT);
        mHandler.removeMessages(MSG_FRAME_RATE_SETTING);
        if (mInvalidationIdleMessagePosted) {
        if (mInvalidationIdleMessagePosted && sSurfaceFlingerBugfixFlagValue) {
            mInvalidationIdleMessagePosted = false;
            mHandler.removeMessages(MSG_CHECK_INVALIDATION_IDLE);
        }
+2 −1
Original line number Diff line number Diff line
@@ -625,7 +625,8 @@ public class ViewFrameRateTest {

    @Test
    @RequiresFlagsEnabled({FLAG_TOOLKIT_SET_FRAME_RATE_READ_ONLY,
            FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY
            FLAG_TOOLKIT_FRAME_RATE_VIEW_ENABLING_READ_ONLY,
            com.android.graphics.surfaceflinger.flags.Flags.FLAG_VRR_BUGFIX_24Q4
    })
    public void idleDetected() throws Throwable {
        waitForFrameRateCategoryToSettle();