summaryrefslogtreecommitdiff
path: root/libs/input/KeyLayoutMap.cpp
diff options
context:
space:
mode:
author Robert Carr <racarr@google.com> 2018-08-02 16:38:15 -0700
committer Robert Carr <racarr@google.com> 2018-11-14 17:47:09 -0800
commit803535b9e0285cb80f40979cc465ed31d9365a9c (patch)
tree0f758048e09e5db3f6f4697758054d9c5088075b /libs/input/KeyLayoutMap.cpp
parent2c358bf8206d591a4707d33fd2ca45f0dc5360f7 (diff)
InputDispatcher: Track InputChannels by IBinder token.
In the context of passing input through SurfaceFlinger we need to change the way InputWindowHandles are passed back to the WindowManager. In the past the InputDispatcher and the WindowManager have been in the same process. This is taken advantange of by having the InputDispatcher pass back the same object to the WindowManager (say in interceptKeyBeforeQueueing) which was passed in from the WindowManager originally (in setInputWindows) this means if the WindowManager needs to assosciate a WindowState with a given InputWindowHandle it could just piggy back some information on a subclass of the object and cast it when receiving back from the Input subsystem. Since the objects will be parcelled across IPC boundaries now and the WM will not be the caller of setInputWindows, this mechanism won't work. Instead we ask the WindowManager to provide an IBinder token at registration time, which we can parcel through the process as a UUID. We provide this token back to Policy callbacks to enable the WindowManager to look up it's local state. Bug: 80101428 Bug: 113136004 Bug: 111440400 Test: Manual Change-Id: Ia828eb61082240f38d82f89e04956da108f636de
Diffstat (limited to 'libs/input/KeyLayoutMap.cpp')
0 files changed, 0 insertions, 0 deletions