Native lib:
system/core/libsuspend/
hardware/libhardware/modules/power/
system/core/libcutils/android_reboot.c
linux提供了三种接口供android suspend来选择,分别是autosleep、earlysuspend、wakeup_count。其中前两个是google 在kernel中添加的功能,后一个是linux kernel本身拥有的功能。
JNI:
frameworks/base/services/jni/com_android_server_power_PowerManagerService.cpp
Framework:
frameworks/base/services/java/com/android/server/power/
API:
frameworks/base/core/java/android/os/PowerManager.java