Merge "Fix no transition when only shared element exists." into lmp-dev
diff --git a/core/java/android/app/ExitTransitionCoordinator.java b/core/java/android/app/ExitTransitionCoordinator.java
index a74fbdf..d798dbb 100644
--- a/core/java/android/app/ExitTransitionCoordinator.java
+++ b/core/java/android/app/ExitTransitionCoordinator.java
@@ -136,14 +136,15 @@
Transition transition = getSharedElementExitTransition();
final ArrayList<View> sharedElementSnapshots = createSnapshots(mExitSharedElementBundle,
mSharedElementNames);
- transition.addListener(new Transition.TransitionListenerAdapter() {
+ transition.addListener(new ContinueTransitionListener() {
@Override
public void onTransitionEnd(Transition transition) {
transition.removeListener(this);
+ super.onTransitionEnd(transition);
int count = mSharedElements.size();
for (int i = 0; i < count; i++) {
View sharedElement = mSharedElements.get(i);
- ((ViewGroup)sharedElement.getParent()).suppressLayout(true);
+ ((ViewGroup) sharedElement.getParent()).suppressLayout(true);
}
}
});
@@ -221,6 +222,8 @@
if (transition != null) {
TransitionManager.beginDelayedTransition(getDecor(), transition);
mTransitioningViews.get(0).invalidate();
+ } else {
+ transitionStarted();
}
}
@@ -307,6 +310,8 @@
if (transition != null) {
TransitionManager.beginDelayedTransition(getDecor(), transition);
getDecor().invalidate();
+ } else {
+ transitionStarted();
}
}