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

Commit b72e0002 authored by Justin Weir's avatar Justin Weir
Browse files

Make touchXOutsideOfQs require split shade to be enabled

Also renames the method and adds doc. There were 3 calls to
touchXOutsideOfQs and two of the usages were also checking whether
split shade was enabled. Adding the split shade check to the third
fixed b/259591763. Since all usages are paired with the split shade
check, I've moved that into the method and renamed it accordingly.

Fixes: 259591763
Test: manual and atest
Change-Id: I01edaeceac0a04cc1d2d9af22fbdaf88d3a3162f
parent b08cafd9
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -2325,7 +2325,7 @@ public final class NotificationPanelViewController implements Dumpable {


    private boolean handleQsTouch(MotionEvent event) {
        if (mSplitShadeEnabled && touchXOutsideOfQs(event.getX())) {
        if (isSplitShadeAndTouchXOutsideQs(event.getX())) {
            return false;
        }
        final int action = event.getActionMasked();
@@ -2382,12 +2382,14 @@ public final class NotificationPanelViewController implements Dumpable {
        return false;
    }

    private boolean touchXOutsideOfQs(float touchX) {
        return touchX < mQsFrame.getX() || touchX > mQsFrame.getX() + mQsFrame.getWidth();
    /** Returns whether split shade is enabled and an x coordinate is outside of the QS frame. */
    private boolean isSplitShadeAndTouchXOutsideQs(float touchX) {
        return mSplitShadeEnabled && (touchX < mQsFrame.getX()
                || touchX > mQsFrame.getX() + mQsFrame.getWidth());
    }

    private boolean isInQsArea(float x, float y) {
        if (touchXOutsideOfQs(x)) {
        if (isSplitShadeAndTouchXOutsideQs(x)) {
            return false;
        }
        // Let's reject anything at the very bottom around the home handle in gesture nav
@@ -5316,7 +5318,7 @@ public final class NotificationPanelViewController implements Dumpable {
        @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 (mSplitShadeEnabled && touchXOutsideOfQs(mInitialTouchX)) {
            if (isSplitShadeAndTouchXOutsideQs(mInitialTouchX)) {
                return;
            }
            mLastOverscroll = 0f;