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

Commit caf6a2eb authored by Philip P. Moltmann's avatar Philip P. Moltmann
Browse files

Print document generation: Schedule new layout if current command is canceling

In this case the mUpdateSpec will be marked as stale once the command
is done, hence we have to start from scratch.

Fixes: 117124112
Test: - Reproduced scenario in bug
      - atest CtsPrintTestCases

Change-Id: I98e11d28147bae638d68b2124507d04f825a392f
parent d72ccfff
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -218,8 +218,14 @@ public final class RemotePrintDocument {
            throw new IllegalStateException("Cannot update in state:" + stateToString(mState));
        }

        // We schedule a layout if the constraints changed.
        if (!mUpdateSpec.hasSameConstraints(attributes, preview)) {
        /*
         * We schedule a layout in two cases:
         * - if the current command is canceling. In this case the mUpdateSpec will be marked as
         *   stale once the command is done, hence we have to start from scratch
         * - if the constraints changed we have a different document, hence start a new layout
         */
        if (mCurrentCommand != null && mCurrentCommand.isCanceling()
                || !mUpdateSpec.hasSameConstraints(attributes, preview)) {
            willUpdate = true;

            // If there is a current command that is running we ask for a