Make shared element visible when exit transition finishes early.
Bug 16124915 Change-Id: I91aa4a4912f3edb298ec75dd4178572a2c941a31
This commit is contained in:
@@ -58,6 +58,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator {
|
||||
private Bundle mSharedElementsBundle;
|
||||
private boolean mWasOpaque;
|
||||
private boolean mAreViewsReady;
|
||||
private boolean mIsViewsTransitionStarted;
|
||||
|
||||
public EnterTransitionCoordinator(Activity activity, ResultReceiver resultReceiver,
|
||||
ArrayList<String> sharedElementNames, boolean isReturning) {
|
||||
@@ -219,7 +220,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator {
|
||||
private void cancel() {
|
||||
if (!mIsCanceled) {
|
||||
mIsCanceled = true;
|
||||
if (getViewsTransition() == null) {
|
||||
if (getViewsTransition() == null || mIsViewsTransitionStarted) {
|
||||
setViewVisibility(mSharedElements, View.VISIBLE);
|
||||
} else {
|
||||
mTransitioningViews.addAll(mSharedElements);
|
||||
@@ -363,6 +364,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator {
|
||||
stripOffscreenViews();
|
||||
}
|
||||
}
|
||||
mIsViewsTransitionStarted = mIsViewsTransitionStarted || startEnterTransition;
|
||||
|
||||
Transition transition = mergeTransitions(sharedElementTransition, viewsTransition);
|
||||
if (startSharedElementTransition) {
|
||||
|
||||
@@ -116,6 +116,7 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator {
|
||||
setViewVisibility(mTransitioningViews, View.VISIBLE);
|
||||
setViewVisibility(mSharedElements, View.VISIBLE);
|
||||
mIsHidden = true;
|
||||
clearState();
|
||||
}
|
||||
|
||||
private void sharedElementExitBack() {
|
||||
@@ -357,7 +358,6 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator {
|
||||
}
|
||||
if (!mIsReturning && mExitNotified) {
|
||||
mActivity = null; // don't need it anymore
|
||||
clearState();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user