Loading services/core/java/com/android/server/wm/ActivityStartController.java +10 −5 Original line number Diff line number Diff line Loading @@ -605,11 +605,16 @@ public class ActivityStartController { final Task task = r.getTask(); mService.deferWindowLayout(); try { r.mTransitionController.requestStartTransition(transition, task, remoteTransition, null /* displayChange */); r.mTransitionController.collect(task); r.mTransitionController.setTransientLaunch(r, TaskDisplayArea.getRootTaskAbove(rootTask)); final TransitionController controller = r.mTransitionController; if (controller.getTransitionPlayer() != null) { controller.requestStartTransition(transition, task, remoteTransition, null /* displayChange */); controller.collect(task); controller.setTransientLaunch(r, TaskDisplayArea.getRootTaskAbove(rootTask)); } else { // The transition player might be died when executing the queued transition. transition.abort(); } task.moveToFront("startExistingRecents"); task.mInResumeTopActivity = true; task.resumeTopActivity(null /* prev */, options, true /* deferPause */); Loading services/core/java/com/android/server/wm/DisplayRotation.java +2 −1 Original line number Diff line number Diff line Loading @@ -635,7 +635,8 @@ public class DisplayRotation { if (mDisplayContent.mTransitionController.isShellTransitionsEnabled()) { if (!mDisplayContent.mTransitionController.isCollecting()) { throw new IllegalStateException("Trying to rotate outside a transition"); // The remote may be too slow to response before transition timeout. Slog.e(TAG, "Trying to continue rotation outside a transition"); } mDisplayContent.mTransitionController.collect(mDisplayContent); } Loading services/core/java/com/android/server/wm/Transition.java +4 −1 Original line number Diff line number Diff line Loading @@ -427,7 +427,10 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { if (mState < STATE_COLLECTING) { throw new IllegalStateException("Can't start Transition which isn't collecting."); } else if (mState >= STATE_STARTED) { Slog.w(TAG, "Transition already started: " + mSyncId); Slog.w(TAG, "Transition already started id=" + mSyncId + " state=" + mState); // The transition may be aborted (STATE_ABORT) or timed out (STATE_PLAYING by // SyncGroup#finishNow), so do not revert the state to STATE_STARTED. return; } mState = STATE_STARTED; ProtoLog.v(ProtoLogGroup.WM_DEBUG_WINDOW_TRANSITIONS, "Starting Transition %d", Loading Loading
services/core/java/com/android/server/wm/ActivityStartController.java +10 −5 Original line number Diff line number Diff line Loading @@ -605,11 +605,16 @@ public class ActivityStartController { final Task task = r.getTask(); mService.deferWindowLayout(); try { r.mTransitionController.requestStartTransition(transition, task, remoteTransition, null /* displayChange */); r.mTransitionController.collect(task); r.mTransitionController.setTransientLaunch(r, TaskDisplayArea.getRootTaskAbove(rootTask)); final TransitionController controller = r.mTransitionController; if (controller.getTransitionPlayer() != null) { controller.requestStartTransition(transition, task, remoteTransition, null /* displayChange */); controller.collect(task); controller.setTransientLaunch(r, TaskDisplayArea.getRootTaskAbove(rootTask)); } else { // The transition player might be died when executing the queued transition. transition.abort(); } task.moveToFront("startExistingRecents"); task.mInResumeTopActivity = true; task.resumeTopActivity(null /* prev */, options, true /* deferPause */); Loading
services/core/java/com/android/server/wm/DisplayRotation.java +2 −1 Original line number Diff line number Diff line Loading @@ -635,7 +635,8 @@ public class DisplayRotation { if (mDisplayContent.mTransitionController.isShellTransitionsEnabled()) { if (!mDisplayContent.mTransitionController.isCollecting()) { throw new IllegalStateException("Trying to rotate outside a transition"); // The remote may be too slow to response before transition timeout. Slog.e(TAG, "Trying to continue rotation outside a transition"); } mDisplayContent.mTransitionController.collect(mDisplayContent); } Loading
services/core/java/com/android/server/wm/Transition.java +4 −1 Original line number Diff line number Diff line Loading @@ -427,7 +427,10 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { if (mState < STATE_COLLECTING) { throw new IllegalStateException("Can't start Transition which isn't collecting."); } else if (mState >= STATE_STARTED) { Slog.w(TAG, "Transition already started: " + mSyncId); Slog.w(TAG, "Transition already started id=" + mSyncId + " state=" + mState); // The transition may be aborted (STATE_ABORT) or timed out (STATE_PLAYING by // SyncGroup#finishNow), so do not revert the state to STATE_STARTED. return; } mState = STATE_STARTED; ProtoLog.v(ProtoLogGroup.WM_DEBUG_WINDOW_TRANSITIONS, "Starting Transition %d", Loading