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

Commit d313871d authored by Selim Cinek's avatar Selim Cinek
Browse files

Adjusted the expand animation to be smooth again

We forgot the gapHeight that needs to be added
to clear all.

Fixes: 153321587
Test: expand with clear all visible, observe no sudden stop of clear all
Change-Id: I95123ea8d2b7d26974c5873434515d9d7b5d7b0b
parent 74e4018f
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -535,6 +535,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
    private float mLastSentAppear;
    private float mLastSentExpandedHeight;
    private boolean mWillExpand;
    private int mGapHeight;

    private int mWaterfallTopInset;

@@ -1060,6 +1061,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd

        Resources res = context.getResources();
        mCollapsedSize = res.getDimensionPixelSize(R.dimen.notification_min_height);
        mGapHeight = res.getDimensionPixelSize(R.dimen.notification_section_divider_height);
        mStackScrollAlgorithm.initView(context);
        mAmbientState.reload(context);
        mPaddingBetweenElements = Math.max(1,
@@ -5093,8 +5095,10 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
    }

    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
    public int getFooterViewHeight() {
        return mFooterView == null ? 0 : mFooterView.getHeight() + mPaddingBetweenElements;
    public int getFooterViewHeightWithPadding() {
        return mFooterView == null ? 0 : mFooterView.getHeight()
                + mPaddingBetweenElements
                + mGapHeight;
    }

    @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
+2 −2
Original line number Diff line number Diff line
@@ -2397,8 +2397,8 @@ public class NotificationPanelViewController extends PanelViewController {
    }

    @Override
    protected int getClearAllHeight() {
        return mNotificationStackScroller.getFooterViewHeight();
    protected int getClearAllHeightWithPadding() {
        return mNotificationStackScroller.getFooterViewHeightWithPadding();
    }

    @Override
+4 −4
Original line number Diff line number Diff line
@@ -537,9 +537,9 @@ public abstract class PanelViewController {
        // the animation only to the last notification, and then jump to the maximum panel height so
        // clear all just fades in and the decelerating motion is towards the last notification.
        final boolean clearAllExpandHack = expand &&
                shouldExpandToTopOfClearAll(getMaxPanelHeight() - getClearAllHeight());
                shouldExpandToTopOfClearAll(getMaxPanelHeight() - getClearAllHeightWithPadding());
        if (clearAllExpandHack) {
            target = getMaxPanelHeight() - getClearAllHeight();
            target = getMaxPanelHeight() - getClearAllHeightWithPadding();
        }
        if (target == mExpandedHeight || getOverExpansionAmount() > 0f && expand) {
            notifyExpandingFinished();
@@ -1030,9 +1030,9 @@ public abstract class PanelViewController {
    protected abstract boolean isClearAllVisible();

    /**
     * @return the height of the clear all button, in pixels
     * @return the height of the clear all button, in pixels including padding
     */
    protected abstract int getClearAllHeight();
    protected abstract int getClearAllHeightWithPadding();

    public void setHeadsUpManager(HeadsUpManagerPhone headsUpManager) {
        mHeadsUpManager = headsUpManager;