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

Commit aaf32f69 authored by Mady Mellor's avatar Mady Mellor
Browse files

Provide a way for a stylus to access the quick settings menu

You can access quick settings with a 2 finger drag, this change allows a
stylus to access quick settings using press either stylus button + drag.

Bug: 19916487
Change-Id: I3887f12980fc1be3d5a966ad8cc67abe93545a2a
parent 9a4cdf5c
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -706,7 +706,8 @@ public class NotificationPanelView extends PanelView implements
    }

    private boolean handleQsTouch(MotionEvent event) {
        if (event.getActionMasked() == MotionEvent.ACTION_DOWN && getExpandedFraction() == 1f
        final int action = event.getActionMasked();
        if (action == MotionEvent.ACTION_DOWN && getExpandedFraction() == 1f
                && mStatusBar.getBarState() != StatusBarState.KEYGUARD && !mQsExpanded
                && mQsExpansionEnabled) {

@@ -727,16 +728,21 @@ public class NotificationPanelView extends PanelView implements
                return true;
            }
        }
        if (event.getActionMasked() == MotionEvent.ACTION_CANCEL
                || event.getActionMasked() == MotionEvent.ACTION_UP) {
        if (action == MotionEvent.ACTION_CANCEL || action == MotionEvent.ACTION_UP) {
            mConflictingQsExpansionGesture = false;
        }
        if (event.getActionMasked() == MotionEvent.ACTION_DOWN && isFullyCollapsed()
        if (action == MotionEvent.ACTION_DOWN && isFullyCollapsed()
                && mQsExpansionEnabled) {
            mTwoFingerQsExpandPossible = true;
        }
        if (mTwoFingerQsExpandPossible && event.getActionMasked() == MotionEvent.ACTION_POINTER_DOWN
                && event.getPointerCount() == 2
        final int pointerCount = event.getPointerCount();
        final boolean twoFingerDrag = action == MotionEvent.ACTION_POINTER_DOWN
                && pointerCount == 2;
        final boolean stylusClickDrag = action == MotionEvent.ACTION_DOWN
                && pointerCount == 1 && event.getToolType(0) == MotionEvent.TOOL_TYPE_STYLUS
                && (event.isButtonPressed(MotionEvent.BUTTON_SECONDARY)
                        || event.isButtonPressed(MotionEvent.BUTTON_TERTIARY));
        if (mTwoFingerQsExpandPossible && (twoFingerDrag || stylusClickDrag)
                && event.getY(event.getActionIndex()) < mStatusBarMinHeight) {
            mQsExpandImmediate = true;
            requestPanelHeightUpdate();