In testing, I observed one instance of a call failing due to a signal
sent to the process. This could happen at various times so it's better
to be safe than sorry.
Bug: 20534809
Change-Id: I42242087300d8b840a50aec34aa6b2e1507cab50
Wait for the early suspend transition to finish to the point where
surfaceflinger would previously have synchronized. This is important
during screen on, to ensure the display early suspend handlers have
completed before surfaceflinger unblanks.
Change-Id: I91ac0253d9655c3f1ae3dd7f1a918c279568b23e
SurfaceFlinger and PowerManagerService manage their synchronization
without the help of early suspend, and SurfaceFlinger no longer unblocks
early suspend. Add a new thread when early suspend is detected that will
immediately unblock early suspend.
Change-Id: I87ef4984a2ab34cbbb3af8b7762236b9a92dc2ea
libsuspend provides functions autosuspend_enable() and
autosuspend_disable() to trigger suspend on a variety of different
kernels.
Change-Id: I5dc28fb51532fa7c514330f1cfde7698d31d734c