[Notif] Remove transient views on swipe out

We are not removing transient views for the 'swiped out' animation.
Utilizing the transient view cleanup in onAnimationFinished to handle
this better.

Test: Manually
Bug: 79896012
Change-Id: I3c169815433e34795472264de30ff23b3d744269
This commit is contained in:
Rohan Shah
2018-05-22 10:59:30 -07:00
parent c4da4d494b
commit a759496b94

View File

@@ -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