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

Commit cdc2d39c authored by Michał Brzeziński's avatar Michał Brzeziński Committed by Automerger Merge Worker
Browse files

Merge "Fixing QS reacting to touches in notifications area in split shade"...

Merge "Fixing QS reacting to touches in notifications area in split shade" into sc-v2-dev am: df844e0c

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

Change-Id: I271c0f59fb1aa2f3cb9a5e7ab249e2dfc2160121
parents a8b72c6c df844e0c
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -1900,6 +1900,9 @@ public class NotificationPanelViewController extends PanelViewController {


    private boolean handleQsTouch(MotionEvent event) {
        if (mShouldUseSplitNotificationShade && touchXOutsideOfQs(event.getX())) {
            return false;
        }
        final int action = event.getActionMasked();
        if (action == MotionEvent.ACTION_DOWN && getExpandedFraction() == 1f
                && mBarState != KEYGUARD && !mQsExpanded && isQsExpansionEnabled()) {
@@ -1941,8 +1944,12 @@ public class NotificationPanelViewController extends PanelViewController {
        return false;
    }

    private boolean touchXOutsideOfQs(float touchX) {
        return touchX < mQsFrame.getX() || touchX > mQsFrame.getX() + mQsFrame.getWidth();
    }

    private boolean isInQsArea(float x, float y) {
        if (x < mQsFrame.getX() || x > mQsFrame.getX() + mQsFrame.getWidth()) {
        if (touchXOutsideOfQs(x)) {
            return false;
        }
        // Let's reject anything at the very bottom around the home handle in gesture nav
@@ -4086,9 +4093,7 @@ public class NotificationPanelViewController extends PanelViewController {
        @Override
        public void flingTopOverscroll(float velocity, boolean open) {
            // in split shade mode we want to expand/collapse QS only when touch happens within QS
            if (mShouldUseSplitNotificationShade
                    && (mInitialTouchX < mQsFrame.getX()
                        || mInitialTouchX > mQsFrame.getX() + mQsFrame.getWidth())) {
            if (mShouldUseSplitNotificationShade && touchXOutsideOfQs(mInitialTouchX)) {
                return;
            }
            mLastOverscroll = 0f;