replicant-frameworks_native/include/ui
Jeff Brown eb8b9d8a22 Fix crashes caused by some input devices.
The touch screen sometimes reports more than 10 pointers even though that's
all we asked for.  When this happens, we start dropping events with more
than 10 pointers.  This confuses applications and causes them to crash.
Raised the limit to 16 pointers.
Bug: 3331247

The default behavior was to identify all touch devices as touch screens.
External devices that are plugged in are more likely to be touch pads
not attached to a screen.  Changed the default to be a touch pad
and renamed some internal constants to avoid confusion.

A certain mouse happens to also behave like a touch pad.  That caused
problems because we would see multiple concurrent traces of motion events
coming from the same input device so we would batch them up.
Added code to ensure that we don't batch events unless they come from
the same *source* in addition to coming from the same *device*.

Due to batching or misbehaving drivers, it's possible for the set of
pointer ids to be different from what we expect when it comes time to
split motion events across windows.  As a result, we can generate motion
events with 0 pointers.  When we try to deliver those events, we cause
an error in the InputTransport so we tear down the InputChannel and kill
the application.
Added code to check out assumption about pointer ids and drop the
event gracefully instead.

Patched up the tests to take into account the change in default behavior
for identifying touch screens and touch pads.

Change-Id: Ic364bd4cb4cc6335d4a1213a26d6bdadc7e33505
2011-01-25 16:02:22 -08:00
..
egl fix [2835280] Add support for cancelling buffers to ANativeWindow 2010-10-04 20:10:11 -07:00
android_native_buffer.h Add incStrong and decStrong methods to android_native_{window,buffer}_t. 2010-05-10 17:33:32 -07:00
DisplayInfo.h Mouse pointer integration. 2011-01-04 17:31:24 -08:00
EGLNativeSurface.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
EGLUtils.h added EGLUtils::strerror 2009-08-07 16:37:21 -07:00
FramebufferNativeWindow.h surfaceflinger: add support for gralloc dump hooks 2010-12-08 15:40:11 -08:00
GraphicBuffer.h Add the SurfaceTexture C++ implementation. 2011-01-06 13:20:47 -08:00
GraphicBufferAllocator.h [3171580] don't automatically log GraphicBuffer allocation failures 2010-12-03 17:33:09 -08:00
GraphicBufferMapper.h fix [2167050] glTexImage2D code path buggy in SurfaceFlinger 2009-10-06 17:00:25 -07:00
GraphicLog.h fix a typo where the eventtags code were wrong 2010-09-15 12:46:59 -07:00
Input.h Fix crashes caused by some input devices. 2011-01-25 16:02:22 -08:00
InputTransport.h Add support for fallback keycodes. 2010-12-07 17:35:26 -08:00
Keyboard.h Improve support for external keyboards. 2010-12-02 16:01:32 -08:00
KeyCharacterMap.h Add support for fallback keycodes. 2010-12-07 17:35:26 -08:00
KeycodeLabels.h Add support for fallback keycodes. 2010-12-07 17:35:26 -08:00
KeyLayoutMap.h Added support for full PC-style keyboards. 2010-11-18 09:49:03 -08:00
PixelFormat.h fix a bug I introduced recently where YUV formats would crash the system 2010-02-16 20:43:39 -08:00
Point.h minor clean-up to Rect and Point. 2009-05-26 17:47:39 -07:00
PowerManager.h The CHEEK_TOUCH stuff never worked. Remove it. 2010-11-08 13:02:58 -08:00
Rect.h Add ANativeWindow API for directly drawing to the surface bits. 2010-07-09 16:58:19 -07:00
Region.h Remove a dependency of Region (libui) on Parcel (libbinder). 2010-02-17 20:26:47 -08:00
VirtualKeyMap.h Improve support for external keyboards. 2010-12-02 16:01:32 -08:00