Use small corner radius for roundness updates from shelf

Fixes: 187548302
Test: scroll, swipe, dismiss notifications in shade/lockscreen
      => no sharp corners
Change-Id: I166e65e995b4f8fbc5fcc66710942047ce23f03d
This commit is contained in:
Lyn Han
2021-06-04 12:47:32 -05:00
parent c0e753076c
commit 26d13fecf2

View File

@@ -372,6 +372,9 @@ public class NotificationShelf extends ActivatableNotificationView implements
return;
}
final float smallCornerRadius =
getResources().getDimension(R.dimen.notification_corner_radius_small)
/ getResources().getDimension(R.dimen.notification_corner_radius);
final float viewEnd = viewStart + anv.getActualHeight();
final float cornerAnimationDistance = mCornerAnimationDistance
* mAmbientState.getExpansionFraction();
@@ -387,7 +390,7 @@ public class NotificationShelf extends ActivatableNotificationView implements
} else if (viewEnd < cornerAnimationTop) {
// Fast scroll skips frames and leaves corners with unfinished rounding.
// Reset top and bottom corners outside of animation bounds.
anv.setBottomRoundness(anv.isLastInSection() ? 1f : 0f,
anv.setBottomRoundness(anv.isLastInSection() ? 1f : smallCornerRadius,
false /* animate */);
}
@@ -401,7 +404,7 @@ public class NotificationShelf extends ActivatableNotificationView implements
} else if (viewStart < cornerAnimationTop) {
// Fast scroll skips frames and leaves corners with unfinished rounding.
// Reset top and bottom corners outside of animation bounds.
anv.setTopRoundness(anv.isFirstInSection() ? 1f : 0f,
anv.setTopRoundness(anv.isFirstInSection() ? 1f : smallCornerRadius,
false /* animate */);
}
}