More robust fix to BubbleTextViews appearing on multiple rows.
This is the more comprehensive version of ag/20119299.
Improvements compared to that change:
- Icons on the same row animate together (as opposed to the
first icon on the row animating separately)
- Multiple rows of predicted apps are supported (any beyond
the first row are animated like everything else)
--- Original description ---
Example BubbleTextView: WhatsApp/Gmail conversation shortcuts.
The issue was we were treating these the same as the top app
row, but we were assuming there would only be 1 such row, which
messed up the measurement logic. At the same time, the logic
specific to that app row was redundant with the new logic for
rows containing mulitple items.
This solution does 2 things:
- Removes special logic for app row (it now uses the same
logic as other rows with multiple items, i.e. uses the span
index to determine the height of the row)
- Keeps the scale/alpha at 1 for the first row of app icons.
This currently only applies to predicted apps, but if there
were multiple app rows in the future, the additional rows
would animate the same way as other rows (see demo videos
for an example with double predicted apps in 0 state). In
the conversation case, the other icons are deep shortcuts.
The result is the app row still does what it did before (stays
fixed at full size/opacity), and deep shortcuts like the ones
used for WhatsApp and Gmail animate like other rows of items,
such as screenshots.
Demo videos: https://drive.google.com/drive/folders/1GPQNIwMfuj9ZdAbRrh-K75C5xJYT4Gzo?resourcekey=0-ojO6VGetEBy5YTq4roFmlw&usp=sharing
Test: Manual with and without inject_web_top (which moves app row)
for WhatsApp and Gmail with AiAi fishfood.
Bug: 239927522
Change-Id: Ib2ca97b93798cb57eb55545eeba8be9322484f7d
1 file changed