Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2d31f20d authored by Jeff DeCew's avatar Jeff DeCew Committed by Automerger Merge Worker
Browse files

Merge "Use correct stack height when bypass enabled." into sc-dev am: 44cd9995 am: 11f34828

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15392213

Change-Id: I836bdb696840a0241a6cfcfad75edd9a20dc49cd
parents 6eb3b8ad 11f34828
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -153,15 +153,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;

+10 −13
Original line number Diff line number Diff line
@@ -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()
                    // 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.getPulseStackHeight();
                    }
                                    : (int) ambientState.getStackHeight();
                    final int shelfStart =
                            stackBottom - ambientState.getShelf().getIntrinsicHeight();
                    viewState.yTranslation = Math.min(viewState.yTranslation, shelfStart);