Skip to content
Commit 4d179dc6 authored by Chet Haase's avatar Chet Haase
Browse files

Fix animation of notification handle bar when panel changes height

The notification panel uses LayoutTransition to animate changes to
the list of notifications. This works for the items themselves as
items are added or removed; the new/old items animate in/out and the
existing items animate to make or remove space.

But the handle at the bottom of the list (the gray translucent line) does
not play well with these changes. For example, when an item is swiped away
the handle snaps into its new location before the rest of the items have
finished animating.

The problem comes from a constraint of LayoutTransition; it handles changes
to the container it operates on, and to the parent hierarchy all the way up
to the root. However, it cannot animate changes to siblings of the parents.
So when the list resizes due to item changes, the handle (which is in a sibling
of the list) does not animate this change, but just reacts instantly.

The fix is to draw the handle not as a view itself, but rather as part of the
parent container of the list. So as the list animates a resize, the container will
also animate, and any graphics in the container will animate along with it.
No matter what size the container of the list is, the line will be drawn at
the bottom of it.

Issue #7024902 Notification panel animation incorrect when swiping notification out

Change-Id: Ifc412cb6bcdc6ead35993b0320364a2a95a16e11
parent 2bd65b61
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment