summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2011-03-02 19:23:13 -0800
committerJeff Brown <jeffbrown@google.com>2011-03-02 19:57:07 -0800
commit56194ebec6212e229f4ccdaa4b187166d20013ef (patch)
tree51276000061ba703b6ddda32ecce3ce10a06f4f5 /libs
parent05dc66ada6b61a6bdf806ffaa62617ac5394695d (diff)
downloadframeworks_base-56194ebec6212e229f4ccdaa4b187166d20013ef.zip
frameworks_base-56194ebec6212e229f4ccdaa4b187166d20013ef.tar.gz
frameworks_base-56194ebec6212e229f4ccdaa4b187166d20013ef.tar.bz2
Wake screen from external HID peripherals.
Added some plumbing to enable the policy to intercept motion events when the screen is off to handle wakeup if needed. Added a basic concept of an external device to limit the scope of the wakeup policy to external devices only. The wakeup policy for internal devices should be based on explicit rules such as policy flags in key layout files. Moved isTouchEvent to native. Ensure the dispatcher sends the right event type to userActivity for non-touch pointer events like HOVER_MOVE and SCROLL. Bug: 3193114 Change-Id: I15dbd48a16810dfaf226ff7ad117d46908ca4f86
Diffstat (limited to 'libs')
-rw-r--r--libs/ui/Input.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/ui/Input.cpp b/libs/ui/Input.cpp
index a80320e..0ed0866 100644
--- a/libs/ui/Input.cpp
+++ b/libs/ui/Input.cpp
@@ -616,6 +616,23 @@ status_t MotionEvent::writeToParcel(Parcel* parcel) const {
}
#endif
+bool MotionEvent::isTouchEvent(int32_t source, int32_t action) {
+ if (source & AINPUT_SOURCE_CLASS_POINTER) {
+ // Specifically excludes HOVER_MOVE and SCROLL.
+ switch (action & AMOTION_EVENT_ACTION_MASK) {
+ case AMOTION_EVENT_ACTION_DOWN:
+ case AMOTION_EVENT_ACTION_MOVE:
+ case AMOTION_EVENT_ACTION_UP:
+ case AMOTION_EVENT_ACTION_POINTER_DOWN:
+ case AMOTION_EVENT_ACTION_POINTER_UP:
+ case AMOTION_EVENT_ACTION_CANCEL:
+ case AMOTION_EVENT_ACTION_OUTSIDE:
+ return true;
+ }
+ }
+ return false;
+}
+
// --- InputDeviceInfo ---