From 872efe45d5b3a4d6376cd15e118d5bb68ef334da Mon Sep 17 00:00:00 2001 From: Dake Gu Date: Fri, 29 Aug 2014 15:24:58 -0700 Subject: [PATCH] ActivityTransition: fix activity not finished on back Fixed two corner cases that called activity is not finished on back when there is no shared element in calling activity due to "Do not keep activity" option re-creates calling activity. b/17333777 Change-Id: I66567efcce39b301b0febd1ce7a5d67b9ff73c3c --- core/java/android/app/EnterTransitionCoordinator.java | 2 +- core/java/android/app/ExitTransitionCoordinator.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/core/java/android/app/EnterTransitionCoordinator.java b/core/java/android/app/EnterTransitionCoordinator.java index 5a6898d081617..f2af2b4eb789b 100644 --- a/core/java/android/app/EnterTransitionCoordinator.java +++ b/core/java/android/app/EnterTransitionCoordinator.java @@ -170,7 +170,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { private void sendSharedElementDestination() { boolean allReady; - if (allowOverlappingTransitions()) { + if (allowOverlappingTransitions() && getEnterViewsTransition() != null) { allReady = false; } else { allReady = !getDecor().isLayoutRequested(); diff --git a/core/java/android/app/ExitTransitionCoordinator.java b/core/java/android/app/ExitTransitionCoordinator.java index f31800dd8b0f9..32b54719bd6a0 100644 --- a/core/java/android/app/ExitTransitionCoordinator.java +++ b/core/java/android/app/ExitTransitionCoordinator.java @@ -139,7 +139,8 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { if (getDecor() != null) { getDecor().suppressLayout(true); } - if (!mSharedElements.isEmpty() && getSharedElementTransition() != null) { + if (mExitSharedElementBundle != null && !mExitSharedElementBundle.isEmpty() && + !mSharedElements.isEmpty() && getSharedElementTransition() != null) { startTransition(new Runnable() { public void run() { startSharedElementExit();