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

Commit 359bc2b4 authored by Priyanka Advani (xWF)'s avatar Priyanka Advani (xWF) Committed by Android (Google) Code Review
Browse files

Merge "Revert "Only mark queued transition as no-op if Shell-init"" into main

parents 3df76562 eda30038
Loading
Loading
Loading
Loading
+8 −20
Original line number Diff line number Diff line
@@ -1571,14 +1571,13 @@ class TransitionController {
        proto.end(token);
    }

    private void queueTransition(Transition transit, OnStartCollect onStartCollect,
            boolean noopIfDuringDisplayChange) {
    /** Returns {@code true} if it started collecting, {@code false} if it was queued. */
    private void queueTransition(Transition transit, OnStartCollect onStartCollect) {
        final QueuedTransition queuedTransition = new QueuedTransition(transit, onStartCollect);

        // If we queue a non-display transition while a collecting transition
        // is still not formally started, then check if collecting transition is changing a display.
        if (noopIfDuringDisplayChange
                && (transit.getFlags() & TRANSIT_FLAG_DISPLAY_LEVEL_TRANSITION) == 0
        // If we queue a non-display transition while a collecting transition is still not
        // formally started, then check if collecting transition is changing a display
        if ((transit.getFlags() & TRANSIT_FLAG_DISPLAY_LEVEL_TRANSITION) == 0
                && mCollectingTransition != null && !mCollectingTransition.hasStarted()) {
            for (int i = 0; i < mCollectingTransition.mParticipants.size(); i++) {
                if (mCollectingTransition.mParticipants.valueAt(i).asDisplayContent() != null) {
@@ -1593,22 +1592,11 @@ class TransitionController {
                "Queueing transition: %s", transit);
    }

    /** @see #startCollectOrQueue(Transition, OnStartCollect, boolean) */
    /** Returns {@code true} if it started collecting, {@code false} if it was queued. */
    boolean startCollectOrQueue(Transition transit, OnStartCollect onStartCollect) {
        return startCollectOrQueue(transit, onStartCollect, false /* isDirectFromShell */);
    }

    /**
     * Returns {@code true} if it started collecting, {@code false} if it was queued.
     *
     * @param noopIfDuringDisplayChange true we should no-op this transition when a display
     *                                  changing transition is collecting but not formally started.
     */
    boolean startCollectOrQueue(Transition transit, OnStartCollect onStartCollect,
            boolean noopIfDuringDisplayChange) {
        if (!mQueuedTransitions.isEmpty()) {
            // Just add to queue since we already have a queue.
            queueTransition(transit, onStartCollect, noopIfDuringDisplayChange);
            queueTransition(transit, onStartCollect);
            return false;
        }
        if (mSyncEngine.hasActiveSync()) {
@@ -1627,7 +1615,7 @@ class TransitionController {
            } else {
                Slog.w(TAG, "Ongoing Sync outside of transition.");
            }
            queueTransition(transit, onStartCollect, noopIfDuringDisplayChange);
            queueTransition(transit, onStartCollect);
            return false;
        }
        moveToCollecting(transit);
+1 −1
Original line number Diff line number Diff line
@@ -380,7 +380,7 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub
                                    setAllReadyIfNeeded(nextTransition, wct);
                                }
                                mService.mChainTracker.end();
                            }, true /* noopIfDuringDisplayChange */);
                            });
                    return nextTransition.getToken();
                }
                // The transition already started collecting before sending a request to shell,