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

Commit ac5f0dc6 authored by Hongwei Wang's avatar Hongwei Wang
Browse files

Do not apply finishTransaction in DTH

Do not apply finishTransaction in DefaultTransitionHandler as the
contract should be, it's only got applied in Transitions#onFinish.

In the Split to PiP case, the left over transition is picked by
DefaultTransitionHandler and it's unaware of the actual change.
Accidentally applying the finishTransaction could cause flickers.

Flag: EXEMPT bugfix
Bug: 359667269
Bug: 312446524
Bug: 289943985
Test: Enter PiP from split-screen, make sure no flicker
Change-Id: I5fee89961421f042e9a323a8955e56cd23788040
parent 47ff7e31
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -309,7 +309,7 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler {
        if (Transitions.isAllNoAnimation(info) || Transitions.isAllOrderOnly(info)
                || (info.getFlags() & WindowManager.TRANSIT_FLAG_INVISIBLE) != 0) {
            startTransaction.apply();
            finishTransaction.apply();
            // As a contract, finishTransaction should only be applied in Transitions#onFinish
            finishCallback.onTransitionFinished(null /* wct */);
            return true;
        }
+0 −6
Original line number Diff line number Diff line
@@ -188,12 +188,6 @@ open class FromSplitScreenEnterPipOnUserLeaveHintTest(flicker: LegacyFlickerTest
        }
    }

    /** {@inheritDoc} */
    @FlakyTest(bugId = 312446524)
    @Test
    override fun visibleLayersShownMoreThanOneConsecutiveEntry() =
        super.visibleLayersShownMoreThanOneConsecutiveEntry()

    /** {@inheritDoc} */
    @Test
    @FlakyTest(bugId = 336510055)