Screen on/off flow Created with Raphaël 2.1.2 PhoneWindowManager PhoneWindowManager PowerManagerServices PowerManagerServices DisplayManagerService DisplayManagerService DisplayPowerController DisplayPowerController DisplayControllerHandler DisplayControllerHandler DisplayPowerState DisplayPowerState mScreenUpdateRunnable mScreenUpdateRunnable PhotonicModulator PhotonicModulator LocalDisplayAdapter LocalDisplayAdapter SurfaceControl SurfaceControl SurfaceComposerClient SurfaceComposerClient hwcomposer.h hwcomposer.h qcom/hwc qcom/hwc powerPress interceptKeyBeforeQueueing goToSleep goToSleepInternal updatePowerStateLocked updateDisplayPowerStateLocked requestPowerState requestPowerState sendUpdatePowerStateLocked handleMessage updatePowerState animateScreenStateChange setScreenState setScreenState scheduleScreenUpdate postScreenUpdateThreadSafe removeCallbacks post setState run(mLock.notifyAll) requestDisplayState LocalService.blanker.requestDisplayState requestGlobalDisplayStateInternal updateGlobalDisplayStateLocked updateDisplayStateLocked requestDisplayStateLocked setDisplayPowerMode nativeSetDisplayPowerMode setDisplayPowerMode setPowerMode hwc_setPowerMode