电视遥控器,短端走待机(str待机)流程, 长按是关机,走关机流程,记录下待机流程。
参考博客
待机流程
Android P引入自动待机功能,只有存在WakeLock,wakeup_count就不会为0,每次acquire wake_lock会让wakeup_count加1,而release wake_lock会让wakeup_count减1,当wakeup_count为0则autosuspend会重新待机下去
相关代码
frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java
hardware/interfaces/power/1.0/default/Power.cpp
hardware/realtek/power/power.cpp
hardware/realtek/power/power.cpp
代码流程
goToSleepInternal()
–>goToSleepNoUpdateLocked()
–>setWakefulnessLocked(WAKEFULNESS_DOZING);
updatePowerStateLocked()
–> updateDisplayPowerStateLocked() //关闭屏幕
–> updateDreamLocked() //更新屏保状态
–> finishWakefulnessChangeIfNeededLocked()
–>mNotifier.onWakefulnessChangeFinished() //通知AMS, WMS系统状态改变。
–&