diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java | 10 |
1 files changed, 10 insertions, 0 deletions
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 dc4b697cbdbe..5fe3c6c32388 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java @@ -3290,6 +3290,16 @@ public class NotificationStackScrollLayout extends ViewGroup 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 |