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

Commit 017f1436 authored by Riddle Hsu's avatar Riddle Hsu Committed by Automerger Merge Worker
Browse files

Merge "Skip screen animation if it is off" into udc-dev am: 61f4503d

parents 7eb33182 61f4503d
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -554,6 +554,13 @@ public interface WindowManager extends ViewManager {
     */
    int TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_LAUNCHER_CLEAR_SNAPSHOT = (1 << 9); // 0x200

    /**
     * Transition flag: The transition is prepared when nothing is visible on screen, e.g. screen
     * is off. The animation handlers can decide whether to skip animations.
     * @hide
     */
    int TRANSIT_FLAG_INVISIBLE = (1 << 10); // 0x400

    /**
     * @hide
     */
@@ -567,7 +574,8 @@ public interface WindowManager extends ViewManager {
            TRANSIT_FLAG_KEYGUARD_LOCKED,
            TRANSIT_FLAG_IS_RECENTS,
            TRANSIT_FLAG_KEYGUARD_GOING_AWAY,
            TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_LAUNCHER_CLEAR_SNAPSHOT
            TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_LAUNCHER_CLEAR_SNAPSHOT,
            TRANSIT_FLAG_INVISIBLE,
    })
    @Retention(RetentionPolicy.SOURCE)
    @interface TransitionFlags {}
+2 −1
Original line number Diff line number Diff line
@@ -299,7 +299,8 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler {
        }

        // Early check if the transition doesn't warrant an animation.
        if (Transitions.isAllNoAnimation(info) || Transitions.isAllOrderOnly(info)) {
        if (Transitions.isAllNoAnimation(info) || Transitions.isAllOrderOnly(info)
                || (info.getFlags() & WindowManager.TRANSIT_FLAG_INVISIBLE) != 0) {
            startTransaction.apply();
            finishTransaction.apply();
            finishCallback.onTransitionFinished(null /* wct */, null /* wctCB */);
+1 −0
Original line number Diff line number Diff line
@@ -513,6 +513,7 @@ public class DisplayRotation {
            }

            if (mDisplayContent.inTransition()
                    && mDisplayContent.getDisplayPolicy().isScreenOnFully()
                    && !mDisplayContent.mTransitionController.useShellTransitionsRotation()) {
                // Rotation updates cannot be performed while the previous rotation change animation
                // is still in progress. Skip this update. We will try updating again after the
+5 −1
Original line number Diff line number Diff line
@@ -687,7 +687,11 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
            // All windows are synced already.
            return;
        }
        if (!isInTransition(wc)) return;
        if (wc.mDisplayContent == null || !isInTransition(wc)) return;
        if (!wc.mDisplayContent.getDisplayPolicy().isScreenOnFully()
                || wc.mDisplayContent.getDisplayInfo().state == Display.STATE_OFF) {
            mFlags |= WindowManager.TRANSIT_FLAG_INVISIBLE;
        }

        if (mContainerFreezer == null) {
            mContainerFreezer = new ScreenshotFreezer();