summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/java/android/transition/ChangeTransform.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/core/java/android/transition/ChangeTransform.java b/core/java/android/transition/ChangeTransform.java
index 1b8d57c..3fd28a6 100644
--- a/core/java/android/transition/ChangeTransform.java
+++ b/core/java/android/transition/ChangeTransform.java
@@ -228,7 +228,8 @@ public class ChangeTransform extends Transition {
}
// Next handle the normal matrix transform:
- ObjectAnimator transformAnimator = createTransformAnimator(startValues, endValues);
+ ObjectAnimator transformAnimator = createTransformAnimator(startValues, endValues,
+ handleParentChange);
if (handleParentChange && transformAnimator != null && mUseOverlay) {
createGhostView(sceneRoot, startValues, endValues);
@@ -238,7 +239,7 @@ public class ChangeTransform extends Transition {
}
private ObjectAnimator createTransformAnimator(TransitionValues startValues,
- TransitionValues endValues) {
+ TransitionValues endValues, final boolean handleParentChange) {
Matrix startMatrix = (Matrix) startValues.values.get(PROPNAME_MATRIX);
Matrix endMatrix = (Matrix) endValues.values.get(PROPNAME_MATRIX);
@@ -277,7 +278,12 @@ public class ChangeTransform extends Transition {
@Override
public void onAnimationEnd(Animator animation) {
if (!mIsCanceled) {
- setCurrentMatrix(finalEndMatrix);
+ if (handleParentChange && mUseOverlay) {
+ setCurrentMatrix(finalEndMatrix);
+ } else {
+ view.setTagInternal(R.id.transitionTransform, null);
+ view.setTagInternal(R.id.parentMatrix, null);
+ }
}
ANIMATION_MATRIX_PROPERTY.set(view, null);
transforms.restore(view);