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

Commit bd003100 authored by Jorim Jaggi's avatar Jorim Jaggi
Browse files

Pressing back when QS is open only collapses QS

Bug: 15856079
Change-Id: Ic4853cbb6569ecbd779d470e0b6911199e6bf09b
parent e05a56bf
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -132,6 +132,7 @@ public class NotificationPanelView extends PanelView implements
     * need to take this into account in our panel height calculation.
     */
    private int mScrollYOverride = -1;
    private boolean mQsAnimatorExpand;

    public NotificationPanelView(Context context, AttributeSet attrs) {
        super(context, attrs);
@@ -308,6 +309,18 @@ public class NotificationPanelView extends PanelView implements
        setQsExpansion(mQsMinExpansionHeight);
    }

    public void animateCloseQs() {
        if (mQsExpansionAnimator != null) {
            if (!mQsAnimatorExpand) {
                return;
            }
            float height = mQsExpansionHeight;
            mQsExpansionAnimator.cancel();
            setQsExpansion(height);
        }
        flingSettings(0 /* vel */, false);
    }

    public void openQs() {
        cancelAnimation();
        if (mQsExpansionEnabled) {
@@ -738,6 +751,7 @@ public class NotificationPanelView extends PanelView implements
        });
        animator.start();
        mQsExpansionAnimator = animator;
        mQsAnimatorExpand = expand;
    }

    /**
@@ -1228,4 +1242,8 @@ public class NotificationPanelView extends PanelView implements
            mReserveNotificationSpace.setVisibility(View.GONE);
        }
    }

    public boolean isQsExpanded() {
        return mQsExpanded;
    }
}
+13 −2
Original line number Diff line number Diff line
@@ -2901,9 +2901,20 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,

    public boolean onBackPressed() {
        if (mState == StatusBarState.KEYGUARD || mState == StatusBarState.SHADE_LOCKED) {
            return mStatusBarKeyguardViewManager.onBackPressed();
            if (mStatusBarKeyguardViewManager.onBackPressed()) {
                return true;
            }
            if (mNotificationPanel.isQsExpanded()) {
                mNotificationPanel.animateCloseQs();
                return true;
            }
            return false;
        } else {
            if (mNotificationPanel.isQsExpanded()) {
                mNotificationPanel.animateCloseQs();
            } else {
                animateCollapsePanels();
            }
            return true;
        }
    }