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

Commit 45e2e3cd authored by Riddle Hsu's avatar Riddle Hsu Committed by Android (Google) Code Review
Browse files

Merge "Do not sync transient hide activities" into udc-dev

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

    @Override
    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 (mDisplayContent != null && mDisplayContent.mUnknownAppVisibilityController
                .isVisibilityUnknown(this)) {
+4 −2
Original line number Diff line number Diff line
@@ -511,8 +511,10 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
        if (mParticipants.contains(wc)) return;
        // 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.
        final boolean needSyncDraw = !isWallpaper(wc) || mParticipants.contains(wc.mDisplayContent);
        if (needSyncDraw) {
        final boolean needSync = (!isWallpaper(wc) || mParticipants.contains(wc.mDisplayContent))
                // Transient-hide may be hidden later, so no need to request redraw.
                && !isInTransientHide(wc);
        if (needSync) {
            mSyncEngine.addToSyncSet(mSyncId, wc);
        }
        ChangeInfo info = mChanges.get(wc);
+1 −3
Original line number 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.
        final Transition closeTransition = controller.createTransition(TRANSIT_CLOSE);

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

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