From 5a2a948be701267e4dcfc3219196ac3f19f36db9 Mon Sep 17 00:00:00 2001 From: George Mount Date: Tue, 6 Dec 2016 09:31:06 -0800 Subject: [PATCH] Fix slow exit transition left exited views INVISIBLE. Bug 33377297 When an exit transition was finished after the onStop was received, the final visibilty ended up being INVISIBLE. To prevent this, when views are being reset to the initial location, the transitions are forced to end prior to changing the final values. Test: I10517bb5f1477824f1e54109e7be766225591d24 Change-Id: I3837927bb41623a3a146fc3a42209c9a81c99a38 --- core/java/android/app/ExitTransitionCoordinator.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/java/android/app/ExitTransitionCoordinator.java b/core/java/android/app/ExitTransitionCoordinator.java index 21e3aeedf69f1..26727988e7853 100644 --- a/core/java/android/app/ExitTransitionCoordinator.java +++ b/core/java/android/app/ExitTransitionCoordinator.java @@ -124,13 +124,16 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { } public void resetViews() { + ViewGroup decorView = getDecor(); + if (decorView != null) { + TransitionManager.endTransitions(decorView); + } if (mTransitioningViews != null) { showViews(mTransitioningViews, true); setTransitioningViewsVisiblity(View.VISIBLE, true); } showViews(mSharedElements, true); mIsHidden = true; - ViewGroup decorView = getDecor(); if (!mIsReturning && decorView != null) { decorView.suppressLayout(false); }