not exactly sure, I was looking in all the usual places in /etc for suspend/resume type stuff and there wasn't any of that, no acpi etc. - doing global "find /" for things like hibernate, sleep, suspend, resume etc. - and nothing.
smarter way to go about it would be to watch adb as it hibernates and see what's called... so I did, and it looks like the window manager gets notified and has X seconds to hold onto a lock (whatever you've set in your settings menu e.g. mine is 15 seconds) before the power manager suspends the machine.
(also: looking at adb, the echo to sys power state I mentioned above, doesn't really do anything - it looks like it tries, but just doesn't follow through.)
so, looks like it's all sys event calls to the kernel (which still surprises me a little, given that they change the background on the reader site when it hibernates)
doubt this is particularly helpful, but here's the log as it hibernates:
Code:
W/WindowManager( 7401): lid closed state ON
D/WindowManager( 7401): aquiring hibernate wake lock for 15000 millisec
D/PowerManagerService( 7401): mLocks.size=1
D/PowerManagerService( 7401): PARTIAL_WAKE_LOCK 'PhoneWindowManager.mLidOpenWakeLock' activated (minState=0)
D/WindowManager( 7401): releasing LidOpenWakeLock
D/PowerManagerService( 7401): inspecting PhoneWindowManager.mHibernateTimeoutWakeLock
D/PowerManagerService( 7401): sparing PhoneWindowManager.mHibernateTimeoutWakeLock
I/power ( 7401): *** set_screen_state 0
D/WifiService( 7401): ACTION_SCREEN_OFF
D/WifiService( 7401): setting ACTION_DEVICE_IDLE timer for 900000ms
D/StatusBar( 7401): DISABLE_EXPAND: yes
I/SettingsAppWidgetProvider(17187): Received event: android.intent.action.CLOSE_SYSTEM_DIALOGS
I/WindowManager( 7401): rotationForOrientationLw: orientation: 5
I/WindowManager( 7401): rotationForOrientationLw: lastRotation: 0
I/WindowManager( 7401): using EsiOrientationPolicy, rotation is: 0
D/GoogleLoginService( 7545): onBind: Intent { act=android.accounts.AccountAuthenticator cmp=com.google.android.gsf/.loginservice.GoogleLoginService }
D/dalvikvm( 7545): GC_EXPLICIT freed 1183 objects / 62632 bytes in 45ms
D/dalvikvm(17194): GC_EXPLICIT freed 7 objects / 280 bytes in 40ms
D/WindowManager( 7401): Releasing hibernate wake lock
D/PowerManagerService( 7401): mLocks.size=0
D/PowerManagerService( 7401): SysWakeLock i2c-pxa count/expired/wake=2573424/0/21 activeSince=0 LastChange=9452077
D/PowerManagerService( 7401): SysWakeLock main count/expired/wake=38/0/0 activeSince=0 LastChange=9441820
D/PowerManagerService( 7401): SysWakeLock PowerManagerService count/expired/wake=24/0/0 activeSince=839509 LastChange=8616921
D/PowerManagerService( 7401): --- Release Kernel wakelock via Power.releaseWakeLock
D/PowerManagerService( 7401): SysWakeLock PowerManagerService count/expired/wake=24/0/0 activeSince=0 LastChange=9456440
D/PowerManagerService( 7401): SysWakeLock i2c-pxa count/expired/wake=2573424/0/21 activeSince=0 LastChange=9452077
D/PowerManagerService( 7401): SysWakeLock main count/expired/wake=38/0/0 activeSince=0 LastChange=9441820