Fixed an issue where notifications wouldn't animate on height change

When switching between templates, the old intrinsic height was 0
before the layout, which suppressed the height animation. We're now
also animating if the previous height was 0 but the view already
had a height.

Fixes: 187979400
Test: add gmail notification, archive, observe animation
Change-Id: I3fa2edf9a39b586a685a96f89a74ead597143981
This commit is contained in:
Selim Cinek
2021-06-24 12:42:16 +02:00
parent b3db287943
commit 88323dfae8

View File

@@ -2482,7 +2482,8 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
int intrinsicBefore = getIntrinsicHeight();
super.onLayout(changed, left, top, right, bottom);
if (intrinsicBefore != getIntrinsicHeight() && intrinsicBefore != 0) {
if (intrinsicBefore != getIntrinsicHeight()
&& (intrinsicBefore != 0 || getActualHeight() > 0)) {
notifyHeightChanged(true /* needsAnimation */);
}
if (mMenuRow != null && mMenuRow.getMenuView() != null) {