replicant-frameworks_native/libs/utils
Jeff Brown a665ca805c Input dispatcher ANR handling enhancements.
This change is essentially a rewrite of the main input dispatcher loop
with the target identification folded in.  Since the input dispatcher now
has all of the window state, it can make better decisions about
when to ANR.

Added a .5 second deadline for processing app switch keys.  This behavior
predates Gingerbread but had not previously been ported.

Fixed some timing inaccuracies in the ANR accounting that could cause
applications to ANR sooner than they should have.

Added a mechanism for tracking key and motion events that have been
dispatched to a window so that appropriate cancelation events can be
synthesized when recovering from ANR.  This change helps to keep
applications in sync so they don't end up with stuck buttons upon
recovery from ANRs.

Added more comments to describe the tricky parts of PollLoop.

Change-Id: I13dffca27acb436fc383980db536abc4d8b9e6f1
2010-09-12 16:52:03 -07:00
..
tests
Android.mk
Asset.cpp
AssetDir.cpp
AssetManager.cpp
BackupData.cpp
BackupHelpers.cpp
BufferedTextOutput.cpp
CallStack.cpp
Debug.cpp
FileMap.cpp
Flattenable.cpp
misc.cpp
MODULE_LICENSE_APACHE2
NOTICE
ObbFile.cpp
PollLoop.cpp
Pool.cpp
README
RefBase.cpp
ResourceTypes.cpp
SharedBuffer.cpp
Static.cpp
StopWatch.cpp
StreamingZipInflater.cpp
String8.cpp
String16.cpp
StringArray.cpp
SystemClock.cpp
TextOutput.cpp
Threads.cpp
Timers.cpp
VectorImpl.cpp
ZipFileCRO.cpp
ZipFileRO.cpp
ZipUtils.cpp

Android Utility Function Library

If you need a feature that is native to Linux but not present on other
platforms, construct a platform-dependent implementation that shares
the Linux interface.  That way the actual device runs as "light" as
possible.

If that isn't feasible, create a system-independent interface and hide
the details.

The ultimate goal is *not* to create a super-duper platform abstraction
layer.  The goal is to provide an optimized solution for Linux with
reasonable implementations for other platforms.