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

Commit 7f258f80 authored by Riddle Hsu's avatar Riddle Hsu Committed by Automerger Merge Worker
Browse files

Merge "Do not sync transient hide activities" into udc-dev am: 45e2e3cd am: c80efb1a

parents 4468441f c80efb1a
Loading
Loading
Loading
Loading
+0 −5
Original line number Original line Diff line number Diff line
@@ -10535,11 +10535,6 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A


    @Override
    @Override
    boolean isSyncFinished() {
    boolean isSyncFinished() {
        if (task != null && mTransitionController.isTransientHide(task)) {
            // The activity keeps visibleRequested but may be hidden later, so no need to wait for
            // it to be drawn.
            return true;
        }
        if (!super.isSyncFinished()) return false;
        if (!super.isSyncFinished()) return false;
        if (mDisplayContent != null && mDisplayContent.mUnknownAppVisibilityController
        if (mDisplayContent != null && mDisplayContent.mUnknownAppVisibilityController
                .isVisibilityUnknown(this)) {
                .isVisibilityUnknown(this)) {
+4 −2
Original line number Original line Diff line number Diff line
@@ -511,8 +511,10 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
        if (mParticipants.contains(wc)) return;
        if (mParticipants.contains(wc)) return;
        // Wallpaper is like in a static drawn state unless display may have changes, so exclude
        // Wallpaper is like in a static drawn state unless display may have changes, so exclude
        // the case to reduce transition latency waiting for the unchanged wallpaper to redraw.
        // the case to reduce transition latency waiting for the unchanged wallpaper to redraw.
        final boolean needSyncDraw = !isWallpaper(wc) || mParticipants.contains(wc.mDisplayContent);
        final boolean needSync = (!isWallpaper(wc) || mParticipants.contains(wc.mDisplayContent))
        if (needSyncDraw) {
                // Transient-hide may be hidden later, so no need to request redraw.
                && !isInTransientHide(wc);
        if (needSync) {
            mSyncEngine.addToSyncSet(mSyncId, wc);
            mSyncEngine.addToSyncSet(mSyncId, wc);
        }
        }
        ChangeInfo info = mChanges.get(wc);
        ChangeInfo info = mChanges.get(wc);
+1 −3
Original line number Original line Diff line number Diff line
@@ -1404,8 +1404,6 @@ public class TransitionTests extends WindowTestsBase {
        // We are now going to simulate closing task1 to return back to (open) task2.
        // We are now going to simulate closing task1 to return back to (open) task2.
        final Transition closeTransition = controller.createTransition(TRANSIT_CLOSE);
        final Transition closeTransition = controller.createTransition(TRANSIT_CLOSE);


        closeTransition.collectExistenceChange(task1);
        closeTransition.collectExistenceChange(activity1);
        closeTransition.collectExistenceChange(task2);
        closeTransition.collectExistenceChange(task2);
        closeTransition.collectExistenceChange(activity2);
        closeTransition.collectExistenceChange(activity2);
        closeTransition.setTransientLaunch(activity2, task1);
        closeTransition.setTransientLaunch(activity2, task1);
@@ -1416,7 +1414,7 @@ public class TransitionTests extends WindowTestsBase {
        assertNotNull(activity1ChangeInfo);
        assertNotNull(activity1ChangeInfo);
        assertTrue(activity1ChangeInfo.hasChanged());
        assertTrue(activity1ChangeInfo.hasChanged());
        // No need to wait for the activity in transient hide task.
        // No need to wait for the activity in transient hide task.
        assertTrue(activity1.isSyncFinished());
        assertEquals(WindowContainer.SYNC_STATE_NONE, activity1.mSyncState);


        activity1.setVisibleRequested(false);
        activity1.setVisibleRequested(false);
        activity2.setVisibleRequested(true);
        activity2.setVisibleRequested(true);