Handle different scale and offset for pointers in InputTarget.
This change allows an InputTarget to have multiple pointers in different scale and offsets. This was done by using an array to store each pointerId to PointerInfo. PointerInfo contains the information that's unique to each pointer, scale and offset. Once the dispatcher is ready to queue the event, the dispatcher will request the InputTarget to gather all it's pointer information and normalize them to a single offset and scale. It will generate a new DispatcherEntry with a new MotionEvent that has all the coordinates in a single offset and scale. It will also set that offset and scale in the MotionEvent so it can be handled properly when sent to the client. Change-Id: I1793725760142e01dc3fe2372f76ecd44ad934b8 Test: InputDispatcherMultiWindowSameTokenTests Test: manually with magnification Test: NexusLauncherOutOfProcTests:TaplTestsLauncher3 Test: NexusLauncherOutOfProcTests:TaplTestsQuickstep Fixes: 140756730 Fixes: 147371357
Loading
Please register or sign in to comment