Merge "Use correct stack height when bypass enabled." into sc-dev

This commit is contained in:
Jeff DeCew
2021-07-27 14:46:44 +00:00
committed by Android (Google) Code Review
2 changed files with 10 additions and 22 deletions

View File

@@ -154,15 +154,6 @@ public class AmbientState {
return mStackHeight;
}
/**
* @return Height of notifications panel, with the animation from pulseHeight accounted for.
*/
// TODO(b/192348384): move this logic to getStackHeight, and remove this and getInnerHeight
public float getPulseStackHeight() {
float pulseHeight = Math.min(mPulseHeight, mStackHeight);
return MathUtils.lerp(mStackHeight, pulseHeight, mDozeAmount);
}
/** Tracks the state from AlertingNotificationManager#hasNotifications() */
private boolean mHasAlertEntries;

View File

@@ -447,19 +447,16 @@ public class StackScrollAlgorithm {
// to shelf start, thereby hiding all notifications (except the first one, which
// we later unhide in updatePulsingState)
// TODO(b/192348384): merge InnerHeight with StackHeight
final int stackBottom;
if (ambientState.isBypassEnabled()) {
// We want to use the stackHeight when pulse expanding, since the animation
// isn't currently optimized if the pulseHeight is continuously changing
// Let's improve this when we're merging the heights above
stackBottom = ambientState.isPulseExpanding()
? (int) ambientState.getStackHeight()
: ambientState.getInnerHeight();
} else {
stackBottom = !ambientState.isShadeExpanded() || ambientState.isDozing()
? ambientState.getInnerHeight()
: (int) ambientState.getPulseStackHeight();
}
// Note: Bypass pulse looks different, but when it is not expanding, we need
// to use the innerHeight which doesn't update continuously, otherwise we show
// more notifications than we should during this special transitional states.
boolean bypassPulseNotExpanding = ambientState.isBypassEnabled()
&& ambientState.isOnKeyguard() && !ambientState.isPulseExpanding();
final int stackBottom =
!ambientState.isShadeExpanded() || ambientState.isDozing()
|| bypassPulseNotExpanding
? ambientState.getInnerHeight()
: (int) ambientState.getStackHeight();
final int shelfStart =
stackBottom - ambientState.getShelf().getIntrinsicHeight();
viewState.yTranslation = Math.min(viewState.yTranslation, shelfStart);