Execute transition by starting window only if visible requested

Otherwise the activity may not have been added as opening app for
transition, which causes the animation to be skipped. Such as if the
previous activity doesn't need to pause or take long time to pause,
then its visible-requested is still false.

Bug: 161781889
Test: Cold launch Settings to freeform:
      adb shell am start -n "com.android.settings/.Settings " \
      --windowingMode 5
      There should be transition animation.
Change-Id: If339b1e9e5f004087dcbf2be3c8ab7a9f5524c5b
This commit is contained in:
Riddle Hsu
2022-04-12 18:25:22 +08:00
parent 2e495889be
commit 37d61f3b05

View File

@@ -6298,7 +6298,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
// starting window is drawn, the transition can start earlier. Exclude finishing and bubble
// because it may be a trampoline.
if (!wasTaskVisible && mStartingData != null && !finishing && !mLaunchedFromBubble
&& !mDisplayContent.mAppTransition.isReady()
&& mVisibleRequested && !mDisplayContent.mAppTransition.isReady()
&& !mDisplayContent.mAppTransition.isRunning()
&& mDisplayContent.isNextTransitionForward()) {
// The pending transition state will be cleared after the transition is started, so