From 53ca3f13e70fda98aa9f39bb0c15afaf435e3904 Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Mon, 27 Jun 2011 18:36:00 -0700 Subject: [PATCH] Hover and stylus API cleanup. Added missing setOnHoverListener method. Removed BUTTON_STATE_ERASER. Change-Id: I5d820d0a8e47fe5fd2d88e9fd9fc3fc6ce0dea0d --- api/current.txt | 2 +- core/java/android/view/MotionEvent.java | 14 +++----------- core/java/android/view/View.java | 8 ++++++++ native/include/android/input.h | 1 - services/input/InputReader.cpp | 8 ++++---- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/api/current.txt b/api/current.txt index e2f7f8b618c45..8b63be8103afa 100644 --- a/api/current.txt +++ b/api/current.txt @@ -21425,7 +21425,6 @@ package android.view { field public static final int AXIS_Y = 1; // 0x1 field public static final int AXIS_Z = 11; // 0xb field public static final int BUTTON_BACK = 8; // 0x8 - field public static final int BUTTON_ERASER = 32; // 0x20 field public static final int BUTTON_FORWARD = 16; // 0x10 field public static final int BUTTON_PRIMARY = 1; // 0x1 field public static final int BUTTON_SECONDARY = 2; // 0x2 @@ -22010,6 +22009,7 @@ package android.view { method public void setOnDragListener(android.view.View.OnDragListener); method public void setOnFocusChangeListener(android.view.View.OnFocusChangeListener); method public void setOnGenericMotionListener(android.view.View.OnGenericMotionListener); + method public void setOnHoverListener(android.view.View.OnHoverListener); method public void setOnKeyListener(android.view.View.OnKeyListener); method public void setOnLongClickListener(android.view.View.OnLongClickListener); method public void setOnSystemUiVisibilityChangeListener(android.view.View.OnSystemUiVisibilityChangeListener); diff --git a/core/java/android/view/MotionEvent.java b/core/java/android/view/MotionEvent.java index 3436cd1df94fd..f45e78bfef105 100644 --- a/core/java/android/view/MotionEvent.java +++ b/core/java/android/view/MotionEvent.java @@ -1130,14 +1130,14 @@ public final class MotionEvent extends InputEvent implements Parcelable { public static final int BUTTON_PRIMARY = 1 << 0; /** - * Button constant: Secondary button (right mouse button, stylus barrel). + * Button constant: Secondary button (right mouse button, stylus first button). * * @see #getButtonState */ public static final int BUTTON_SECONDARY = 1 << 1; /** - * Button constant: Tertiary button (middle mouse button). + * Button constant: Tertiary button (middle mouse button, stylus second button). * * @see #getButtonState */ @@ -1165,13 +1165,6 @@ public final class MotionEvent extends InputEvent implements Parcelable { */ public static final int BUTTON_FORWARD = 1 << 4; - /** - * Button constant: Eraser button pressed (stylus end). - * - * @see #getButtonState - */ - public static final int BUTTON_ERASER = 1 << 5; - // NOTE: If you add a new axis here you must also add it to: // native/include/android/input.h @@ -1183,7 +1176,7 @@ public final class MotionEvent extends InputEvent implements Parcelable { "BUTTON_TERTIARY", "BUTTON_BACK", "BUTTON_FORWARD", - "BUTTON_ERASER", + "0x00000020", "0x00000040", "0x00000080", "0x00000100", @@ -2176,7 +2169,6 @@ public final class MotionEvent extends InputEvent implements Parcelable { * @see #BUTTON_TERTIARY * @see #BUTTON_FORWARD * @see #BUTTON_BACK - * @see #BUTTON_ERASER */ public final int getButtonState() { return nativeGetButtonState(mNativePtr); diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 574313441d15c..411b7142a6dc0 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -3389,6 +3389,14 @@ public class View implements Drawable.Callback2, KeyEvent.Callback, Accessibilit mOnGenericMotionListener = l; } + /** + * Register a callback to be invoked when a hover event is sent to this view. + * @param l the hover listener to attach to this view + */ + public void setOnHoverListener(OnHoverListener l) { + mOnHoverListener = l; + } + /** * Register a drag event listener callback object for this View. The parameter is * an implementation of {@link android.view.View.OnDragListener}. To send a drag event to a diff --git a/native/include/android/input.h b/native/include/android/input.h index 26cac50cb1694..0d8ea2841ea52 100644 --- a/native/include/android/input.h +++ b/native/include/android/input.h @@ -404,7 +404,6 @@ enum { AMOTION_EVENT_BUTTON_TERTIARY = 1 << 2, AMOTION_EVENT_BUTTON_BACK = 1 << 3, AMOTION_EVENT_BUTTON_FORWARD = 1 << 4, - AMOTION_EVENT_BUTTON_ERASER = 1 << 5, }; /* diff --git a/services/input/InputReader.cpp b/services/input/InputReader.cpp index 3e4c66691cb0c..5a25f8cc95849 100644 --- a/services/input/InputReader.cpp +++ b/services/input/InputReader.cpp @@ -154,14 +154,15 @@ static uint32_t getButtonStateForScanCode(int32_t scanCode) { case BTN_LEFT: return AMOTION_EVENT_BUTTON_PRIMARY; case BTN_RIGHT: + case BTN_STYLUS: return AMOTION_EVENT_BUTTON_SECONDARY; case BTN_MIDDLE: + case BTN_STYLUS2: return AMOTION_EVENT_BUTTON_TERTIARY; case BTN_SIDE: return AMOTION_EVENT_BUTTON_BACK; - case BTN_EXTRA: - return AMOTION_EVENT_BUTTON_FORWARD; case BTN_FORWARD: + case BTN_EXTRA: return AMOTION_EVENT_BUTTON_FORWARD; case BTN_BACK: return AMOTION_EVENT_BUTTON_BACK; @@ -176,8 +177,7 @@ static uint32_t getButtonStateForScanCode(int32_t scanCode) { static bool isPointerDown(int32_t buttonState) { return buttonState & (AMOTION_EVENT_BUTTON_PRIMARY | AMOTION_EVENT_BUTTON_SECONDARY - | AMOTION_EVENT_BUTTON_TERTIARY - | AMOTION_EVENT_BUTTON_ERASER); + | AMOTION_EVENT_BUTTON_TERTIARY); } static int32_t calculateEdgeFlagsUsingPointerBounds(