This factors out the boiler-plate code from the sample app to a common glue code that can be used for everyone writing this style of app: a dedicated app thread that takes care of waiting for events and processing them. As part of doing this, ALooper has a new facility to allow registration of fds that cause ALooper_pollOnce() to return the fd that has data, allowing the app to drive the loop without callbacks. Hopefully this makes some people feel better. :) Also do some other cleanup of the ALooper API, plus some actual documentation. Change-Id: Ic53bd56bdf627e3ba28a3c093faa06a92be522b8 |
||
|---|---|---|
| .. | ||
| 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 | ||
| 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.