diff options
author | Colin Cross <ccross@android.com> | 2012-06-07 00:16:02 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2012-06-07 14:01:22 -0700 |
commit | dccb2c16e5201e87b0bc7be778f7ef2d9d043783 (patch) | |
tree | 1d0300a7a3b8e2681c8535dcecb3da0f85a21b06 /services/jni | |
parent | e4beeb8e3c4fc94c4273330980bbd89a6da5a48d (diff) | |
download | frameworks_base-dccb2c16e5201e87b0bc7be778f7ef2d9d043783.zip frameworks_base-dccb2c16e5201e87b0bc7be778f7ef2d9d043783.tar.gz frameworks_base-dccb2c16e5201e87b0bc7be778f7ef2d9d043783.tar.bz2 |
PowerManagerService: call surfaceflinger blank and unblank through binder
Synchronize with SurfaceFlinger during screen off and on to ensure that
a black frame has been drawn on the display, and then trigger all early
suspend handlers on devices that have early suspend, as well as PowerHAL
operations.
Change-Id: I8a5ad5a84c9e80ce5bb8f7f0b09b064e2b9ad4ef
Diffstat (limited to 'services/jni')
-rw-r--r-- | services/jni/com_android_server_PowerManagerService.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/services/jni/com_android_server_PowerManagerService.cpp b/services/jni/com_android_server_PowerManagerService.cpp index 0904bdd..2b8715c 100644 --- a/services/jni/com_android_server_PowerManagerService.cpp +++ b/services/jni/com_android_server_PowerManagerService.cpp @@ -177,12 +177,15 @@ static void nativeReleaseWakeLock(JNIEnv *env, jobject clazz, jstring idObj) { } static int nativeSetScreenState(JNIEnv *env, jobject clazz, jboolean on) { + sp<ISurfaceComposer> s(ComposerService::getComposerService()); if (on) { autosuspend_disable(); if (gPowerModule) { gPowerModule->setInteractive(gPowerModule, true); } + s->unblank(); } else { + s->blank(); if (gPowerModule) { gPowerModule->setInteractive(gPowerModule, false); } |