summaryrefslogtreecommitdiffstats
path: root/libs
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | Change to new binder implementation for OBBKenny Root2010-10-111-1/+4
| | | | | | | | | | | | | | | | | | | | Change-Id: I3282df361a11fc37e94bc5ba4bd5860ae62a10e4
* | | | | Merge "OBB: rearrange to be entirely asynchronous" into gingerbreadKenny Root2010-10-112-5/+7
|\ \ \ \ \ | |/ / / /
| * | | | OBB: rearrange to be entirely asynchronousKenny Root2010-10-112-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rearrange structure of MountService handling of OBBs to be entirely asynchronous so we don't rely on locking as much. We still need the locking to support dumpsys which has been improved to output all the data structures for OBBs. Added more tests to cover more of the error return codes. Oh and fix a logic inversion bug. Change-Id: I34f541192dbbb1903b24825889b8fa8f43e6e2a9
* | | | | Fix an event injection bug when the policy is bypassed.Jeff Brown2010-10-111-33/+30
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added the concept of a "trusted" event to distinguish between events from attached input devices or trusted injectors vs. other applications. This change enables us to move certain policy decisions out of the dispatcher and into the policy itself where they can be handled more systematically. Change-Id: I4d56fdcdd31aaa675d452088af39a70c4e039970
* | | | Added more robust tracking and cancelation of events.Jeff Brown2010-10-102-314/+389
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes several issues where events would be dropped in the input dispatch pipeline in such a way that the dispatcher could not accurately track the state of the input device. Given more robust tracking, we can now also provide robust cancelation of input events in cases where an application might otherwise become out of sync with the event stream due to ANR, app switch, policy decisions, or forced focus transitions. Pruned some of the input dispatcher log output. Moved the responsibility for calling intercept*BeforeQueueing into the input dispatcher instead of the input reader and added support for early interception of injected events for events coming from trusted sources. This enables behaviors like injection of media keys while the screen is off, haptic feedback of injected virtual keys, so injected events become more "first class" in a way. Change-Id: Iec6ff1dd21e5f3c7feb80ea4feb5382bd090dbd9
* | | | Minor fix for InputReader support for non-touchscreen devices.Jeff Brown2010-10-071-1/+1
| | | | | | | | | | | | | | | | Change-Id: I2256e37dd1c6f3836f82786aae14ee5d0c98f4c6
* | | | Switch Looper back to using poll() instead of epoll().Jeff Brown2010-10-072-45/+254
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a couple of micro-optimizations to avoid calling wake() unnecessarily and reduce JNI overhead slightly. Fixed a minor issue where we were not clearing the "next" field of Messages returned by the MessageQueue so the Message would hold on to its successor and potentially prevent the GC from collecting it if the message were leaked somehow. Change-Id: I488d29417ce0cdd7d0e447cda76ec978ef7f811c
* | | | Make secure views tolerate IME overlays.Jeff Brown2010-10-051-27/+30
| | | | | | | | | | | | | | | | Change-Id: I3cf09b9d91045f4d9c558b4aace482a7b0bbd3d8
* | | | fix [2835280] Add support for cancelling buffers to ANativeWindowMathias Agopian2010-10-042-11/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a new ANativeWindow::cancelBuffer() API that can be used to cancel any dequeued buffer, BEFORE it's been enqueued. The buffer is returned to the list of availlable buffers. dequeue and cancel are not mutually thread safe, they must be called from the same thread or external synchronization must be used. Change-Id: I86cc7985bace8b6a93ad2c75d2bef5c3c2cb4d61
* | | | Merge "refactored screenshot code" into gingerbreadMathias Agopian2010-10-042-2/+58
|\ \ \ \
| * | | | refactored screenshot codeMathias Agopian2010-10-042-2/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the core screenshot function now can capture the screen at any lower resolution performing bilinear filtering. we also now have some client code to interface with the screenshot service. it's now possible to request a screenshot at a lower resolution. Change-Id: I33689bba98507ab928d0898b21596d0d2fe4b953
* | | | | Use pread() in ZipFileRO for LinuxKenny Root2010-10-041-1/+32
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AssetManager instances are created by zygote and passed to all its children so that they don't have to individually open frameworks-res.apk. This creates a problem for determining the current file offset when using lseek() on those files, because you can't guarantee the cross-process locking of a mutex. Luckily, Linux implements pread() to get around this suckiness. The problem is that only Linux implements this, so we have to keep the old locking for use on host builds with aapt and friends. aapt doesn't have this same problem of sharing file descriptors across forked processes, so we can keep the local AutoMutex to protect accesses of those files. Change-Id: Ibe9f11499a53fe345f50fbaea438815ec0fd363e
* | | | Merge "ZipFileRO: moar logging and wrap close" into gingerbreadKenny Root2010-10-041-7/+19
|\ \ \ \
| * | | | ZipFileRO: moar logging and wrap closeKenny Root2010-10-011-7/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is apparently still a race upon reading the entry Local File Header that can't be tracked down, so move the LFH check inside the mutex-protected block so we can call lseek again to see where we are when we log an error. Also, close() can fail so use TEMP_FAILURE_RETRY on it so we don't unwittingly leak file descriptors when Mean Mr. EINTR comes a-knocking. Change-Id: I753abad0bd882fe28f7281c406fa76f64393ef4c
* | | | | Wait for initial device scan to finish before updating config.Jeff Brown2010-10-012-26/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change narrows the opportunity for a race condition setting the resource Configuration while devices are being updated. Change-Id: I58efa563f4129ab0fce7108511d16a99dff7e451
* | | | | Minor logging changes to input dispatcher to help with debugging.Jeff Brown2010-10-013-70/+138
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added dumpsys reporting to EventHub. Made the formatting a bit clearer. Added 'Locked' suffix to some internal methods of EventHub. Change-Id: Ic449560bcce378f6361895d27c66854e9724abb0
* | | | Support haptic feedback for virtual keys defined in key layout.Jeff Brown2010-10-011-5/+5
| | | | | | | | | | | | | | | | Change-Id: I83e4108a87332692e03791dc066206becbc7941f
* | | | Move verbose logging of device capabilities to dumpsys.Jeff Brown2010-09-301-138/+161
| | | | | | | | | | | | | | | | Change-Id: I5d55eaebfdf049bd1ac1e7bab2758886cfefc9d7
* | | | Update OBB API to include callbacksKenny Root2010-09-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a callback for users of the StorageManager API to be able to receive notifications when the requested operation completes for mountObb and unmountObb. Add NDK API to get to ObbInfo like the Java API has. Also update the docs for the API and remove the "STOPSHIP" comments. Change-Id: I23a4409c7f8b74d3169614beba920b4d667990a4
* | | | Fix bug in split touches.Jeff Brown2010-09-281-1/+2
| | | | | | | | | | | | | | | | Change-Id: I808c2201a06938f82817058059f4ddcc9b1a9ae2
* | | | Fix pointer index when splitting secondary pointers.Jeff Brown2010-09-271-0/+8
| | | | | | | | | | | | | | | | Change-Id: Ib01e810ea5b64501b1303000bbef0f0a1db2114e
* | | | Merge "Add suuport for splitting touch events across windows." into gingerbreadJeff Brown2010-09-272-321/+563
|\ \ \ \
| * | | | Add suuport for splitting touch events across windows.Jeff Brown2010-09-262-321/+563
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This feature is currently used to enable dragging the start and end selection handles of a TextView at the same time. Could be used for other things later. Deleted some dead code in ArrowKeyMovementMethod and CursorControllers. Change-Id: I930accd97ca1ca1917aab8a807db2c950fc7b409
* | | | | Merge changes I1f7c4535,I741c68a2 into gingerbreadMathias Agopian2010-09-241-0/+28
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * changes: simple test app for screen capture API add support for [1974164] Be able to take a screen shot on the device
| * | | | | add support for [1974164] Be able to take a screen shot on the deviceMathias Agopian2010-09-241-0/+28
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | screenshots are taken using ISurfaceComposer::captureScreen() which returns the size of the screenshot and an IMemoryHeap containing the data. screenshots have limitations: - they will always fail if a secure window is up on screen - require GL_OES_framebuffer_object extension - in some situation, video planes won't been captured Change-Id: I741c68a2d2984fb139039301c3349e6780e2cd58
* | | | | Merge "Some debugging support." into gingerbreadDianne Hackborn2010-09-241-0/+14
|\ \ \ \ \
| * | | | | Some debugging support.Dianne Hackborn2010-09-241-0/+14
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - New feature to "am monitor" to have it automatically launch gdbserv for you when a crash/ANR happens, and tell you how to run the client. - Update dumpstate to match new location of binder debug logs - Various commented out logs that are being used to track down issues. Change-Id: Ia5dd0cd2df983a1fc6be697642a4590aa02a26a5
* | | | | Revert "Revert "Free created FileMap when uncompressing files""Kenny Root2010-09-241-5/+9
| | | | | | | | | | | | | | | | | | | | This revert reverts commit a19ef306bd0a257c67b50f5e0e669e9fe52b0889.
* | | | | Add locking around ZIP seekingKenny Root2010-09-241-10/+17
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we switched to seeking to the LFH to verify its existence instead of a huge mmap of the file, we have to guarantee that another seek doesn't happen before we finish our read on the LFH. Change-Id: If8135d9cb6f2f5cc4db734eafa4f6b5f6269c62a
* | | | Looper: use pthread_once for TLS key initialization.Jeff Brown2010-09-211-15/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also fix a Valgrind complaint by zeroing out the entire epoll event struct since otherwise the data field union would be partly uninitialized (but not in a harmful way). Change-Id: I2091ce517e87fcad7c9caf90e2c5e4854a7ca465
* | | | Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.Wu-cheng Li2010-09-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This constant is not public yet. Continuous autofocus should behave differently in still camera and camcorder. In camcorder, lens movement may be more smooth. And the triggers to start a new focus search may be different. If there is a need, FOCUS_MODE_CONTINUOUS_PHOTO can be added in the future. Change-Id: I05df9e491aca37829be3df92a73b952f26c86a4a
* | | | Reduce lock thrashing in native Looper.Jeff Brown2010-09-171-32/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the common case, there is nothing interesting happening on the native Looper besides occasional wake ups. There is no point grabbing the semaphore then. Change-Id: Ib5c426d0e158dfa37891b7ff5537b6f833592fad
* | | | Merge "Fix sim-eng build on Hardy" into gingerbreadBrian Carlstrom2010-09-161-0/+8
|\ \ \ \
| * | | | Fix sim-eng build on HardyBrian Carlstrom2010-09-161-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Older glibc version do not include BSD htole32 and htole64 which are present in bionic. This worksaround a sim-eng build issue by only using htole32/htole64 if the host is not little endian. Change-Id: Ia8d0d36285f3c34c51a331790458e52a21c2925f
* | | | | Fix typo which causes sensors to fail miserablyMathias Agopian2010-09-161-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ieca18fc089e2bdf7d049f213836971b54d11cd76
* | | | | Merge "part of fix for [3004226] Cannot end the call - Proximity sensor ↵Mathias Agopian2010-09-161-2/+16
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | doesn't work" into gingerbread
| * | | | | part of fix for [3004226] Cannot end the call - Proximity sensor doesn't workMathias Agopian2010-09-161-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - In SensorEventQueue, only bail on errors from Looper::loopOnce - Improve sensor error logging Change-Id: Ib3cf8d5d9fdac8513a3d753155827e0feeda1662
* | | | | | Merge "Ensure input dispatcher and native looper handles EINTR." into ↵Jeff Brown2010-09-162-6/+19
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | gingerbread
| * | | | | Ensure input dispatcher and native looper handles EINTR.Jeff Brown2010-09-162-6/+19
| |/ / / / | | | | | | | | | | | | | | | Change-Id: I0a42db5f273b9bfe4ab174e4ee65d5d852f9f6bc
* | | | | Fix app switch latency optimization.Jeff Brown2010-09-161-48/+75
|/ / / / | | | | | | | | | | | | | | | | | | | | This optimization was broken due to recent changes in how ANRs are handled. Change-Id: Ic99248a12755fadac8d4893e7d305b773e038d3d
* | | | Merge "Input API review." into gingerbreadJeff Brown2010-09-161-3/+0
|\ \ \ \
| * | | | Input API review.Jeff Brown2010-09-141-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop currently unsupported input features. Add documentation comments. Change-Id: I407d2e1dd90c5ee82983a3ccf177430d35ee7592
* | | | | Fix input dispatcher regression on launcher drag&drop.Jeff Brown2010-09-161-49/+30
| | | | | | | | | | | | | | | | | | | | Change-Id: I40e937bd712cd2ed6cceac95dfd1b8c8e070724f
* | | | | Fix NPE when handling certain kinds of ANRs.Jeff Brown2010-09-161-4/+6
| | | | | | | | | | | | | | | | | | | | Change-Id: Iccef1852e52c84f6f49d30c491431460a10b33d3
* | | | | Make input dispatcher only ANR for foreground windows.Jeff Brown2010-09-151-393/+269
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Redesigned the input dispatcher's ANR timeout mechanism so it is much closer to Froyo's policy. ANR is only ever signalled if the dispatcher is waiting on a window to finish processing its previous event(s) and there is new pending input. In the old code, we tracked the dispatch timeout separately for each input channel. This was somewhat complicated and also resulted in the situation where applications could ANR long after the user had pushed them into the background. Change-Id: I666ecada0952d4b95f1d67b9f733842b745c7f4b
* | | | Merge "Replace epoll() with poll() and rename PollLoop to Looper." into ↵Jeff Brown2010-09-148-781/+835
|\ \ \ \ | | | | | | | | | | | | | | | gingerbread
| * | | | Replace epoll() with poll() and rename PollLoop to Looper.Jeff Brown2010-09-148-781/+835
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As part of this change, consolidated and cleaned up the Looper API so that there are fewer distinctions between the NDK and non-NDK declarations (no need for two callback types, etc.). Removed the dependence on specific constants from sys/poll.h such as POLLIN. Instead looper.h defines events like LOOPER_EVENT_INPUT for the events that it supports. That should help make any future under-the-hood implementation changes easier. Fixed a couple of compiler warnings along the way. Change-Id: I449a7ec780bf061bdd325452f823673e2b39b6ae
* | | | | Add logging of various important graphics eventsMathias Agopian2010-09-134-4/+135
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are 16 events logged in the event log: SF_APP_DEQUEUE_BEFORE SF_APP_DEQUEUE_AFTER SF_APP_LOCK_BEFORE SF_APP_LOCK_AFTER SF_APP_QUEUE SF_REPAINT SF_COMPOSITION_COMPLETE SF_UNLOCK_CLIENTS SF_SWAP_BUFFERS SF_REPAINT_DONE SF_FB_POST_BEFORE SF_FB_POST_AFTER SF_FB_DEQUEUE_BEFORE SF_FB_DEQUEUE_AFTER SF_FB_LOCK_BEFORE SF_FB_LOCK_AFTER all events log the buffer conserned and a timestamp in microseconds. by default the logging is not enabled, to turn it on: adb shell service call SurfaceFlinger 1006 i31 1 adb shell setprop debug.graphic_log 1 The effect is immediate in SurfaceFlinger, but applications need to be restarted. Change-Id: Ifc2e31f7aed072d9a7dede20ff2ce59231edbec1
* | | | Input dispatcher ANR handling enhancements.Jeff Brown2010-09-124-502/+1881
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Always set the scheduling group when starting a new thread.Dianne Hackborn2010-09-091-16/+23
| | | | | | | | | | | | | | | | Change-Id: Ia33acf13fc3752707f3819928c36315e223fa1bd