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

Commit 172b287d authored by Daniel Chapin's avatar Daniel Chapin Committed by Android Build Coastguard Worker
Browse files

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

This reverts commit e534e81f.

Reason for revert: b/367139722
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:41fb8c465b612b781d823b184891facd125de662)
Merged-In: I0c00ee244bb3c61380a863101cf50b069b13f106
Change-Id: I0c00ee244bb3c61380a863101cf50b069b13f106
parent d2ff4ead
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
                + "}";
    }