summaryrefslogtreecommitdiff
path: root/core/java/android/view/ViewOverlay.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/view/ViewOverlay.java')
-rw-r--r--core/java/android/view/ViewOverlay.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/core/java/android/view/ViewOverlay.java b/core/java/android/view/ViewOverlay.java
index 55109397f595..2d86bfe6b4f3 100644
--- a/core/java/android/view/ViewOverlay.java
+++ b/core/java/android/view/ViewOverlay.java
@@ -15,6 +15,7 @@
*/
package android.view;
+import android.animation.LayoutTransition;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Rect;
@@ -169,6 +170,14 @@ public class ViewOverlay {
child.offsetTopAndBottom(parentLocation[1] - hostViewLocation[1]);
}
parent.removeView(child);
+ if (parent.getLayoutTransition() != null) {
+ // LayoutTransition will cause the child to delay removal - cancel it
+ parent.getLayoutTransition().cancel(LayoutTransition.DISAPPEARING);
+ }
+ // fail-safe if view is still attached for any reason
+ if (child.getParent() != null) {
+ child.mParent = null;
+ }
}
super.addView(child);
}