From e82067b57595a2bce656e5ba3a9bcf19048f2f25 Mon Sep 17 00:00:00 2001 From: Mady Mellor Date: Thu, 30 Apr 2015 09:58:35 -0700 Subject: Add onStylusButtonPress listener to View The gesture is: stylus touching screen + button pressed, the event is recognized when the button is pressed, not when it's released. It can be pressed during DOWN or MOVE. If the stylus touch + press button is occurring longpress cannot occur and vice versa. Also adds the haptic feedback and accessibility bits specific to the new gesture. Bug: 19620479 Change-Id: Ibc4654978ef39e7b4251d17636453d90f3bf622d --- core/java/android/app/AssistStructure.java | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'core/java/android/app/AssistStructure.java') diff --git a/core/java/android/app/AssistStructure.java b/core/java/android/app/AssistStructure.java index 9946d79..3abbb5b 100644 --- a/core/java/android/app/AssistStructure.java +++ b/core/java/android/app/AssistStructure.java @@ -224,6 +224,7 @@ final public class AssistStructure implements Parcelable { static final int FLAGS_CHECKED = 0x00000200; static final int FLAGS_CLICKABLE = 0x00004000; static final int FLAGS_LONG_CLICKABLE = 0x00200000; + static final int FLAGS_STYLUS_BUTTON_PRESSABLE = 0x00400000; int mFlags; @@ -401,6 +402,10 @@ final public class AssistStructure implements Parcelable { return (mFlags&ViewNode.FLAGS_LONG_CLICKABLE) != 0; } + public boolean isStylusButtonPressable() { + return (mFlags&ViewNode.FLAGS_STYLUS_BUTTON_PRESSABLE) != 0; + } + public String getClassName() { return mClassName; } @@ -513,6 +518,12 @@ final public class AssistStructure implements Parcelable { } @Override + public void setStylusButtonPressable(boolean state) { + mNode.mFlags = (mNode.mFlags&~ViewNode.FLAGS_STYLUS_BUTTON_PRESSABLE) + | (state ? ViewNode.FLAGS_STYLUS_BUTTON_PRESSABLE : 0); + } + + @Override public void setFocusable(boolean state) { mNode.mFlags = (mNode.mFlags&~ViewNode.FLAGS_FOCUSABLE) | (state ? ViewNode.FLAGS_FOCUSABLE : 0); -- cgit v1.1