Fix detection supportsHover
Summary: Changelog: [Internal] - Internal usage broke existing behavior, reverting to check if a flag is set. Reviewed By: javache Differential Revision: D41502122 fbshipit-source-id: 296bb1578cd63f935e4111bfec8d58f965149640
This commit is contained in:
Родитель
b7a85b59b5
Коммит
75a8847a42
|
@ -22,6 +22,7 @@ public class PointerEventHelper {
|
|||
public static final String POINTER_TYPE_PEN = "pen";
|
||||
public static final String POINTER_TYPE_MOUSE = "mouse";
|
||||
public static final String POINTER_TYPE_UNKNOWN = "";
|
||||
private static final int X_FLAG_SUPPORTS_HOVER = 0x01000000;
|
||||
|
||||
public static enum EVENT {
|
||||
CANCEL,
|
||||
|
@ -184,8 +185,17 @@ public class PointerEventHelper {
|
|||
}
|
||||
|
||||
public static boolean supportsHover(MotionEvent motionEvent) {
|
||||
// A flag has been set on the MotionEvent to indicate it supports hover
|
||||
// See D36958947 on justifications for this.
|
||||
// TODO(luwe): Leverage previous events to determine if MotionEvent
|
||||
// is from an input device that supports hover
|
||||
boolean supportsHoverFlag = (motionEvent.getFlags() & X_FLAG_SUPPORTS_HOVER) != 0;
|
||||
if (supportsHoverFlag) {
|
||||
return true;
|
||||
}
|
||||
|
||||
int source = motionEvent.getSource();
|
||||
return source == InputDevice.SOURCE_MOUSE || source == InputDevice.SOURCE_CLASS_POINTER;
|
||||
return source == InputDevice.SOURCE_MOUSE;
|
||||
}
|
||||
|
||||
public static boolean isExitEvent(String eventName) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче