android_system_core/include/utils
Jeff Brown 4ccb2fc8e1 Refactor input reader to add stylus support.
Bug: 5064702

Introduced the concept of an InputListener to further decouple
the InputReader from the InputDispatcher.  The InputListener
exposes just the minimum interface that the InputReader needs
to communicate with the outside world.  The InputReader
passes arguments to the InputListener by reference, which makes
it easy to queue them up.

Consolidated all of the InputReader locks into one simple global
Mutex.  The reason this wasn't done before was due to potential
re-entrance in outbound calls to the InputDispatcher.  To fix this,
the InputReader now queues up all of the events it wants to send
using a QueuedInputListener, then flushes them outside of the
critical section after all of the event processing is finished.
Removing all of the InputMapper locks greatly simplifies the
implementation.

Added tests for new stylus features such as buttons, tool types,
and hovering.

Added some helpers to BitSet32 to handle common code patterns
like finding the first marked bit and clearing it.

Fixed a bug in VelocityTracker where the wrong pointer trace
could get cleared when handling ACTION_POINTER_DOWN.  Oops.

Changed PointerCoords so it no longer stores useless zero
axis values.  Removed editAxisValue because it is not very
useful when all zero value axes are absent and therefore
cannot be edited in place.

Added dispatch of stylus hover events.

Added support for distance and tool types.

Change-Id: I4cf14d134fcb1db7d10be5f2af7b37deef8f8468
2013-07-30 13:56:57 -07:00
..
ashmem.h auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
Asset.h Change assets to use 64-bit API 2013-07-30 13:56:55 -07:00
AssetDir.h auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
AssetManager.h Runtime resource overlay, iteration 1. 2013-07-30 13:56:56 -07:00
Atomic.h auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
BackupHelpers.h Full local backup infrastructure 2013-07-30 13:56:56 -07:00
BitSet.h Refactor input reader to add stylus support. 2013-07-30 13:56:57 -07:00
BlobCache.h Use rand() for MinGW 2013-07-30 13:56:57 -07:00
BufferedTextOutput.h auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
ByteOrder.h Implement the C++ class to write the backed up file data. 2013-07-30 13:56:50 -07:00
CallStack.h dump callstack on Surface use error 2013-07-30 13:56:55 -07:00
Compat.h Change assets to use 64-bit API 2013-07-30 13:56:55 -07:00
Debug.h Support for marshalling pointers / intptr_t in Parcel. 2013-07-30 13:56:52 -07:00
Endian.h auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
Errors.h fix [2068105] implement queueBuffer/lockBuffer/dequeueBuffer properly 2013-07-30 13:56:52 -07:00
FileMap.h Change assets to use 64-bit API 2013-07-30 13:56:55 -07:00
Flattenable.h remove a dependency of GraphicBuffer (libui) on Parcel (libbinder). 2013-07-30 13:56:52 -07:00
Functor.h Modify the GL renderer's functor to pass the clip to WebView 2013-07-30 13:56:56 -07:00
GenerationCache.h Add TextLayout Cache 2013-07-30 13:56:56 -07:00
KeyedVector.h fix KeyedVector::replaceValueAt, which wouldn't even compile if used. 2013-07-30 13:56:49 -07:00
LinearTransform.h Add a linear transform library to libutils 2013-07-30 13:56:57 -07:00
List.h Fix sim build. 2013-07-30 13:56:51 -07:00
Log.h auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
Looper.h Fade out the mouse pointer after inactivity or other events. 2013-07-30 13:56:56 -07:00
misc.h get rid of utils.h 2013-07-30 13:56:50 -07:00
ObbFile.h OBB: use PBKDF2 for key generation. 2013-07-30 13:56:55 -07:00
PropertyMap.h Add initial support for cursor-based pointing devices. 2013-07-30 13:56:55 -07:00
RefBase.h Revert "merge various SF fixes from gingerbread to honeycomb-mr2" (DO NOT MERGE) 2013-07-30 13:56:57 -07:00
ResourceTypes.h Enforce public resource restriction on bag parents. 2013-07-30 13:56:56 -07:00
SharedBuffer.h auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
Singleton.h Purge Skia objects from GL caches as needed. 2013-07-30 13:56:54 -07:00
SortedVector.h SF transactions are now O(1) wrt IPC instead of O(N). 2013-07-30 13:56:57 -07:00
StopWatch.h Native input dispatch rewrite work in progress. 2013-07-30 13:56:53 -07:00
StreamingZipInflater.h Change assets to use 64-bit API 2013-07-30 13:56:55 -07:00
String8.h Bug 4016329 do full string comparisons 2013-07-30 13:56:56 -07:00
String16.h Split UTF functions from String8/16 2013-07-30 13:56:55 -07:00
StringArray.h rename string_array.h to StringArray.h and move the implementation from the header file to a new cpp file. 2013-07-30 13:56:50 -07:00
StrongPointer.h Fix sp<> conversion operator / constructor 2013-07-30 13:56:56 -07:00
SystemClock.h auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
TextOutput.h some work to try to reduce the code size of some native libraries 2013-07-30 13:56:50 -07:00
threads.h Add C++ thread API androidGetThreadSchedulingGroup 2013-07-30 13:56:57 -07:00
Timers.h Refactor how timeouts are calculated. 2013-07-30 13:56:56 -07:00
Tokenizer.h Improve support for external keyboards. 2013-07-30 13:56:55 -07:00
TypeHelpers.h Fix some issues with RefBase debugging. 2013-07-30 13:56:56 -07:00
Unicode.h Split UTF functions from String8/16 2013-07-30 13:56:55 -07:00
Vector.h SF transactions are now O(1) wrt IPC instead of O(N). 2013-07-30 13:56:57 -07:00
VectorImpl.h Even more native input dispatch work in progress. 2013-07-30 13:56:53 -07:00
ZipFileCRO.h Change assets to use 64-bit API 2013-07-30 13:56:55 -07:00
ZipFileRO.h Move extract native libraries to JNI code 2013-07-30 13:56:57 -07:00
ZipUtils.h auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00