summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2012-05-03 17:56:47 -0700
committerColin Cross <ccross@android.com>2012-05-03 21:25:41 -0700
commit51d81f3c3e0ca2c04da68e93b7f4981843b74604 (patch)
treeaf4c0d54b172f8f5bbb8445caa46103a730de994 /core
parent1c87360918c81f1cabc7be0760d7e059f2cfa178 (diff)
downloadframeworks_base-51d81f3c3e0ca2c04da68e93b7f4981843b74604.zip
frameworks_base-51d81f3c3e0ca2c04da68e93b7f4981843b74604.tar.gz
frameworks_base-51d81f3c3e0ca2c04da68e93b7f4981843b74604.tar.bz2
Use libsuspend to trigger suspend
Calling to libsuspend to trigger suspend instead of letting the power hal do it. Change-Id: I3cf51fea4d288f9fc19ce5aae39cdd581e8b44cb
Diffstat (limited to 'core')
-rw-r--r--core/jni/Android.mk1
-rw-r--r--core/jni/android_os_Power.cpp11
2 files changed, 10 insertions, 2 deletions
diff --git a/core/jni/Android.mk b/core/jni/Android.mk
index 523b2d5..cd0959b 100644
--- a/core/jni/Android.mk
+++ b/core/jni/Android.mk
@@ -218,6 +218,7 @@ LOCAL_SHARED_LIBRARIES := \
libusbhost \
libharfbuzz \
libz \
+ libsuspend \
ifeq ($(USE_OPENGL_RENDERER),true)
LOCAL_SHARED_LIBRARIES += libhwui
diff --git a/core/jni/android_os_Power.cpp b/core/jni/android_os_Power.cpp
index 48845f6..a201d8b 100644
--- a/core/jni/android_os_Power.cpp
+++ b/core/jni/android_os_Power.cpp
@@ -24,6 +24,7 @@
#include <hardware/power.h>
#include <hardware_legacy/power.h>
#include <cutils/android_reboot.h>
+#include <suspend/autosuspend.h>
static struct power_module *sPowerModule;
@@ -70,8 +71,14 @@ setLastUserActivityTimeout(JNIEnv *env, jobject clazz, jlong timeMS)
static int
setScreenState(JNIEnv *env, jobject clazz, jboolean on)
{
- if (sPowerModule)
- sPowerModule->setInteractive(sPowerModule, on);
+ if (on) {
+ autosuspend_disable();
+ sPowerModule->setInteractive(sPowerModule, true);
+ } else {
+ sPowerModule->setInteractive(sPowerModule, false);
+ autosuspend_enable();
+ }
+
return 0;
}