summaryrefslogtreecommitdiffstats
path: root/include/utils/Looper.h
Commit message (Collapse)AuthorAgeFilesLines
* Make libutils Looper independent of frameworks/nativeBrian Carlstrom2013-12-181-23/+112
| | | | Change-Id: I1dacca10a3cd7601abc3451b69ed761bf71c38fe
* Add new Looper API to check whether the looper is idle.Dianne Hackborn2013-07-301-0/+11
| | | | | | | | This is just to support the watchdog to give it a faster way to determine if a thread is deadlocked without having to post a message to it. Change-Id: I068dc8b9387caf94fe5811fb4aeb0f9b57b1a080
* Support looper callbacks based on smart pointers.Jeff Brown2013-07-301-2/+52
| | | | | Bug: 6559630 Change-Id: I5a667f219f431838638acefbc9fa6afa610971bd
* Delete unused poll() code.Jeff Brown2013-07-301-29/+0
| | | | | | | We don't need this code anymore and it is just in the way. Bug: 6559630 Change-Id: I1dc9decf85d5ea1feab159c2985da6c20baffdd5
* Remove unused statistics code.Jeff Brown2013-07-301-21/+0
| | | | | Bug: 6559630 Change-Id: Iacdf4bb4c1c125c09305cbd8cb443c7c80cfc010
* Fade out the mouse pointer after inactivity or other events.Jeff Brown2013-07-301-0/+107
| | | | | | | | | | | | | | Fades out the mouse pointer: - after 15 seconds of inactivity normally - after 3 seconds of inactivity in lights out mode - after a non-modifier key down - after a touch down Extended the native Looper to support enqueuing time delayed messages. This is used by the PointerController to control pointer fade timing. Change-Id: I87792fea7dbe2d9376c78cf354fe3189a484d9da
* Revert to using epoll_wait().Jeff Brown2013-07-301-4/+4
| | | | | | | This change depends on the kernel having been patched to use hrtimers instead of jiffies for scheduling epoll timeouts. Change-Id: I216bc1c4f565e67ebcb3d2ba4280cb615932bb9e
* Switch Looper back to using poll() instead of epoll().Jeff Brown2013-07-301-3/+59
| | | | | | | | | | | | 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
* Looper: use pthread_once for TLS key initialization.Jeff Brown2013-07-301-0/+1
| | | | | | | | 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
* Looper: Drop default parameters in favor of a safer overload.Jeff Brown2013-07-301-6/+9
| | | | | | | | | | | The idea is that if you're writing code that wants fd/events/data on return from pollOnce() / pollAll() you should really pass in all of those arguments. When I changed the Looper API earlier, it was difficult to ensure that all callers were passing the right parameters since they were relying on default parameters to some degree so usage mistakes would not have been caught by the compiler. Change-Id: I1f2812894270aaf1515017ac1616b6b312d9b565
* Replace epoll() with poll() and rename PollLoop to Looper.Jeff Brown2013-07-301-0/+210
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