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

Commit 8b16ba06 authored by Chris Li's avatar Chris Li Committed by Android (Google) Code Review
Browse files

Merge "Revert^2 "Avoid remove starting window too early when playing multiple...

Merge "Revert^2 "Avoid remove starting window too early when playing multiple transitions"" into main
parents cb741240 452dbf96
Loading
Loading
Loading
Loading
+14 −4
Original line number Diff line number Diff line
@@ -2641,10 +2641,16 @@ 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.mWaitForSyncTransactionCommit) {
        if (mStartingData != null) {
            final boolean isWaitingForSyncTransactionCommit =
                    Flags.removeStartingWindowWaitForMultiTransitions()
                            ? getSyncTransactionCommitCallbackDepth() > 0
                            : mStartingData.mWaitForSyncTransactionCommit;
            if (isWaitingForSyncTransactionCommit) {
                mStartingData.mRemoveAfterTransaction = AFTER_TRANSACTION_COPY_TO_CLIENT;
                return true;
            }
        }
        requestCopySplashScreen();
        return isTransferringSplashScreen();
    }
@@ -2847,7 +2853,11 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
        final boolean animate;
        final boolean hasImeSurface;
        if (mStartingData != null) {
            if (mStartingData.mWaitForSyncTransactionCommit
            final boolean isWaitingForSyncTransactionCommit =
                    Flags.removeStartingWindowWaitForMultiTransitions()
                            ? getSyncTransactionCommitCallbackDepth() > 0
                            : mStartingData.mWaitForSyncTransactionCommit;
            if (isWaitingForSyncTransactionCommit
                    || mSyncState != SYNC_STATE_NONE) {
                mStartingData.mRemoveAfterTransaction = AFTER_TRANSACTION_REMOVE_DIRECTLY;
                mStartingData.mPrepareRemoveAnimation = prepareAnimation;
+2 −0
Original line number Diff line number Diff line
@@ -68,7 +68,9 @@ public abstract class StartingData {
     * window.
     * Note this isn't equal to transition playing, the period should be
     * Sync finishNow -> Start transaction apply.
     * @deprecated TODO(b/362347290): cleanup after fix ramp up
     */
    @Deprecated
    boolean mWaitForSyncTransactionCommit;

    /**
+3 −0
Original line number Diff line number Diff line
@@ -4351,4 +4351,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
        t.merge(mSyncTransaction);
    }

    int getSyncTransactionCommitCallbackDepth() {
        return mSyncTransactionCommitCallbackDepth;
    }
}