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

Commit c4c5987b authored by Michal Brzezinski's avatar Michal Brzezinski
Browse files

Making sure QS are visible when expanding shade with heads-up notification

QS was not visible because we were not updating QS expansion when heads up notification motion was in progress. Now we will do it when swiping down, so after going below starting movement position.

Fixes: 259447896
Test: show heads up notification -> swipe down on it -> QS should be visible throughout the whole down motion
Change-Id: Id54d7ac289fdd5bb527d9aa985e2bff90c4a4307
parent c4588f70
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -463,7 +463,11 @@ public final class NotificationPanelViewController implements Dumpable {
    private boolean mQsTouchAboveFalsingThreshold;
    private int mQsFalsingThreshold;

    /** Indicates drag starting height when swiping down or up on heads-up notifications */
    /**
     * Indicates drag starting height when swiping down or up on heads-up notifications.
     * This usually serves as a threshold from when shade expansion should really start. Otherwise
     * this value would be height of shade and it will be immediately expanded to some extent.
     */
    private int mHeadsUpStartHeight;
    private HeadsUpTouchHelper mHeadsUpTouchHelper;
    private boolean mListenForHeadsUp;
@@ -3386,9 +3390,12 @@ public final class NotificationPanelViewController implements Dumpable {
                && mQsExpansionAnimator == null && !mQsExpansionFromOverscroll;
        boolean goingBetweenClosedShadeAndExpandedQs =
                mQsExpandImmediate || collapsingShadeFromExpandedQs;
        // we don't want to update QS expansion when HUN is visible because then the whole shade is
        // initially hidden, even though it has non-zero height
        if (goingBetweenClosedShadeAndExpandedQs && !mHeadsUpManager.isTrackingHeadsUp()) {
        // in split shade we react when HUN is visible only if shade height is over HUN start
        // height - which means user is swiping down. Otherwise shade QS will either not show at all
        // with HUN movement or it will blink when touching HUN initially
        boolean qsShouldExpandWithHeadsUp = !mSplitShadeEnabled
                || (!mHeadsUpManager.isTrackingHeadsUp() || expandedHeight > mHeadsUpStartHeight);
        if (goingBetweenClosedShadeAndExpandedQs && qsShouldExpandWithHeadsUp) {
            float qsExpansionFraction;
            if (mSplitShadeEnabled) {
                qsExpansionFraction = 1;