From 6d834d86fb2de0c8a85189a01692d45ced3bb79f Mon Sep 17 00:00:00 2001 From: Jeff Chang Date: Wed, 20 May 2020 20:32:06 +0800 Subject: [PATCH] Fix transition return issues when more than 1 level depth d85bed510, Adding support for cross-task hero transition, When running cross-task, only play the enter animation, but the judgment for start exit transition with shared element is broken. For the case on the issue, when the exit transition completes, the activity is on the top of task, it is not allowed to execute return transition. This CL modifies the condition to allow the return transition. For start exit back transition, the isReturning is always true. We can use it to decide if it is allowed to play the return transition. Bug: 137838129 Test: atest ActivityTransitionTest Manual testing on ApiDemos with Activity transition Change-Id: Iaa6a875dbe305f6356887616b797dc45e76a4b56 --- core/java/android/app/ExitTransitionCoordinator.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/java/android/app/ExitTransitionCoordinator.java b/core/java/android/app/ExitTransitionCoordinator.java index 68824cd26eaaf..fd3eb0618429c 100644 --- a/core/java/android/app/ExitTransitionCoordinator.java +++ b/core/java/android/app/ExitTransitionCoordinator.java @@ -434,7 +434,8 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { mSharedElementNotified = true; delayCancel(); - if (!mActivity.isTopOfTask()) { + if (!mActivity.isTopOfTask() || (mIsReturning && !mActivity.isTaskRoot() + && !mSharedElements.isEmpty())) { mResultReceiver.send(MSG_ALLOW_RETURN_TRANSITION, null); }