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
This commit is contained in:
Mady Mellor
2015-05-01 17:06:50 -07:00
parent 9a4cdf5caa
commit aaf32f69d6

View File

@@ -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();