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

Commit 41fb8c46 authored by Daniel Chapin's avatar Daniel Chapin Committed by Android (Google) Code Review
Browse files

Revert "Avoid remove starting window too early when playing multiple transitions"

This reverts commit e534e81f.

Reason for revert: b/367139722

Change-Id: I0c00ee244bb3c61380a863101cf50b069b13f106
parent e534e81f
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -2641,7 +2641,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
            return true;
        }
        // Only do transfer after transaction has done when starting window exist.
        if (mStartingData != null && mStartingData.mWaitForSyncTransactionCommitCount > 0) {
        if (mStartingData != null && mStartingData.mWaitForSyncTransactionCommit) {
            mStartingData.mRemoveAfterTransaction = AFTER_TRANSACTION_COPY_TO_CLIENT;
            return true;
        }
@@ -2804,11 +2804,9 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A

    @Override
    void waitForSyncTransactionCommit(ArraySet<WindowContainer> wcAwaitingCommit) {
        // Only add once per transition.
        final boolean added = wcAwaitingCommit.contains(this);
        super.waitForSyncTransactionCommit(wcAwaitingCommit);
        if (!added && mStartingData != null) {
            mStartingData.mWaitForSyncTransactionCommitCount++;
        if (mStartingData != null) {
            mStartingData.mWaitForSyncTransactionCommit = true;
        }
    }

@@ -2819,7 +2817,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
            return;
        }
        final StartingData lastData = mStartingData;
        lastData.mWaitForSyncTransactionCommitCount--;
        lastData.mWaitForSyncTransactionCommit = false;
        if (lastData.mRemoveAfterTransaction == AFTER_TRANSACTION_REMOVE_DIRECTLY) {
            removeStartingWindowAnimation(lastData.mPrepareRemoveAnimation);
        } else if (lastData.mRemoveAfterTransaction == AFTER_TRANSACTION_COPY_TO_CLIENT) {
@@ -2849,7 +2847,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
        final boolean animate;
        final boolean hasImeSurface;
        if (mStartingData != null) {
            if (mStartingData.mWaitForSyncTransactionCommitCount > 0
            if (mStartingData.mWaitForSyncTransactionCommit
                    || mSyncState != SYNC_STATE_NONE) {
                mStartingData.mRemoveAfterTransaction = AFTER_TRANSACTION_REMOVE_DIRECTLY;
                mStartingData.mPrepareRemoveAnimation = prepareAnimation;
+2 −2
Original line number Diff line number Diff line
@@ -69,7 +69,7 @@ public abstract class StartingData {
     * Note this isn't equal to transition playing, the period should be
     * Sync finishNow -> Start transaction apply.
     */
    int mWaitForSyncTransactionCommitCount;
    boolean mWaitForSyncTransactionCommit;

    /**
     * For Shell transition.
@@ -112,7 +112,7 @@ public abstract class StartingData {
    public String toString() {
        return getClass().getSimpleName() + "{"
                + Integer.toHexString(System.identityHashCode(this))
                + " mWaitForSyncTransactionCommitCount=" + mWaitForSyncTransactionCommitCount
                + " waitForSyncTransactionCommit=" + mWaitForSyncTransactionCommit
                + " removeAfterTransaction= " + mRemoveAfterTransaction
                + "}";
    }