Merge "[Notif] Remove transient views on swipe out" into pi-dev
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
index 0aa51c9..7410069 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
@@ -3293,6 +3293,16 @@
if (!childWasSwipedOut) {
Rect clipBounds = child.getClipBounds();
childWasSwipedOut = clipBounds != null && clipBounds.height() == 0;
+
+ if (childWasSwipedOut && child instanceof ExpandableView) {
+ // Clean up any potential transient views if the child has already been swiped
+ // out, as we won't be animating it further (due to its height already being
+ // clipped to 0.
+ ViewGroup transientContainer = ((ExpandableView) child).getTransientContainer();
+ if (transientContainer != null) {
+ transientContainer.removeTransientView(child);
+ }
+ }
}
int animationType = childWasSwipedOut
? AnimationEvent.ANIMATION_TYPE_REMOVE_SWIPED_OUT