> Using a single linearLayout instead of multiple nested views
> Using clipToOutline for rounded corners instead of using canvas.saveLayer
> Removing nested view elevations and overdraw
> Using LayoutTransition for animating layout changes, instead of manually creating animators
Change-Id: I8e57092f52ca5a032a2756594fdd39788acc5a0d
- Reduce main notification height
- Increase header height and center "Notifications"
- Footer has short height when empty to serve as padding
Bug: 65215656
Change-Id: I691d176628b0b51e8d9af030084b8c29837778dc
- Content description includes count of notifications.
- Notifications have a dismiss action.
- All icons that support shortcuts will have action to show
shortcut menu, since there will be system shortcuts even if
there are no deep shortcuts.
Bug: 36564782
Change-Id: I51b085fa26754f2dcd93c7db6548f2edf054f494
- Add null check when collapsing footer, as container could be null
if the app is opened
- Remove redundant method that always passed mNotificationItemView
- Set mNotificationItemView to null when it is removed
Change-Id: Ia329815224b213fc688733eaaf6f29ee6888caaf
- Background is now white, and color beneath and divider color
updated accordingly (not from color extraction)
- Removed overflow text ("+6") and added it to a header
("6 Notifications"). Use "..." instead if there is an overflow.
- Even spaced out icons in notification footer between the
far right icon and the ellipsis
- Remove code to change arrow tint, since it is always white
now. This also fixes the issue where it was drawn as a rect.
Bug: 35766387
Change-Id: I03bfda4ff029f23dd8b3dd1b72f534ea0e2c0816
- Use smaller radius for notifications round rect background
- Remove "Notifications" header, and clip children to round rect path
- Flip main notification so that icon shows on the right instead of
left; footer is also flipped so animation makes sense
- Clean up animations to animate view outline instead of height
Bug: 32410600
Change-Id: I6bd1e1f8395b3703f28c3b0056a89e67672368ab
Before, we had a hack where the notifation view would tell the
footer to trim its notifications, which is inefficient and ugly
since we already know exactly what notification to remove. So
now we move the relevant removal logic (keeping things like the
overflow text in sync) to a removeViewFromIconRow() that is
used after the icon animates as well as when trimming notifications.
Bug: 32410600
Change-Id: I19e54e0c28daea869b45649c7f5c74843412bb86
Previously we had a mapping from View to NotificationInfo,
but this way we don't have to maintain that separate mapping
and can follow the pattern used throughout the rest of launcher.
Change-Id: Ia988f822613b9978bab3d0127226de920a3e73c9
This uses the same color calculations as the system, except that
we use the extracted notification background instead of assuming
it is white.
Bug: 32410600
Change-Id: I7be8b9459ca38d01a6780758898541e69ec42576
This will preserve the order when iterating over the notifications to
populate the popup container.
Bug: 34735689
Change-Id: Ic390ffef140e454566ffc6ab1763950349df25ce
- Next secondary icon animates up to replace dismissed main notification
- Add padding around main notification so it always aligns with the
straight edges of the view (not the rounded corners); looks more
dismissable
- Notification view collapses as notifications are dismissed
- To mimic system notification behavior, we copy SwipeHelper,
FlingAnimationUtils, and Interpolators. We also apply elevation
to notifications and reveal a darker color beneath when dismissing.
Bug: 32410600
Change-Id: I9fbf10e73bb4996f17ef061c856efb013967d972