diff options
author | Mike Playle <mike.playle@realvnc.com> | 2010-11-29 16:01:03 +0000 |
---|---|---|
committer | Mike Playle <mike.playle@realvnc.com> | 2010-12-02 16:25:46 +0000 |
commit | c6ded10dd1ee08c887d0e81d683a7611fbe3ca4d (patch) | |
tree | 8c49fb439a2e9427634fc869798f866d42b1469e | |
parent | e1de3f390e7be3f82fa5e3e5bf6d6c8cc8414091 (diff) | |
download | base-c6ded10dd1ee08c887d0e81d683a7611fbe3ca4d.tar.gz |
Preserve flags field of event passed to injectKeyEvent()
This patch allows users of WindowManagerService.injectKeyEvent() to
set flags on the key event being injected.
In particular this allows long presses (FLAG_LONG_PRESS) to be
injected into the window manager.
-rw-r--r-- | services/java/com/android/server/WindowManagerService.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java index dd4aeabfbf0c..6e1b63ae535f 100644 --- a/services/java/com/android/server/WindowManagerService.java +++ b/services/java/com/android/server/WindowManagerService.java @@ -5488,12 +5488,13 @@ public class WindowManagerService extends IWindowManager.Stub int metaState = ev.getMetaState(); int deviceId = ev.getDeviceId(); int scancode = ev.getScanCode(); + int flags = ev.getFlags(); if (eventTime == 0) eventTime = SystemClock.uptimeMillis(); if (downTime == 0) downTime = eventTime; KeyEvent newEvent = new KeyEvent(downTime, eventTime, action, code, repeatCount, metaState, - deviceId, scancode, KeyEvent.FLAG_FROM_SYSTEM); + deviceId, scancode, flags | KeyEvent.FLAG_FROM_SYSTEM); final int pid = Binder.getCallingPid(); final int uid = Binder.getCallingUid(); |