Loading core/java/android/view/WindowManager.java +9 −1 Original line number Diff line number Diff line Loading @@ -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 */ Loading @@ -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 {} Loading libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java +2 −1 Original line number Diff line number Diff line Loading @@ -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 */); Loading services/core/java/com/android/server/wm/DisplayRotation.java +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading services/core/java/com/android/server/wm/Transition.java +5 −1 Original line number Diff line number Diff line Loading @@ -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(); Loading Loading
core/java/android/view/WindowManager.java +9 −1 Original line number Diff line number Diff line Loading @@ -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 */ Loading @@ -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 {} Loading
libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java +2 −1 Original line number Diff line number Diff line Loading @@ -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 */); Loading
services/core/java/com/android/server/wm/DisplayRotation.java +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
services/core/java/com/android/server/wm/Transition.java +5 −1 Original line number Diff line number Diff line Loading @@ -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(); Loading