Bug 1122850 - Use setPowerMode interface for HWC 1.4 and above. r=dwilson

This commit is contained in:
Sushil Chauhan 2015-02-05 12:30:54 -08:00
parent 99d31c0110
commit 1f5c5361a5

View File

@ -136,8 +136,18 @@ GonkDisplayJB::GonkDisplayJB()
GRALLOC_USAGE_HW_COMPOSER);
mList = (hwc_display_contents_1_t *)malloc(sizeof(*mList) + (sizeof(hwc_layer_1_t)*2));
if (mHwc)
if (mHwc) {
#if ANDROID_VERSION >= 21
if (mHwc->common.version >= HWC_DEVICE_API_VERSION_1_4) {
mHwc->setPowerMode(mHwc, HWC_DISPLAY_PRIMARY, HWC_POWER_MODE_NORMAL);
} else {
mHwc->blank(mHwc, HWC_DISPLAY_PRIMARY, 0);
}
#else
mHwc->blank(mHwc, HWC_DISPLAY_PRIMARY, 0);
#endif
}
ALOGI("Starting bootanimation with (%d) format framebuffer", surfaceformat);
StartBootAnimation();
@ -171,11 +181,24 @@ GonkDisplayJB::SetEnabled(bool enabled)
mEnabledCallback(enabled);
}
#if ANDROID_VERSION >= 21
if (mHwc) {
if (mHwc->common.version >= HWC_DEVICE_API_VERSION_1_4) {
mHwc->setPowerMode(mHwc, HWC_DISPLAY_PRIMARY,
(enabled ? HWC_POWER_MODE_NORMAL : HWC_POWER_MODE_OFF));
} else {
mHwc->blank(mHwc, HWC_DISPLAY_PRIMARY, !enabled);
}
} else if (mFBDevice && mFBDevice->enableScreen) {
mFBDevice->enableScreen(mFBDevice, enabled);
}
#else
if (mHwc && mHwc->blank) {
mHwc->blank(mHwc, HWC_DISPLAY_PRIMARY, !enabled);
} else if (mFBDevice && mFBDevice->enableScreen) {
mFBDevice->enableScreen(mFBDevice, enabled);
}
#endif
if (enabled && mEnabledCallback) {
mEnabledCallback(enabled);